ironic-python-agent/ironic_python_agent
Julia Kreger 014d37743a Multipath Hardware path handling
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
2022-05-18 20:26:39 -03:00
..
api Use Werkzeug modern version 2022-04-14 10:47:06 +00:00
cmd Capture the early logging 2021-04-01 11:16:20 -07:00
extensions Create fstab entry with appropriate label 2022-03-10 07:04:01 -08:00
hardware_managers Increase version of hacking and pycodestyle 2021-07-30 14:34:33 +02:00
tests Multipath Hardware path handling 2022-05-18 20:26:39 -03:00
__init__.py [trivial] Fix typo in __init__.py 2021-12-16 22:03:51 +01:00
agent.py Increase version of hacking and pycodestyle 2021-07-30 14:34:33 +02:00
burnin.py Burn-in: Dynamic network pairing 2022-01-10 11:31:33 +01:00
config.py Do not permit IPA standalone to be enabled by conf 2021-03-25 12:45:28 +01:00
dmi_inspector.py Collect processor, memory and BIOS output of dmidecode - follow-up 2017-07-27 07:30:54 -07:00
efi_utils.py Do not try to guess EFI partition path by its number 2022-05-04 15:06:02 +02:00
encoding.py Fix serializing ironic-lib exceptions 2020-07-02 12:18:53 +02:00
errors.py Remove the iscsi extension 2021-05-10 12:43:44 +02:00
hardware.py Multipath Hardware path handling 2022-05-18 20:26:39 -03:00
inject_files.py New deploy step for injecting arbitrary files 2021-02-16 16:56:52 +01:00
inspect.py Add jitter to inspection command reporting 2020-03-31 08:13:13 -07:00
inspector.py Reduce the duration of retries in the inspector tests 2020-10-07 12:39:01 +02:00
ironic_api_client.py Remove runtime dependency on pbr 2021-04-26 09:16:34 +02:00
netutils.py Bring up VLAN interfaces and include in introspection report 2020-11-20 10:17:00 -05:00
numa_inspector.py Skip nic numa_node discovery if it's not assigned to a numa_node 2020-01-17 11:15:35 +01:00
partition_utils.py Use a pre-defined partition UUID to detect configdrive on GPT 2022-04-29 16:56:53 +02:00
raid_utils.py Move prepare_boot_partitions_for_softraid to raid_utils 2022-02-14 11:21:36 +01:00
tls_utils.py Generate TLS certificates with validity time in the past 2020-12-10 16:22:13 +01:00
utils.py Multipath Hardware path handling 2022-05-18 20:26:39 -03:00
version.py Remove runtime dependency on pbr 2021-04-26 09:16:34 +02:00