After upgrading a host we observed a rare disk enumeration
issue, that would later duplicate PVs, since it will report
a different device_node and thus not match condition [1].
This occurs when the same persistent device name used between
CentOS and Debian points to different kernel derived device
nodes. This is a unique scenario not previously handled by the
conductor logic and due to a much later version of systemd/udev
used in Debian vs. Centos.
This commit adds logic to fetch device_path earlier and then
use it to determine if PV is found at the upgraded system,
leading the PV to being updated instead of created again.
Test Plan
PASS: fresh install/bootstrap/unlock
PASS: host lock/unlock
PASS: upgrade AIO-DX
PASS: force the enumeration issue via database and observe that
existing PV is updated instead of duplicated after agent
reports back to conductor
Reviewed: https:/ /review. opendev. org/c/starlingx /config/ +/867525 /opendev. org/starlingx/ config/ commit/ ca6bc490b7a7df6 46827e80395e4a5 f0b71d6301
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit ca6bc490b7a7df6 46827e80395e4a5 f0b71d6301
Author: Heitor Matsui <email address hidden>
Date: Tue Dec 13 12:34:39 2022 -0300
Use device_path to determine if PV is found
After upgrading a host we observed a rare disk enumeration
issue, that would later duplicate PVs, since it will report
a different device_node and thus not match condition [1].
This occurs when the same persistent device name used between
CentOS and Debian points to different kernel derived device
nodes. This is a unique scenario not previously handled by the
conductor logic and due to a much later version of systemd/udev
used in Debian vs. Centos.
This commit adds logic to fetch device_path earlier and then
use it to determine if PV is found at the upgraded system,
leading the PV to being updated instead of created again.
[1] https:/ /opendev. org/starlingx/ config/ src/commit/ 748afd7f5b7d3fc 5e958f7173ff1a1 9c946c73b4/ sysinv/ sysinv/ sysinv/ sysinv/ conductor/ manager. py#L5052
Test Plan bootstrap/ unlock
PASS: fresh install/
PASS: host lock/unlock
PASS: upgrade AIO-DX
PASS: force the enumeration issue via database and observe that
existing PV is updated instead of duplicated after agent
reports back to conductor
Closes-bug: 1999679
Change-Id: I43ae44f088c84b 45a7a23c46d1ffc a4568673e39
Signed-off-by: Heitor Matsui <email address hidden>