<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/ironic-python-agent.git/ironic_python_agent/extensions/clean.py, branch 8.2.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>Trivial: minor fixes in error messages</title>
<updated>2021-09-07T12:41:38+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2021-09-07T12:41:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=cb836a29bf046b948567552037819e8183f8ce15'/>
<id>cb836a29bf046b948567552037819e8183f8ce15</id>
<content type='text'>
Change-Id: I06b32c2eb576520cddff88074e4619070731017d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I06b32c2eb576520cddff88074e4619070731017d
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an ability to run in-band deploy steps</title>
<updated>2020-04-06T08:24:08+00:00</updated>
<author>
<name>Mark Goddard</name>
<email>mark@stackhpc.com</email>
</author>
<published>2019-12-12T17:13: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=1b4ce47921b6a09fbf2894b021217a87d82fe7aa'/>
<id>1b4ce47921b6a09fbf2894b021217a87d82fe7aa</id>
<content type='text'>
Mostly adaptation of cleaning methods.

Co-Authored-By: Dmitry Tantsur &lt;dtantsur@redhat.com&gt;
Change-Id: Ife0502391bbece46d619a20a825dfdb191d5c2b4
Story: 2006963
Task: 37791
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mostly adaptation of cleaning methods.

Co-Authored-By: Dmitry Tantsur &lt;dtantsur@redhat.com&gt;
Change-Id: Ife0502391bbece46d619a20a825dfdb191d5c2b4
Story: 2006963
Task: 37791
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace WSME and Pecan with Werkzeug</title>
<updated>2019-12-04T15:50:47+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2019-11-19T17:19: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=f1b2df908a0f13b81ecd36a1376e55ce14503b06'/>
<id>f1b2df908a0f13b81ecd36a1376e55ce14503b06</id>
<content type='text'>
WSME is no longer maintained and Pecan is an overkill for our (purely
internal) API. This change rewrites the API in Werkzeug (the library
underneath Flask). I don't use Flask here since it's also an overkill
for API with 4 meaningful endpoints.

Change-Id: Ifed45f70869adf00e795202a53a2a53c9c57ef30
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
WSME is no longer maintained and Pecan is an overkill for our (purely
internal) API. This change rewrites the API in Werkzeug (the library
underneath Flask). I don't use Flask here since it's also an overkill
for API with 4 meaningful endpoints.

Change-Id: Ifed45f70869adf00e795202a53a2a53c9c57ef30
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a mis-formatted log message</title>
<updated>2017-10-27T16:16:25+00:00</updated>
<author>
<name>John L. Villalovos</name>
<email>john.l.villalovos@intel.com</email>
</author>
<published>2017-10-27T16:16: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=c3acbde396501996bca0373bb2e55c11a88b2651'/>
<id>c3acbde396501996bca0373bb2e55c11a88b2651</id>
<content type='text'>
The log message was missing the type specifier.

Change-Id: Ia5ee5e79bc75c11541cbc328385b046d1e798ddd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The log message was missing the type specifier.

Change-Id: Ia5ee5e79bc75c11541cbc328385b046d1e798ddd
</pre>
</div>
</content>
</entry>
<entry>
<title>Get root device hints from the node object</title>
<updated>2016-05-26T13:52:15+00:00</updated>
<author>
<name>Lucas Alvares Gomes</name>
<email>lucasagomes@gmail.com</email>
</author>
<published>2016-05-19T09:48: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=33535cd572b90a817b9c96b42a0d2fe54751351d'/>
<id>33535cd572b90a817b9c96b42a0d2fe54751351d</id>
<content type='text'>
In order to support a more complex syntax for root device hints (e.g
operators: greater than, less than, in, etc...) we need to stop relying
on the kernel command line for passing the root device hints. This patch
changes this approach by getting the root device hints from a cached
node object that was set in the hardware module.

Two new functions: "cache_node" and "get_cached_node" were added to the
hardware module. The idea is to facilitate the access to a node object
representation from the hardware extension methods without changing
method signatures, which would break compatibility with out-of-tree
hardware managers.

Note that the new "get_cached_node" is just a guard function to
facilitate the tests for the code.

The function parse_root_device_hints() and its tests were removed since
it's not used/needed anymore.

Partial-Bug: #1561137
Change-Id: I830fe7da1a59b46e348213b6f451c2ee55f6008c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to support a more complex syntax for root device hints (e.g
operators: greater than, less than, in, etc...) we need to stop relying
on the kernel command line for passing the root device hints. This patch
changes this approach by getting the root device hints from a cached
node object that was set in the hardware module.

Two new functions: "cache_node" and "get_cached_node" were added to the
hardware module. The idea is to facilitate the access to a node object
representation from the hardware extension methods without changing
method signatures, which would break compatibility with out-of-tree
hardware managers.

Note that the new "get_cached_node" is just a guard function to
facilitate the tests for the code.

The function parse_root_device_hints() and its tests were removed since
it's not used/needed anymore.

Partial-Bug: #1561137
Change-Id: I830fe7da1a59b46e348213b6f451c2ee55f6008c
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow hardware managers to override clean step priority</title>
<updated>2016-01-14T21:12:52+00:00</updated>
<author>
<name>Josh Gachnang</name>
<email>josh@pcsforeducation.com</email>
</author>
<published>2015-06-09T22:39:38+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=61b4387b95a7a147a8621dbc538ed30b3bf5c90a'/>
<id>61b4387b95a7a147a8621dbc538ed30b3bf5c90a</id>
<content type='text'>
If two hardware managers have the same clean step, for example
'erase_devices' in the GenericHardwareManager and a custom manager,
IPA must determine which step should be kept and which should be run
in order to prevent running the step multiple times.

This patch uses the following filtering logic to decide which step
"wins":
- Keep the step that belongs to HardwareManager with highest
  HardwareSupport (larger int) value.
- If equal support level, keep the step with the higher defined
  priority (larger int).
- If equal support level and priority, keep the step associated with
  the HardwareManager whose name comes earlier in the alphabet.

Other than individual step priority, picking which step to keep does
not actually impact the cleaning run. However, in order to make
testing easier, this change ensures deterministic, predictable
results.

Co-Authored-By: Mario Villaplana &lt;mario.villaplana@gmail.com&gt;
Co-Authored-By: Jay Faulkner &lt;jay@jvf.cc&gt;
Co-Authored-By: Brad Morgan &lt;brad@morgabra.com&gt;
Change-Id: Iaeea4200c38ee22cab72ba81c1dbae3389e675e4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If two hardware managers have the same clean step, for example
'erase_devices' in the GenericHardwareManager and a custom manager,
IPA must determine which step should be kept and which should be run
in order to prevent running the step multiple times.

This patch uses the following filtering logic to decide which step
"wins":
- Keep the step that belongs to HardwareManager with highest
  HardwareSupport (larger int) value.
- If equal support level, keep the step with the higher defined
  priority (larger int).
- If equal support level and priority, keep the step associated with
  the HardwareManager whose name comes earlier in the alphabet.

Other than individual step priority, picking which step to keep does
not actually impact the cleaning run. However, in order to make
testing easier, this change ensures deterministic, predictable
results.

Co-Authored-By: Mario Villaplana &lt;mario.villaplana@gmail.com&gt;
Co-Authored-By: Jay Faulkner &lt;jay@jvf.cc&gt;
Co-Authored-By: Brad Morgan &lt;brad@morgabra.com&gt;
Change-Id: Iaeea4200c38ee22cab72ba81c1dbae3389e675e4
</pre>
</div>
</content>
</entry>
<entry>
<title>Tuples returned by clean steps cause API error</title>
<updated>2015-09-08T20:44:23+00:00</updated>
<author>
<name>Josh Gachnang</name>
<email>josh@pcsforeducation.com</email>
</author>
<published>2015-09-08T20:44:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=46eb0dfa354e210cff174901fe909fb339cafebf'/>
<id>46eb0dfa354e210cff174901fe909fb339cafebf</id>
<content type='text'>
If a clean step returns a tuple (like the output of
processutils.execute), WSME raises an error about the type. Casting
the result as a list seems to make it work. This is almost certainly
a bug in WSME, but after digging a bit I couldn't find one.

Change-Id: I91cb7a989ab56c0942469e03937945d4a590ad95
Partial-bug: #1493554
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a clean step returns a tuple (like the output of
processutils.execute), WSME raises an error about the type. Casting
the result as a list seems to make it work. This is almost certainly
a bug in WSME, but after digging a bit I couldn't find one.

Change-Id: I91cb7a989ab56c0942469e03937945d4a590ad95
Partial-bug: #1493554
</pre>
</div>
</content>
</entry>
<entry>
<title>Add docstrings for cmd/agent and extensions/clean</title>
<updated>2015-09-03T23:15:54+00:00</updated>
<author>
<name>Jay Faulkner</name>
<email>jay@jvf.cc</email>
</author>
<published>2015-09-03T23:15:54+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=ac040f5152efae491d6205ad62dc2b7d7b670ced'/>
<id>ac040f5152efae491d6205ad62dc2b7d7b670ced</id>
<content type='text'>
Adding documentation for methods in these files that were missing
docstrings.

Change-Id: I2ad9f85605720ab2295dec3d0436ff0af07847c2
Partial-bug: 1367915
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding documentation for methods in these files that were missing
docstrings.

Change-Id: I2ad9f85605720ab2295dec3d0436ff0af07847c2
Partial-bug: 1367915
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix logging levels</title>
<updated>2015-08-04T16:29:44+00:00</updated>
<author>
<name>Josh Gachnang</name>
<email>josh@pcsforeducation.com</email>
</author>
<published>2015-08-04T16:29:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=50875381d828cd49176954eba8c48d77889d66a4'/>
<id>50875381d828cd49176954eba8c48d77889d66a4</id>
<content type='text'>
This is a fixup patch for bde6ed557034bc2eac633ff84f2e9515a5ef14d6,
and should follow the OpenStack Logging Standards.

Change-Id: Ie277c5742ab736f4c5cee1ee1badedf055323515
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a fixup patch for bde6ed557034bc2eac633ff84f2e9515a5ef14d6,
and should follow the OpenStack Logging Standards.

Change-Id: Ie277c5742ab736f4c5cee1ee1badedf055323515
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve IPA logging and exception handling</title>
<updated>2015-07-28T16:37:43+00:00</updated>
<author>
<name>Josh Gachnang</name>
<email>josh@pcsforeducation.com</email>
</author>
<published>2015-06-10T17:46:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=59281ecda8df5bf44c06e9edbc70e9cbfe061052'/>
<id>59281ecda8df5bf44c06e9edbc70e9cbfe061052</id>
<content type='text'>
Debugging the agent is a huge pain point. Tracebacks are rarely logged,
error messages are often only returned via the API, and lack of
info logging makes it hard to determine where some failures occur.
Some errors only return a 500 with no error message or logs.

Change-Id: I0a127de6e4abf62e20d5c5ad583ba46738604d2d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Debugging the agent is a huge pain point. Tracebacks are rarely logged,
error messages are often only returned via the API, and lack of
info logging makes it hard to determine where some failures occur.
Some errors only return a 500 with no error message or logs.

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