<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/ironic-python-agent.git/ironic_python_agent/tests/unit/test_agent.py, branch 7.0.2</title>
<subtitle>opendev.org: openstack/ironic-python-agent.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/'/>
<entry>
<title>Coalesce heartbeats</title>
<updated>2021-06-25T16:36:20+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2021-06-17T15:44:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=fe898e22c5f97c02f2872b0f5bc607bb2a706666'/>
<id>fe898e22c5f97c02f2872b0f5bc607bb2a706666</id>
<content type='text'>
The IPA sends heartbeats to the conductor periodically and when
requested, e.g. at the end of asynchronous commands. In order
to avoid to send such notifications in too quick succession,
e.g. when two asynchronous commands finish at the same time or
when the periodic heartbeat was just sent right before a command
ended, this patch proposes to coalesce heartbeats which are
close together timewise and send only one for all of them
in a time interval of 5 seconds.

Co-Authored-By: Arne Wiebalck &lt;arne.wiebalck@cern.ch&gt;

Story: #2008983
Task: 42633

Change-Id: Idfbce44065e1e5a8b730b94741b2604c51f0ab14
(cherry picked from commit b605943796c24a174f0709b84170e0c6de7f4238)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The IPA sends heartbeats to the conductor periodically and when
requested, e.g. at the end of asynchronous commands. In order
to avoid to send such notifications in too quick succession,
e.g. when two asynchronous commands finish at the same time or
when the periodic heartbeat was just sent right before a command
ended, this patch proposes to coalesce heartbeats which are
close together timewise and send only one for all of them
in a time interval of 5 seconds.

Co-Authored-By: Arne Wiebalck &lt;arne.wiebalck@cern.ch&gt;

Story: #2008983
Task: 42633

Change-Id: Idfbce44065e1e5a8b730b94741b2604c51f0ab14
(cherry picked from commit b605943796c24a174f0709b84170e0c6de7f4238)
</pre>
</div>
</content>
</entry>
<entry>
<title>Log configuration options on start-up</title>
<updated>2020-11-11T15:38:10+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2020-11-11T12:49:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=c585603ee6a4ee052fc7e87534dee959af0f3381'/>
<id>c585603ee6a4ee052fc7e87534dee959af0f3381</id>
<content type='text'>
This is very convenient for debugging and is something ironic and
ironic-inspector already do.

Register SSL options earlier so that they're accounted for.

Change-Id: I56aca8eec1dfeb065ac657452a7076a9e3d17cc3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is very convenient for debugging and is something ironic and
ironic-inspector already do.

Register SSL options earlier so that they're accounted for.

Change-Id: I56aca8eec1dfeb065ac657452a7076a9e3d17cc3
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Simplify heartbeating by removing use of select()"</title>
<updated>2020-09-29T15:47:08+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-09-29T15:47:08+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=faeb9441d3a3536a6cff7e52300f3e50ac4b648e'/>
<id>faeb9441d3a3536a6cff7e52300f3e50ac4b648e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify heartbeating by removing use of select()</title>
<updated>2020-09-22T16:59:47+00:00</updated>
<author>
<name>Jay Faulkner</name>
<email>jay.faulkner@verizonmedia.com</email>
</author>
<published>2020-08-18T17:19:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=a01646f56b3074df0756af4147fa8c5f5735681a'/>
<id>a01646f56b3074df0756af4147fa8c5f5735681a</id>
<content type='text'>
Heartbeating in IPA has used select.poll() for years to workaround
a bug where changing the time in the ramdisk could cause heartbeats
to stop and never resume.

Now that IPA syncs time at start and exit, this workaround is no
longer needed. So instead, we'll revert to using threading.Event()
in order to make the code simpler and easier to understand.

Since we need this to be an eventlet-event, and not a standard-thread
event, also monkey_patch threading.

Additionally, there were a few completely unused backoff interval
values set, that were never applied. In respect of maintaining the
5+ years old behavior of not doing error backoffs, that code was
removed instead of being made to work.

Change-Id: Ibcde99de64bb7e95d5df63a42a4ca4999f0c4c9b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Heartbeating in IPA has used select.poll() for years to workaround
a bug where changing the time in the ramdisk could cause heartbeats
to stop and never resume.

Now that IPA syncs time at start and exit, this workaround is no
longer needed. So instead, we'll revert to using threading.Event()
in order to make the code simpler and easier to understand.

Since we need this to be an eventlet-event, and not a standard-thread
event, also monkey_patch threading.

Additionally, there were a few completely unused backoff interval
values set, that were never applied. In respect of maintaining the
5+ years old behavior of not doing error backoffs, that code was
removed instead of being made to work.

Change-Id: Ibcde99de64bb7e95d5df63a42a4ca4999f0c4c9b
</pre>
</div>
</content>
</entry>
<entry>
<title>Generate a TLS certificate and send it to ironic</title>
<updated>2020-09-11T15:46:52+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2020-09-04T11:52:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=021e0a6a4660135f06fc7c4d0a4b0c76b8772a7f'/>
<id>021e0a6a4660135f06fc7c4d0a4b0c76b8772a7f</id>
<content type='text'>
Adds a new flag (on by default) that enables generating a TLS
certificate and sending it to ironic via heartbeat. Whether
ironic supports auto-generated certificates is determined by
checking its API version.

Change-Id: I01f83dd04cfec2adc9e2a6b9c531391773ed36e5
Depends-On: https://review.opendev.org/747136
Depends-On: https://review.opendev.org/749975
Story: #2007214
Task: #40604
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a new flag (on by default) that enables generating a TLS
certificate and sending it to ironic via heartbeat. Whether
ironic supports auto-generated certificates is determined by
checking its API version.

Change-Id: I01f83dd04cfec2adc9e2a6b9c531391773ed36e5
Depends-On: https://review.opendev.org/747136
Depends-On: https://review.opendev.org/749975
Story: #2007214
Task: #40604
</pre>
</div>
</content>
</entry>
<entry>
<title>If listen_tls is true, enable TLS on wsgi server</title>
<updated>2020-09-02T23:07:42+00:00</updated>
<author>
<name>Jay Faulkner</name>
<email>jay.faulkner@verizonmedia.com</email>
</author>
<published>2020-08-20T14:49:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=1d11f0b7dd9d2044cc8fce3b20f5851a4e6a94a8'/>
<id>1d11f0b7dd9d2044cc8fce3b20f5851a4e6a94a8</id>
<content type='text'>
This change enables operators to set [DEFAULT]listen_tls to
true configure IPA to be host its WSGI server over TLS using
existing SSL support in oslo.service.

In addition to configuring this in IPA, a deployer will need to
also set [ssl]cert_file, [ssl]key_file, and optionally
[ssl]ca_file in their ipa config, in addition to embedding those
files into the IPA ramdisk in order for this to be functional.

In order to make this change work, we also need to monkey patch
socket library early, or else oslo.service will end up passing an
unpatched socket to the eventlet wsgi server, which causes
deadlocks.

Change-Id: Ib7decae410915f3c27b045ee08538c94d455b030
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change enables operators to set [DEFAULT]listen_tls to
true configure IPA to be host its WSGI server over TLS using
existing SSL support in oslo.service.

In addition to configuring this in IPA, a deployer will need to
also set [ssl]cert_file, [ssl]key_file, and optionally
[ssl]ca_file in their ipa config, in addition to embedding those
files into the IPA ramdisk in order for this to be functional.

In order to make this change work, we also need to monkey patch
socket library early, or else oslo.service will end up passing an
unpatched socket to the eventlet wsgi server, which causes
deadlocks.

Change-Id: Ib7decae410915f3c27b045ee08538c94d455b030
</pre>
</div>
</content>
</entry>
<entry>
<title>Make WSGI server respect listen_* directives</title>
<updated>2020-08-31T14:37:38+00:00</updated>
<author>
<name>Jay Faulkner</name>
<email>jay.faulkner@verizonmedia.com</email>
</author>
<published>2020-08-28T22:25:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=7d0ad36ebd350a7162bc3c33bbefd26b9e962a78'/>
<id>7d0ad36ebd350a7162bc3c33bbefd26b9e962a78</id>
<content type='text'>
The listen_port and listen_host directives are intended to allow
deployers of IPA to change the port and host IPA listens on. These
configs have not been obeyed since the migration to the oslo.service
wsgi server.

Story: 2008016
Task: 40668
Change-Id: I76235a6e6ffdf80a0f5476f577b055223cdf1585
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The listen_port and listen_host directives are intended to allow
deployers of IPA to change the port and host IPA listens on. These
configs have not been obeyed since the migration to the oslo.service
wsgi server.

Story: 2008016
Task: 40668
Change-Id: I76235a6e6ffdf80a0f5476f577b055223cdf1585
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Adds poll mode deployment support"</title>
<updated>2020-07-22T19:53:31+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-07-22T19:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=bfb395837dddb244b268166008efed4a19e5fc1f'/>
<id>bfb395837dddb244b268166008efed4a19e5fc1f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit Inspection-&gt;Lookup-&gt;Heartbeat lag</title>
<updated>2020-07-03T08:32:26+00:00</updated>
<author>
<name>Julia Kreger</name>
<email>juliaashleykreger@gmail.com</email>
</author>
<published>2020-07-02T17:14:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=c76b8b2c217d57680baec977b374e821304198f9'/>
<id>c76b8b2c217d57680baec977b374e821304198f9</id>
<content type='text'>
Caches hardware information collected during inspection
so that the initial lookup can occur without any delay.

Also adds logging to track how long inventory collection takes.

Co-Authored-By: Dmitry Tantsur &lt;dtantsur@protonmail.com&gt;
Change-Id: I3e0d237d37219e783d81913fa6cc490492b3f96a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Caches hardware information collected during inspection
so that the initial lookup can occur without any delay.

Also adds logging to track how long inventory collection takes.

Co-Authored-By: Dmitry Tantsur &lt;dtantsur@protonmail.com&gt;
Change-Id: I3e0d237d37219e783d81913fa6cc490492b3f96a
</pre>
</div>
</content>
</entry>
<entry>
<title>Adds poll mode deployment support</title>
<updated>2020-06-21T08:44:00+00:00</updated>
<author>
<name>Kaifeng Wang</name>
<email>kaifeng.w@gmail.com</email>
</author>
<published>2019-11-13T09:22:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=61c95554ff07420f8c57e97b9b4a5af909258012'/>
<id>61c95554ff07420f8c57e97b9b4a5af909258012</id>
<content type='text'>
Adds a new poll extension to provide get_hardware_info and get_node_info
interfaces.

get_hardware_info will be used for node validation by ironic deploy
drivers.

get_node_info will be used for sending lookup data to IPA.

standalone mode is assumed as debug only, but it's not the case
considering the poll mode will be introduced, slightly updates the
description, also prevents the mdns lookup when standalone is true.

Story: 1526486
Task: 28724

Change-Id: I5ad772a18cc4584585c5a7b6fb127547cece1998
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a new poll extension to provide get_hardware_info and get_node_info
interfaces.

get_hardware_info will be used for node validation by ironic deploy
drivers.

get_node_info will be used for sending lookup data to IPA.

standalone mode is assumed as debug only, but it's not the case
considering the poll mode will be introduced, slightly updates the
description, also prevents the mdns lookup when standalone is true.

Story: 1526486
Task: 28724

Change-Id: I5ad772a18cc4584585c5a7b6fb127547cece1998
</pre>
</div>
</content>
</entry>
</feed>
