Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-61165

Provisioning doesn't complete when bootMACAddress is used in a bond

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • Important
    • None
    • None
    • None
    • Metal Platform 279
    • 1
    • Proposed
    • Bug Fix
    • Hide
      When network interfaces are bonded, the bond interface presents itself using the MAC address of one of the interfaces it uses. The other interface in the bond also presents itself using that MAC address, but retains its permanent MAC address as well, of course. This permanent MAC address still needs to be reported and discovered by ironic-python-agent, so that if it's used as a boot MAC address, ironic can look up the node that has it.
      Show
      When network interfaces are bonded, the bond interface presents itself using the MAC address of one of the interfaces it uses. The other interface in the bond also presents itself using that MAC address, but retains its permanent MAC address as well, of course. This permanent MAC address still needs to be reported and discovered by ironic-python-agent, so that if it's used as a boot MAC address, ironic can look up the node that has it.
    • None
    • None
    • None
    • None

      Description of problem:

      When creating a cluster using assisted installer using BMO integration and using a bonded network configuration hosts sometimes will not be able to register with ironic because the bootMACAddress will not be present due to the bond.    

      Version-Release number of selected component (if applicable):

      4.16    

      How reproducible:

      Usually 50%, but 100% in this customer's case
      
      When the bond is created one of the member interfaces' mac is used for the bond. If the bond uses the interface that matches the boot mac address in the BMH, the issue will not reproduce, but if the mac of the bond doesn't match the issue will reproduce (this is how you get the 50% reproduction rate). In this customer's case they're using some strategy to choose which NIC they use for bootMACAddress such that it fails 100% of the time.    

      Steps to Reproduce:

          1. Create the cluster manifests to deploy a cluster using a bond
          2. Create the BMH to provision a host where the bootMACAddress field is the MAC of one of the bonded interfaces
      
      Example cluster manifests and networking config can be found in the must-gather

      Actual results:

      ironic agent cannot find corresponding BMH:
      Aug 12 16:44:48 ******* ironic-agent[3605]: 2025-08-12 16:44:48.712 1 WARNING ironic_python_agent.ironic_api_client [-] Failed looking up node with addresses 'd8:9d:67:2e:ca:77,2c:44:fd:89:5b:51,d8:9d:67:2e:ca:75,b8:83:03:9b:98:ac,b8:83:03:5d:c2:d1,2c:44:fd:89:5b:52,b8:83:03:9b:98:ac,d8:9d:67:2e:ca:76,2c:44:fd:89:5b:50,d8:9d:67:2e:ca:74,b8:83:03:9b:98:ac,2c:44:fd:89:5b:53,b8:83:03:9b:98:ad' at https://10.210.94.158:6385. Check if inspection has completed? Error 404: Resource could not be found.    

      Expected results:

      Provisioning completes successfully    

      Additional info:

      Must gather attached to https://access.redhat.com/support/cases/#/case/04226557
      
      Expected to be solved by https://bugs.launchpad.net/ironic-python-agent/+bug/2103450
      
      The related issue is the same problem, but in the assisted installer which also matches Agents to BareMetalHosts using bootMACAddress    

              rh-ee-masghar Mahnoor Asghar
              ncarboni@redhat.com Nick Carboni
              None
              None
              Jad Haj Yahya Jad Haj Yahya
              None
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: