<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/ironic-python-agent.git/ironic_python_agent/hardware.py, branch 1.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>Provide fallback from ATA erase to shredding</title>
<updated>2016-06-01T08:23:03+00:00</updated>
<author>
<name>Julia Kreger</name>
<email>juliaashleykreger@gmail.com</email>
</author>
<published>2016-01-21T16:26: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=b6bdaf040f6cde7f069ea355b7b4b12aea60fbd7'/>
<id>b6bdaf040f6cde7f069ea355b7b4b12aea60fbd7</id>
<content type='text'>
Presently should the ATA erasure operation fails, IPA halts the
cleaning process and the node goes to CLEANFAIL state as a result.

This failure could be the result of a previous cleaning failure
that left drive security enabled, for which code has been added
in an attempt to address this case by attempting to unlock the
the drive.

In the event that an operator wishes to automatically fallback to
disk scrubbing operations, the capability has been added through
a driver_internal_info field "agent_continue_if_ata_erase_failed"
that can be set to True, however defaults to False keeping the
same behavior that IPA presently exhibits in the event of ATA
erase operations failing.

Partial-Bug: #1536695
Change-Id: I88edd9477f4f05aa55b2fe8efa4bbff1c5573bb1
(cherry picked from commit ed74a062c19a63a2c05a506c4ed8d3aa4ecfa09e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Presently should the ATA erasure operation fails, IPA halts the
cleaning process and the node goes to CLEANFAIL state as a result.

This failure could be the result of a previous cleaning failure
that left drive security enabled, for which code has been added
in an attempt to address this case by attempting to unlock the
the drive.

In the event that an operator wishes to automatically fallback to
disk scrubbing operations, the capability has been added through
a driver_internal_info field "agent_continue_if_ata_erase_failed"
that can be set to True, however defaults to False keeping the
same behavior that IPA presently exhibits in the event of ATA
erase operations failing.

Partial-Bug: #1536695
Change-Id: I88edd9477f4f05aa55b2fe8efa4bbff1c5573bb1
(cherry picked from commit ed74a062c19a63a2c05a506c4ed8d3aa4ecfa09e)
</pre>
</div>
</content>
</entry>
<entry>
<title>Wait for at least one suitable disk to appear on start up</title>
<updated>2016-05-25T09:43:11+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@redhat.com</email>
</author>
<published>2016-05-24T08:04:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=2ec82a4dcf278c6f7fd94a41998d877a82f76579'/>
<id>2ec82a4dcf278c6f7fd94a41998d877a82f76579</id>
<content type='text'>
Some kernel modules take substantial time to initialize. For example,
with mpt2sas RAID driver inspection and deployment randomly fail
due to IPA starting before the driver finishes initialization.

This problem is probably impossible to solve in a generic case, as
modern Linux environment do not have a notion of "hardware is fully
initialized" moment. All hardware is essentially hotplug.

To solve it at least for the simplest case, this patch adds a wait loop
on start up waiting for at least one suitable disk to appear in inventory.
Note that root device hints are not considered, as the node might not
be known at that moment yet.

Change-Id: Id163ca28f7c140c302ea04947ded3f3c58b284de
Partial-Bug: #1582797
(cherry picked from commit c15ed6a48e36da26576242277aa531720fd15d2d)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some kernel modules take substantial time to initialize. For example,
with mpt2sas RAID driver inspection and deployment randomly fail
due to IPA starting before the driver finishes initialization.

This problem is probably impossible to solve in a generic case, as
modern Linux environment do not have a notion of "hardware is fully
initialized" moment. All hardware is essentially hotplug.

To solve it at least for the simplest case, this patch adds a wait loop
on start up waiting for at least one suitable disk to appear in inventory.
Note that root device hints are not considered, as the node might not
be known at that moment yet.

Change-Id: Id163ca28f7c140c302ea04947ded3f3c58b284de
Partial-Bug: #1582797
(cherry picked from commit c15ed6a48e36da26576242277aa531720fd15d2d)
</pre>
</div>
</content>
</entry>
<entry>
<title>Wait for the interfaces to get IP addresses before inspection</title>
<updated>2016-04-14T15:12:36+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@redhat.com</email>
</author>
<published>2016-04-01T14:36:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=3fba1ee8db0aa0b1519ef2135e602268488570f4'/>
<id>3fba1ee8db0aa0b1519ef2135e602268488570f4</id>
<content type='text'>
In the DIB build the DHCP code (provided by the dhcp-all-interfaces element)
races with the service starting IPA. It does not matter for deployment itself,
as we're waiting for the route to the Ironic API to appear. However, for
inspection it may result in reporting back all NIC's without IP addresses.
Inspection fails in this case.

This change makes inspection wait for *all* NIC's to get their IP addresses up
to a small timeout. The timeout is 60 seconds by default and can be changed
via the new ipa-inspection-dhcp-wait-timeout kernel option (0 to not wait).

After the wait inspection proceedes in any case, so the worst downside
is making inspection 60 seconds longer.

To avoid waiting for NIC's that are not even connected, this change extends the
NetworkInterface class with 'has_carrier' field.

Closes-Bug: #1564954
Change-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66
(cherry picked from commit 3deb25a3cec7955c5e38d83af74add58478f884c)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the DIB build the DHCP code (provided by the dhcp-all-interfaces element)
races with the service starting IPA. It does not matter for deployment itself,
as we're waiting for the route to the Ironic API to appear. However, for
inspection it may result in reporting back all NIC's without IP addresses.
Inspection fails in this case.

This change makes inspection wait for *all* NIC's to get their IP addresses up
to a small timeout. The timeout is 60 seconds by default and can be changed
via the new ipa-inspection-dhcp-wait-timeout kernel option (0 to not wait).

After the wait inspection proceedes in any case, so the worst downside
is making inspection 60 seconds longer.

To avoid waiting for NIC's that are not even connected, this change extends the
NetworkInterface class with 'has_carrier' field.

Closes-Bug: #1564954
Change-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66
(cherry picked from commit 3deb25a3cec7955c5e38d83af74add58478f884c)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Document hardware inventory sent to lookup and inspection"</title>
<updated>2016-03-15T17:04:25+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2016-03-15T17:04: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=dcd1c8f19b3b516ee626f57eb458380352ebdc0f'/>
<id>dcd1c8f19b3b516ee626f57eb458380352ebdc0f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Wait for udev to settle before listing the block devices</title>
<updated>2016-03-02T10:54:51+00:00</updated>
<author>
<name>Lucas Alvares Gomes</name>
<email>lucasagomes@gmail.com</email>
</author>
<published>2016-02-25T16:32:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=055998c81217ededacc95f0f96a4a8bf684fbfe0'/>
<id>055998c81217ededacc95f0f96a4a8bf684fbfe0</id>
<content type='text'>
This patch is making the list_all_block_devices() method to wait for
udev to settle it's event queue prior to listing the devices.

Sometimes the ironic-python-agent service may start before all devices
were detected and end up erroring out because it couldn't find a
suitable disk for deployment.

Closes-Bug: #1551300
Change-Id: I1ae2062a711115a1ea14b79ae9ace7ddd2fff9d5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is making the list_all_block_devices() method to wait for
udev to settle it's event queue prior to listing the devices.

Sometimes the ironic-python-agent service may start before all devices
were detected and end up erroring out because it couldn't find a
suitable disk for deployment.

Closes-Bug: #1551300
Change-Id: I1ae2062a711115a1ea14b79ae9ace7ddd2fff9d5
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduced restriction of parsing for dmidecode output</title>
<updated>2016-02-22T22:46:28+00:00</updated>
<author>
<name>twm2016</name>
<email>TM2086@att.com</email>
</author>
<published>2016-02-16T22:41:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=d66fa523bf400e53190da5e93a95771877885ac7'/>
<id>d66fa523bf400e53190da5e93a95771877885ac7</id>
<content type='text'>
Changed implementation to strip tokens up until the first 'Size: '
string. This will allow for less parsing errors in the first
six lines of the following output:
"dmidecode --type 17 | grep Size" returns:
        Maximum Memory Module Size: 4096 MB
        Maximum Total Memory Size: 8192 MB
        Size: 2048 MB
        Size: 2048 MB

Added a condition in the exception handling to address the
issue of the bug on other outputs like:
        Installed Size: Not Installed
        Enabled Size: Not Installed
        Size: No Module Installed
        Size: 1024 MB

Common strings like "No Module Installed" and "Not Installed" are
normal. These two strings are hard coded in the before mentioned
comparison and when found are logged as warnings instead of errors.

Change-Id: If3475afcebfc7af7e9256b99924919557c4d909c
Closes-Bug: #1521202
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changed implementation to strip tokens up until the first 'Size: '
string. This will allow for less parsing errors in the first
six lines of the following output:
"dmidecode --type 17 | grep Size" returns:
        Maximum Memory Module Size: 4096 MB
        Maximum Total Memory Size: 8192 MB
        Size: 2048 MB
        Size: 2048 MB

Added a condition in the exception handling to address the
issue of the bug on other outputs like:
        Installed Size: Not Installed
        Enabled Size: Not Installed
        Size: No Module Installed
        Size: 1024 MB

Common strings like "No Module Installed" and "Not Installed" are
normal. These two strings are hard coded in the before mentioned
comparison and when found are logged as warnings instead of errors.

Change-Id: If3475afcebfc7af7e9256b99924919557c4d909c
Closes-Bug: #1521202
</pre>
</div>
</content>
</entry>
<entry>
<title>Document hardware inventory sent to lookup and inspection</title>
<updated>2016-02-18T12:32:43+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@redhat.com</email>
</author>
<published>2016-02-02T15:35:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=c9674da220361482b679717e7fca56e34bfa0dca'/>
<id>c9674da220361482b679717e7fca56e34bfa0dca</id>
<content type='text'>
Also add a missing docstring to HardwareManager.list_hardware_info.

Change-Id: Iee3584320f0591398e7761513ff588efeb62886d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add a missing docstring to HardwareManager.list_hardware_info.

Change-Id: Iee3584320f0591398e7761513ff588efeb62886d
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Add 'system_vendor' information to data"</title>
<updated>2016-02-16T18:41:09+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2016-02-16T18:41:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=b5008dcb31ee61a873c4a0e4d924ccf3fe7679cc'/>
<id>b5008dcb31ee61a873c4a0e4d924ccf3fe7679cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 'system_vendor' information to data</title>
<updated>2016-02-15T01:19:17+00:00</updated>
<author>
<name>Yuiko Takada</name>
<email>takada-yuiko@mxn.nes.nec.co.jp</email>
</author>
<published>2016-02-01T08:18:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=3823a53040ef10f0e807e9a29a637b52cac299ab'/>
<id>3823a53040ef10f0e807e9a29a637b52cac299ab</id>
<content type='text'>
This patch set add hardware vendor information to data.
By using this data, we can get hints to detect driver.

Change-Id: I39385fd5d616edfad719c255f22642f215bfb532
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch set add hardware vendor information to data.
By using this data, we can get hints to detect driver.

Change-Id: I39385fd5d616edfad719c255f22642f215bfb532
</pre>
</div>
</content>
</entry>
<entry>
<title>Extend root device hints to support device name</title>
<updated>2016-02-02T10:32:39+00:00</updated>
<author>
<name>Lucas Alvares Gomes</name>
<email>lucasagomes@gmail.com</email>
</author>
<published>2016-01-19T13:36:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=6752ce8032979853beaf2bb3bb7bd3c506123c7f'/>
<id>6752ce8032979853beaf2bb3bb7bd3c506123c7f</id>
<content type='text'>
This patch is extending the root device hints to also look at the device
name. This patch also refactors the tests for root device hints making
it easier to test a different hint per test.

Change-Id: I48d6456c75bbe6ddf16ac6561e5461ca51eb9c37
Partial-Bug: #1526732
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is extending the root device hints to also look at the device
name. This patch also refactors the tests for root device hints making
it easier to test a different hint per test.

Change-Id: I48d6456c75bbe6ddf16ac6561e5461ca51eb9c37
Partial-Bug: #1526732
</pre>
</div>
</content>
</entry>
</feed>
