<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/ironic-python-agent.git/ironic_python_agent/extensions/clean.py, branch 2.2.4</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>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>
<entry>
<title>Fix Sphinx Autodoc WARNING/ERROR in docs build</title>
<updated>2015-03-31T23:22:57+00:00</updated>
<author>
<name>Jay Faulkner</name>
<email>jay@jvf.cc</email>
</author>
<published>2015-03-31T22:41:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=8bad5bbac3fd980e726cd67e0a8dadef40d6e4ec'/>
<id>8bad5bbac3fd980e726cd67e0a8dadef40d6e4ec</id>
<content type='text'>
The docstrings here were all giving WARNINGs or ERRORs during the docs
build, and were generally making unappealing looking developer
documentation. I corrected the syntax and did what was neccessary to
make the build come out clean.

Change-Id: I74b00a7f125770b0468cff3bdf26d0d52cd054d7
(cherry picked from commit c0921cdff372ce1fd6df1c4ab4eb5463e2cba0e4)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The docstrings here were all giving WARNINGs or ERRORs during the docs
build, and were generally making unappealing looking developer
documentation. I corrected the syntax and did what was neccessary to
make the build come out clean.

Change-Id: I74b00a7f125770b0468cff3bdf26d0d52cd054d7
(cherry picked from commit c0921cdff372ce1fd6df1c4ab4eb5463e2cba0e4)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cleaning/zapping support to IPA</title>
<updated>2015-03-18T00:07:04+00:00</updated>
<author>
<name>Josh Gachnang</name>
<email>josh@pcsforeducation.com</email>
</author>
<published>2015-03-04T01:46:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=5f4fa7f27ef33ca0c8ce4fe6917b1866ce8a8f56'/>
<id>5f4fa7f27ef33ca0c8ce4fe6917b1866ce8a8f56</id>
<content type='text'>
This will add support for in band cleaning operations to IPA and
replace the decom API that was unused.

Adds API support for get_clean_steps, which returns a list of
supported clean steps for the node, execute_clean_step, to execute
one of the steps returned by get_clean_steps.

Adds versioning and naming for hardware managers, so if a new hardware
manager version is deployed in the middle of cleaning/zapping, the
cleaning/zapping will be restarted to avoid incompatabilities.

blueprint implement-cleaning-states
blueprint inband-raid-configuration
blueprint implement-zaping-states
Depends-On: Ia2500ed5afb72058b4c5e8f41307169381cbce48
Change-Id: I750b80b9bf98b3ddc5643bb4c14a67d2052239af
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will add support for in band cleaning operations to IPA and
replace the decom API that was unused.

Adds API support for get_clean_steps, which returns a list of
supported clean steps for the node, execute_clean_step, to execute
one of the steps returned by get_clean_steps.

Adds versioning and naming for hardware managers, so if a new hardware
manager version is deployed in the middle of cleaning/zapping, the
cleaning/zapping will be restarted to avoid incompatabilities.

blueprint implement-cleaning-states
blueprint inband-raid-configuration
blueprint implement-zaping-states
Depends-On: Ia2500ed5afb72058b4c5e8f41307169381cbce48
Change-Id: I750b80b9bf98b3ddc5643bb4c14a67d2052239af
</pre>
</div>
</content>
</entry>
</feed>
