<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/ironic-python-agent.git/ironic_python_agent, 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>Merge "Use utf-16-le if BOM not present" into stable/xena</title>
<updated>2022-10-25T23:34:43+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2022-10-25T23:34:43+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=57d203ae179fab51da7868532ff35eebb2c37f59'/>
<id>57d203ae179fab51da7868532ff35eebb2c37f59</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use utf-16-le if BOM not present</title>
<updated>2022-10-13T15:29:53+00:00</updated>
<author>
<name>Riccardo Pittau</name>
<email>elfosardo@gmail.com</email>
</author>
<published>2022-02-21T17:18:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=b747d2820a6f3c9f6a1c78738c52fab49b316d26'/>
<id>b747d2820a6f3c9f6a1c78738c52fab49b316d26</id>
<content type='text'>
In case no BOM is present in the CSV file the utf-16 codec won't work.
We fail over to utf-16-le as Little Endian is commonly used.

NOTE: The original change landed this fix in efi_utils.py, however
      that was introduced after the Xena development cycle, so this
      backport moves the original change to where the code originally
      came from to populate the efi_utils.py file.

Change-Id: I3e25ce4997f5dd3df87caba753daced65838f85a
(cherry picked from commit 697fa6f3b6db10408eaadd57450456de87f13519)
(cherry picked from commit 99b9d1403cacd3bbd489a6cf6913f32746ef6083)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case no BOM is present in the CSV file the utf-16 codec won't work.
We fail over to utf-16-le as Little Endian is commonly used.

NOTE: The original change landed this fix in efi_utils.py, however
      that was introduced after the Xena development cycle, so this
      backport moves the original change to where the code originally
      came from to populate the efi_utils.py file.

Change-Id: I3e25ce4997f5dd3df87caba753daced65838f85a
(cherry picked from commit 697fa6f3b6db10408eaadd57450456de87f13519)
(cherry picked from commit 99b9d1403cacd3bbd489a6cf6913f32746ef6083)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix software raid output poisoning</title>
<updated>2022-09-16T21:32:06+00:00</updated>
<author>
<name>Julia Kreger</name>
<email>juliaashleykreger@gmail.com</email>
</author>
<published>2022-08-24T17:15: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=8d033aa4e551cc3974448aca77147a339c749ecc'/>
<id>8d033aa4e551cc3974448aca77147a339c749ecc</id>
<content type='text'>
In the event a device name is set to contain a raid device path,
it is possible for the Name and Events field values of mdadm's
detailed output to contain text which inadvertently gets captured and
mapped as component data for the "holder" devices of the RAID set.

This would cause invalid values to get passed to UEFI methods
which would cause a deployment to fail under these circumstances.

We now ignore the Name and Events fields in mdadm output.

Change-Id: If721dfe1caa5915326482969e55fbf4697538231
(cherry picked from commit f3e3de8097f05cc830768da7d3f3e9eae04b40a1)
(cherry picked from commit 6660e01e1f8a6e7a40b798eea5215b1eddcbe0c3)
(cherry picked from commit 5751f60353f3a4bf325a8c9335d743eec45fbcd1)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the event a device name is set to contain a raid device path,
it is possible for the Name and Events field values of mdadm's
detailed output to contain text which inadvertently gets captured and
mapped as component data for the "holder" devices of the RAID set.

This would cause invalid values to get passed to UEFI methods
which would cause a deployment to fail under these circumstances.

We now ignore the Name and Events fields in mdadm output.

Change-Id: If721dfe1caa5915326482969e55fbf4697538231
(cherry picked from commit f3e3de8097f05cc830768da7d3f3e9eae04b40a1)
(cherry picked from commit 6660e01e1f8a6e7a40b798eea5215b1eddcbe0c3)
(cherry picked from commit 5751f60353f3a4bf325a8c9335d743eec45fbcd1)
</pre>
</div>
</content>
</entry>
<entry>
<title>Gather details about bond interfaces if present</title>
<updated>2022-07-13T12:30:32+00:00</updated>
<author>
<name>Derek Higgins</name>
<email>derekh@redhat.com</email>
</author>
<published>2022-06-16T13:59:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=8c576f14eb688323bf241800d2eae28278991c02'/>
<id>8c576f14eb688323bf241800d2eae28278991c02</id>
<content type='text'>
If present gather information about bonded interfaces.

Story: #2010093
Task: #45637

Change-Id: I394187640b4788ebec21c3391d33ed728fb72ffa
(cherry picked from commit 7e4fe3bf6a2ae41656b7923796f9c2d056a2ed04)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If present gather information about bonded interfaces.

Story: #2010093
Task: #45637

Change-Id: I394187640b4788ebec21c3391d33ed728fb72ffa
(cherry picked from commit 7e4fe3bf6a2ae41656b7923796f9c2d056a2ed04)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix discovering WWN/serial for devicemapper devices</title>
<updated>2022-06-22T13:59:55+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2022-06-14T17:06:53+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=aeea61fce5c07d52acfb9bef35f0730adb639808'/>
<id>aeea61fce5c07d52acfb9bef35f0730adb639808</id>
<content type='text'>
UDev prefix is DM_ not ID_ for them. On top of that, they don't have
short serials (or at least don't always have).

Change-Id: I5b6075fbff72201a2fd620f789978acceafc417b
(cherry picked from commit 69e22545033f544d628f9c4ecd5a665ba0b5b85e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
UDev prefix is DM_ not ID_ for them. On top of that, they don't have
short serials (or at least don't always have).

Change-Id: I5b6075fbff72201a2fd620f789978acceafc417b
(cherry picked from commit 69e22545033f544d628f9c4ecd5a665ba0b5b85e)
</pre>
</div>
</content>
</entry>
<entry>
<title>Multipath Hardware path handling</title>
<updated>2022-06-09T13:21:27+00:00</updated>
<author>
<name>Julia Kreger</name>
<email>juliaashleykreger@gmail.com</email>
</author>
<published>2022-04-07T22:15:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=faf2ee2df8ddf3cba80eaa8acbd8b0cf0225ee10'/>
<id>faf2ee2df8ddf3cba80eaa8acbd8b0cf0225ee10</id>
<content type='text'>
Removes multipath base devices from consideration by
default, and instead allows the device-mapper device
managed by multipath to be picked up and utilized
instead.

In effect, allowing us to ignore standby paths *and*
leverage multiple concurrent IO paths if so offered
via ALUA.

In reality, anyone who has previously built IPA with
multipath tooling might not have encountered issues
previously because they used Active/Active SAN storage
environments. They would have worked because the IO lock
would have been exchanged between controllers and paths.
However, Active/Passive environments will block passive
paths from access, ultimately preventing new locks from
being established without proper negotiation. Ultimately
requiring multipathing *and* the agent to be smart enough
to know to disqualify underlying paths to backend storage
volumes.

An additional benefit of this is active/active MPIO devices
will, as long as ``multipath`` is present inside the ramdisk,
no longer possibly result in duplicate IO wipes occuring
accross numerous devices.

Story: #2010003
Task: #45108
Resolves: rhbz#2076622
Resolves: rhbz#2070519
Change-Id: I0fd6356f036d5ff17510fb838eaf418164cdfc92
(cherry picked from commit 014d37743a3b5694e0e2a3cabfafe885417172d5)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removes multipath base devices from consideration by
default, and instead allows the device-mapper device
managed by multipath to be picked up and utilized
instead.

In effect, allowing us to ignore standby paths *and*
leverage multiple concurrent IO paths if so offered
via ALUA.

In reality, anyone who has previously built IPA with
multipath tooling might not have encountered issues
previously because they used Active/Active SAN storage
environments. They would have worked because the IO lock
would have been exchanged between controllers and paths.
However, Active/Passive environments will block passive
paths from access, ultimately preventing new locks from
being established without proper negotiation. Ultimately
requiring multipathing *and* the agent to be smart enough
to know to disqualify underlying paths to backend storage
volumes.

An additional benefit of this is active/active MPIO devices
will, as long as ``multipath`` is present inside the ramdisk,
no longer possibly result in duplicate IO wipes occuring
accross numerous devices.

Story: #2010003
Task: #45108
Resolves: rhbz#2076622
Resolves: rhbz#2070519
Change-Id: I0fd6356f036d5ff17510fb838eaf418164cdfc92
(cherry picked from commit 014d37743a3b5694e0e2a3cabfafe885417172d5)
</pre>
</div>
</content>
</entry>
<entry>
<title>Collect a full lsblk output in the ramdisk logs</title>
<updated>2022-06-09T13:18:39+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2022-04-29T12:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=345d45950f9175873897bcc510cd93177c9c6972'/>
<id>345d45950f9175873897bcc510cd93177c9c6972</id>
<content type='text'>
The existing lsblk call is very handy for an overview, but there a lot
more useful pairs to collect. Collect them in a machine-readable format
to be able to use in debugging and further development.

Change-Id: Ib27843524421944ee93de975d275e93276a5597a
(cherry picked from commit 424e649bed3db5d1129b18b7ea4dfba88d552537)
(cherry picked from commit bc74df8bfe89f703880f8a545ce939e9b1cd8651)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The existing lsblk call is very handy for an overview, but there a lot
more useful pairs to collect. Collect them in a machine-readable format
to be able to use in debugging and further development.

Change-Id: Ib27843524421944ee93de975d275e93276a5597a
(cherry picked from commit 424e649bed3db5d1129b18b7ea4dfba88d552537)
(cherry picked from commit bc74df8bfe89f703880f8a545ce939e9b1cd8651)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Use a pre-defined partition UUID to detect configdrive on GPT" into stable/xena</title>
<updated>2022-05-18T22:18:41+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2022-05-18T22:18: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=3aa5928aa47726eee865705b1378f2494017595c'/>
<id>3aa5928aa47726eee865705b1378f2494017595c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a pre-defined partition UUID to detect configdrive on GPT</title>
<updated>2022-05-10T13:34:01+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2022-04-29T13:01: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=1ec0f70747def2db15466397b41027f9bd0c64c4'/>
<id>1ec0f70747def2db15466397b41027f9bd0c64c4</id>
<content type='text'>
Using partition numbers is currently broken for devicemapper devices.
Fortunately, GPT has partition UUIDs, so we can just generate one and
use it for lookup.

NOTE on backport: _get_partition is imported from the image extension.
In Yoga it was moved to partition_utils.

Change-Id: I41ffe4f8e4c6e43182090b5aa2a2b4b34f32efd5
(cherry picked from commit 65c4de903a2d8059b1520b0102235b6700287f87)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using partition numbers is currently broken for devicemapper devices.
Fortunately, GPT has partition UUIDs, so we can just generate one and
use it for lookup.

NOTE on backport: _get_partition is imported from the image extension.
In Yoga it was moved to partition_utils.

Change-Id: I41ffe4f8e4c6e43182090b5aa2a2b4b34f32efd5
(cherry picked from commit 65c4de903a2d8059b1520b0102235b6700287f87)
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not try to guess EFI partition path by its number</title>
<updated>2022-05-06T12:57:00+00:00</updated>
<author>
<name>Dmitry Tantsur</name>
<email>dtantsur@protonmail.com</email>
</author>
<published>2022-05-04T12:45:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/openstack/ironic-python-agent.git/commit/?id=067cf9b535b5c93343c73fa476e6dde51d9c711f'/>
<id>067cf9b535b5c93343c73fa476e6dde51d9c711f</id>
<content type='text'>
The logic of adding a partition number to the device path does not work
for devicemapper devices (e.g. a multipath storage device).

Conflicts:
	ironic_python_agent/efi_utils.py
	ironic_python_agent/tests/unit/extensions/test_image.py
	ironic_python_agent/tests/unit/test_efi_utils.py

Change-Id: I9a445e847d282c50adfa4bad5e7136776861005d
(cherry picked from commit f09f6c9f1a09c7062d0450b3e0a4d3164fd53f7f)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The logic of adding a partition number to the device path does not work
for devicemapper devices (e.g. a multipath storage device).

Conflicts:
	ironic_python_agent/efi_utils.py
	ironic_python_agent/tests/unit/extensions/test_image.py
	ironic_python_agent/tests/unit/test_efi_utils.py

Change-Id: I9a445e847d282c50adfa4bad5e7136776861005d
(cherry picked from commit f09f6c9f1a09c7062d0450b3e0a4d3164fd53f7f)
</pre>
</div>
</content>
</entry>
</feed>
