Environment
- Component: Metal3 / Ironic (IPA - Ironic Python Agent)
- Network configuration method:
preprovisioningNetworkDataName (static IP, no DHCP)
- Reproduced on: Multiple physically separate environments, different deployments, and different hardware vendors
Problem Description
In a DHCP-less environment, static network parameters are passed via preprovisioningNetworkDataName. Both the inspection and provisioning phases perform their own IPA boot, and the failure can occur independently in either or both — with no correlation between them. A successful inspection does not predict a successful provisioning boot, and vice versa.
The failure is non-deterministic: retrying with identical configuration can succeed or fail unpredictably on each attempt.
Steps to Reproduce
- Set up a DHCP-less environment.
- Configure
preprovisioningNetworkDataName with a valid static network secret (IP, gateway, DNS, etc.).
- Trigger provisioning and observe IPA boot logs across multiple attempts for both phases.
- Observe that static network configuration is applied inconsistently, independently in each phase, with no apparent pattern.
Kernel Parameters Attempted
The following extraKernelParams were tested in various combinations:
ipa-inspection-dhcp-all-interfaces=0
ipa-inspection-dhcp-wait-timeout=0
ipa-hardware-initialization-delay=30
None produced consistent results.
Workaround
Shortened relevant timeout values to ~6 minutes to allow faster retry cycles. Does not address the root cause.
Expected Behavior
Static network configuration should be reliably applied on every IPA boot — in both inspection and provisioning phases.
Actual Behavior
Static network configuration is applied intermittently on a per-boot basis. The per-phase independence of failures suggests a race condition or timing issue within the IPA network initialization sequence, rather than an issue with how network data is passed from Metal3/Ironic.
Additional Context
- Observed across multiple physically separate environments, different deployments, and different hardware vendors — ruling out environment- or hardware-specific causes.
- Any insights into the ordering or timing of network configuration application during IPA boot would be appreciated.
Environment
preprovisioningNetworkDataName(static IP, no DHCP)Problem Description
In a DHCP-less environment, static network parameters are passed via
preprovisioningNetworkDataName. Both the inspection and provisioning phases perform their own IPA boot, and the failure can occur independently in either or both — with no correlation between them. A successful inspection does not predict a successful provisioning boot, and vice versa.The failure is non-deterministic: retrying with identical configuration can succeed or fail unpredictably on each attempt.
Steps to Reproduce
preprovisioningNetworkDataNamewith a valid static network secret (IP, gateway, DNS, etc.).Kernel Parameters Attempted
The following
extraKernelParamswere tested in various combinations:None produced consistent results.
Workaround
Shortened relevant timeout values to ~6 minutes to allow faster retry cycles. Does not address the root cause.
Expected Behavior
Static network configuration should be reliably applied on every IPA boot — in both inspection and provisioning phases.
Actual Behavior
Static network configuration is applied intermittently on a per-boot basis. The per-phase independence of failures suggests a race condition or timing issue within the IPA network initialization sequence, rather than an issue with how network data is passed from Metal3/Ironic.
Additional Context