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

NNCP fails after an upgrade to OpenShift 4.12

XMLWordPrintable

    • Moderate
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      NNCP fails after an upgrade to OpenShift 4.12

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

      OCP 4.12

      How reproducible:

      Always in customer cluster

      Steps to Reproduce:

      1. Create NNCP as follow:
      
      ~~~
        spec:
          desiredState:
            interfaces:
            - bridge:
                options:
                  stp:
                    enabled: false
                port:
                - name: eno2
              description: br1 created on eno2 interface
              ipv4:
                enabled: false
              name: br1
              state: up
              type: linux-bridge
          nodeSelector:
            kubernetes.io/hostname: <node-name>
      
      ~~~

       

      Actual results:

      NNCP fails with the following error:
      
      ~~~
            message: |
              error reconciling NodeNetworkConfigurationPolicy at desired state apply: ,
              failed to execute nmstatectl set --no-commit --timeout 480: 'exit status 1'
              libnmstate.error.NmstateValueError
                Failed to find suitable interface for saving DNS name servers
                  10.xx.xx.xx, nmstate only support saving DNS to interface with static gateway or auto interface with auto-dns:false
      
      
      ~~~
      
      full nmstate logs
      
      2023-04-25 14:27:12,197 root         DEBUG    NetworkManager version 1.36.0     
      2023-04-25 14:27:12,215 root         DEBUG    Async action: Retrieve applied config: ethernet eno1 started
      2023-04-25 14:27:12,215 root         DEBUG    Async action: Retrieve applied config: ethernet eno2 started
      2023-04-25 14:27:12,215 root         DEBUG    Async action: Retrieve applied config: ethernet ens1f1np1 started 
      2023-04-25 14:27:12,216 root         DEBUG    Async action: Retrieve applied config: ethernet ens5f1 started
      2023-04-25 14:27:12,216 root         DEBUG    Async action: Retrieve applied config: bridge br10 started
      2023-04-25 14:27:12,216 root         DEBUG    Async action: Retrieve applied config: bridge br1 started
      2023-04-25 14:27:12,216 root         DEBUG    Async action: Retrieve applied config: ethernet eno1 finished
      2023-04-25 14:27:12,217 root         DEBUG    Async action: Retrieve applied config: ethernet eno2 finished
      2023-04-25 14:27:12,217 root         DEBUG    Async action: Retrieve applied config: ethernet ens1f1np1 finished
      2023-04-25 14:27:12,217 root         DEBUG    Async action: Retrieve applied config: ethernet ens5f1 finished
      2023-04-25 14:27:12,217 root         DEBUG    Async action: Retrieve applied config: bridge br10 finished
      2023-04-25 14:27:12,218 root         DEBUG    Async action: Retrieve applied config: bridge br1 finished
      2023-04-25 14:27:12,219 root         DEBUG    Interface linux-bridge.br1 found. Merging the interface information.  
      2023-04-25 14:27:12,219 root         DEBUG    Interface linux-bridge.br10 found. Merging the interface information.
      2023-04-25 14:27:12,219 root         DEBUG    Interface ethernet.eno1 found. Merging the interface information.
      2023-04-25 14:27:12,219 root         DEBUG    Interface ethernet.eno2 found. Merging the interface information.
      2023-04-25 14:27:12,219 root         DEBUG    Interface ethernet.ens1f0np0 found. Merging the interface information.
      2023-04-25 14:27:12,219 root         DEBUG    Interface ethernet.ens1f1np1 found. Merging the interface information. 
      2023-04-25 14:27:12,219 root         DEBUG    Interface ethernet.ens5f0 found. Merging the interface information. 
      2023-04-25 14:27:12,219 root         DEBUG    Interface ethernet.ens5f1 found. Merging the interface information.
      2023-04-25 14:27:12,266 root         DEBUG    Interface lo is type unknown and will be ignored during the activation
      2023-04-25 14:27:12,266 root         DEBUG    The current route {'table-id': 254, 'destination': '10.128.0.0/14', 'next-hop-interface': 'tun0', 'next-hop-address': '0.0.0.0', 'metric': 0} has been discarded due to Route {'table-id': 254, 'metric': 0, 'destination': '10.128.0.0/14', 'next-hop-address': '0.0.0.0', 'next-hop-interface': 'tun0'} next hop to down/absent interface
      2023-04-25 14:27:12,266 root         DEBUG    The current route {'table-id': 254, 'destination': '172.30.0.0/16', 'next-hop-interface': 'tun0', 'next-hop-address': '0.0.0.0', 'metric': 0} has been discarded due to Route {'table-id': 254, 'metric': 0, 'destination': '172.30.0.0/16', 'next-hop-address': '0.0.0.0', 'next-hop-interface': 'tun0'} next hop to down/absent interface
      Traceback (most recent call last):                                              
        File \"/usr/bin/nmstatectl\", line 11, in <module>                            
          load_entry_point('nmstate==1.3.3', 'console_scripts', 'nmstatectl')()       
        File \"/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py\", line 74, in main
          return args.func(args)                                                      
        File \"/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py\", line 338, in set
          return apply(args)                                                          
        File \"/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py\", line 366, in apply
          args.save_to_disk,                                                          
        File \"/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py\", line 419, in apply_state
          save_to_disk=save_to_disk,                                                  
        File \"/usr/lib/python3.6/site-packages/libnmstate/netapplier.py\", line 86, in apply
          desired_state, ignored_ifnames, current_state, save_to_disk                 
        File \"/usr/lib/python3.6/site-packages/libnmstate/net_state.py\", line 72, in __init__
          self._ifaces.gen_dns_metadata(self._dns, self._route)                       
        File \"/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py\", line 668, in gen_dns_metadata
          iface_metadata = dns_state.gen_metadata(self, route_state)                  
        File \"/usr/lib/python3.6/site-packages/libnmstate/dns.py\", line 131, in gen_metadata
          \"auto-dns:false\" % server                                                 
      libnmstate.error.NmstateValueError: Failed to find suitable interface for saving DNS name servers: 10.195.3.10, nmstate only support saving DNS to interface with static gateway or auto interface with auto-dns:false
      

      Expected results:

      It should be applied successfully as it used to work with previous versions.

      Additional info:

      From 4.11.24 to 4.12.13

              bnemec@redhat.com Benjamin Nemec
              rhn-support-hchaturv Himank Chaturvedi
              Qiong Wang Qiong Wang
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: