Bug 2211820

Summary: network system role internal error if global-dns option set
Product: Red Hat Enterprise Linux 9 Reporter: Marko Myllynen <myllynen>
Component: rhel-system-rolesAssignee: Network Management Team <nm-team>
Status: NEW --- QA Contact: CS System Management SST QE <rhel-cs-system-management-subsystem-qe>
Severity: high Docs Contact:
Priority: unspecified    
Version: 9.2CC: rmeggins, sfaye, spetrosi
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: role:network
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marko Myllynen 2023-06-02 06:51:18 UTC
Description of problem:
With global-dns option set on RHEL 9.2

# cat /etc/NetworkManager/conf.d/90-dns-servers.conf
[global-dns]
options=no-aaaa

a playbook using the network system role with


    network_state:
      dns-resolver:
        config:
          server:
            - 192.168.122.1
      interfaces:
        - name: net0
          type: ethernet
          state: up
          ipv4:
            enabled: true
            auto-dns: false
          ipv6:
            enabled: false

fails with internal error:

...
        Traceback (most recent call last):                                                                                                                                                                                                    
          File "<stdin>", line 107, in <module>                                                                                                                                                                                               
          File "<stdin>", line 99, in _ansiballz_main                                                                                                                                                                                         
          File "<stdin>", line 47, in invoke_module                                                                                                                                                                                           
          File "/usr/lib64/python3.9/runpy.py", line 225, in run_module                                                                                                                                                                       
            return _run_module_code(code, init_globals, run_name, mod_spec)                                                                                                                                                                   
          File "/usr/lib64/python3.9/runpy.py", line 97, in _run_module_code                                                                                                                                                                  
            _run_code(code, mod_globals, init_globals,                                                                                                                                                                                        
          File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code                                                                                                                                                                         
            exec(code, run_globals)                                                                                                                                                                                                           
          File "/tmp/ansible_redhat.rhel_system_roles.network_state_payload_8fppobvb/ansible_redhat.rhel_system_roles.network_state_payload.zip/ansible_collections/redhat/rhel_system_roles/plugins/modules/network_state.py", line 83, in <module>
          File "/tmp/ansible_redhat.rhel_system_roles.network_state_payload_8fppobvb/ansible_redhat.rhel_system_roles.network_state_payload.zip/ansible_collections/redhat/rhel_system_roles/plugins/modules/network_state.py", line 79, in main
          File "/tmp/ansible_redhat.rhel_system_roles.network_state_payload_8fppobvb/ansible_redhat.rhel_system_roles.network_state_payload.zip/ansible_collections/redhat/rhel_system_roles/plugins/modules/network_state.py", line 75, in run_module
          File "/tmp/ansible_redhat.rhel_system_roles.network_state_payload_8fppobvb/ansible_redhat.rhel_system_roles.network_state_payload.zip/ansible_collections/redhat/rhel_system_roles/plugins/modules/network_state.py", line 46, in run
          File "/usr/lib/python3.9/site-packages/libnmstate/netapplier.py", line 29, in apply
            return apply_net_state(
          File "/usr/lib/python3.9/site-packages/libnmstate/clib_wrapper.py", line 127, in apply_net_state
            raise map_error(err_kind, err_msg)
        libnmstate.error.NmstateInternalError: Bug: zbus fdo error Unknown: Unknown
        debug3: mux_client_read_packet: read header failed: Broken pipe
        debug2: Received exit status from master 1
    module_stdout: ''
    msg: |-
        MODULE FAILURE
        See stdout/stderr for the exact error
    rc: 1
...

Commenting out the global-dns option, restarting NM, and trying again allows the playbook to complete as expected.

Version-Release number of selected component (if applicable):
rhel-system-roles-1.21.1-1.el9_2.noarch