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

Add validation to detect invalid mac address in agent-config.yaml

XMLWordPrintable

    • Low
    • None
    • Installer Sprint 260, Installer Sprint 261
    • 2
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      
      If an invalid mac address is used in the interfaces table in agent-config.yaml, like this
       
      {noformat}
         - name: eno2
             macAddress: 98-BE-94-3F-48-42
      {noformat}
      
      it results in the failing to register the Infraenv with assisted-service and constant retries
      
      {noformat}
      Aug 28 15:23:37 master0 agent-register-infraenv[4606]: time="2024-08-28T19:23:37Z" level=info msg="Registering infraenv"
      Aug 28 15:23:37 master0 podman[4572]: time="2024-08-28T19:23:37Z" level=info msg="Reference to cluster id: 1f38e4c9-afde-4ac0-aa32-aabc75ec088a"
      Aug 28 15:23:37 master0 podman[4572]: time="2024-08-28T19:23:37Z" level=info msg="Registering infraenv"
      Aug 28 15:23:37 master0 agent-register-infraenv[4606]: time="2024-08-28T19:23:37Z" level=info msg="Added 1 nmstateconfigs"
      Aug 28 15:23:37 master0 podman[4572]: time="2024-08-28T19:23:37Z" level=info msg="Added 1 nmstateconfigs"
      Aug 28 15:23:37 master0 agent-register-infraenv[4606]: time="2024-08-28T19:23:37Z" level=fatal msg="Failed to register infraenv with assisted-service: response status code does not match any response statuses defined for this endpoint in the swagger spec (status 422): {}"
      Aug 28 15:23:37 master0 podman[4572]: time="2024-08-28T19:23:37Z" level=fatal msg="Failed to register infraenv with assisted-service: response status code does not match any response statuses defined for this endpoint in the swagger spec (status 422): {}"
      {noformat}
      
      The error above was in 4.15. In 4.18 I can duplicate it and its only marginally better. There is slightly more info due to an assisted-service change, but same net result of retrying continually on the 
      Registering infraenv"
      {noformat}
      Sep 11 20:57:26 master-0 agent-register-infraenv[3013]: time="2024-09-11T20:57:26Z" level=fatal msg="Failed to register infraenv with assisted-service: json: cannot unmarshal number into Go struct field Error.code of type string"
      Sep 11 20:57:26 master-0 podman[2987]: time="2024-09-11T20:57:26Z" level=fatal msg="Failed to register infraenv with assisted-service: json: cannot unmarshal number into Go struct field Error.code of type string"
      {noformat}
      
          

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

       Occcurs both in latest 4.18 and 4.15.26
      
          

      How reproducible:

      
          

      Steps to Reproduce:

          1. Use an invalid mac address in the interface table like this
      
      {noformat}
            interfaces:
              - name: eth0
                macAddress: 00:59:bd:23:23:8c
              - name: eno12399np0
                macAddress: 98-BE-94-3F-51-33
            networkConfig:
              interfaces:
                - name: eno12399np0
                  type: ethernet
                  state: up
                  ipv4:
                    enabled: false
                    dhcp: false
                  ipv6:
                    enabled: false
                    dhcp: false
                - name: eth0
                  type: ethernet
                  state: up
                  mac-address: 00:59:bd:23:23:8c
                  ipv4:
                    enabled: true
                    address:
                      - ip: 192.168.111.80
                        prefix-length: 24
                    dhcp: false
      
      {noformat}
      
          2. Generate the agent ISO
          3. Install using the agent ISO, I just did an SNO installation.
          

      Actual results:

      Install fails with the errors:
      
      {noformat}
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      level=debug msg=infraenv is not registered in rest API
      {noformat}
      
          

      Expected results:

      The invalid mac address should be detected when creating the ISO image so it can be fixed.
      
          

      Additional info:

      
          

            bfournie@redhat.com Robert Fournier
            bfournie@redhat.com Robert Fournier
            Biagio Manzari Biagio Manzari
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: