ansible-playbook [core 2.17.6]
  config file = None
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.12/site-packages/ansible
  ansible collection location = /tmp/collections-n5m
  executable location = /usr/local/bin/ansible-playbook
  python version = 3.12.7 (main, Oct  1 2024, 00:00:00) [GCC 13.3.1 20240913 (Red Hat 13.3.1-3)] (/usr/bin/python3.12)
  jinja version = 3.1.4
  libyaml = True
No config file found; using defaults
running playbook inside collection fedora.linux_system_roles
redirecting (type: callback) ansible.builtin.debug to ansible.posix.debug
redirecting (type: callback) ansible.builtin.debug to ansible.posix.debug
redirecting (type: callback) ansible.builtin.profile_tasks to ansible.posix.profile_tasks
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: tests_unit.yml *******************************************************
2 plays in /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml

PLAY [Setup for test running] **************************************************

TASK [Gathering Facts] *********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:3
Monday 11 November 2024  20:13:22 -0500 (0:00:00.013)       0:00:00.013 ******* 
[WARNING]: Platform linux on host managed-node3 is using the discovered Python
interpreter at /usr/bin/python3.12, but future installation of another Python
interpreter could change the meaning of that path. See
https://docs.ansible.com/ansible-
core/2.17/reference_appendices/interpreter_discovery.html for more information.
ok: [managed-node3]

TASK [Include the task 'el_repo_setup.yml'] ************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:6
Monday 11 November 2024  20:13:24 -0500 (0:00:01.472)       0:00:01.485 ******* 
included: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml for managed-node3

TASK [Gather the minimum subset of ansible_facts required by the network role test] ***
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:3
Monday 11 November 2024  20:13:24 -0500 (0:00:00.034)       0:00:01.519 ******* 
ok: [managed-node3]

TASK [Check if system is ostree] ***********************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:17
Monday 11 November 2024  20:13:24 -0500 (0:00:00.570)       0:00:02.090 ******* 
ok: [managed-node3] => {
    "changed": false,
    "stat": {
        "exists": false
    }
}

TASK [Set flag to indicate system is ostree] ***********************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:22
Monday 11 November 2024  20:13:25 -0500 (0:00:00.498)       0:00:02.588 ******* 
ok: [managed-node3] => {
    "ansible_facts": {
        "__network_is_ostree": false
    },
    "changed": false
}

TASK [Fix CentOS6 Base repo] ***************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:26
Monday 11 November 2024  20:13:25 -0500 (0:00:00.030)       0:00:02.619 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_distribution == 'CentOS'",
    "skip_reason": "Conditional result was False"
}

TASK [Include the task 'enable_epel.yml'] **************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:51
Monday 11 November 2024  20:13:25 -0500 (0:00:00.029)       0:00:02.649 ******* 
included: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/enable_epel.yml for managed-node3

TASK [Create EPEL 39] **********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/enable_epel.yml:8
Monday 11 November 2024  20:13:25 -0500 (0:00:00.086)       0:00:02.735 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_distribution in ['RedHat', 'CentOS']",
    "skip_reason": "Conditional result was False"
}

TASK [Install yum-utils package] ***********************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/enable_epel.yml:26
Monday 11 November 2024  20:13:25 -0500 (0:00:00.029)       0:00:02.764 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_distribution in ['RedHat', 'CentOS']",
    "skip_reason": "Conditional result was False"
}

TASK [Enable EPEL 7] ***********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/enable_epel.yml:32
Monday 11 November 2024  20:13:25 -0500 (0:00:00.027)       0:00:02.792 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_distribution in ['RedHat', 'CentOS']",
    "skip_reason": "Conditional result was False"
}

TASK [Enable EPEL 8] ***********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/enable_epel.yml:37
Monday 11 November 2024  20:13:25 -0500 (0:00:00.027)       0:00:02.820 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_distribution in ['RedHat', 'CentOS']",
    "skip_reason": "Conditional result was False"
}

TASK [Enable EPEL 6] ***********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/enable_epel.yml:42
Monday 11 November 2024  20:13:25 -0500 (0:00:00.028)       0:00:02.848 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_distribution in ['RedHat', 'CentOS']",
    "skip_reason": "Conditional result was False"
}

TASK [Install dependencies] ****************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:9
Monday 11 November 2024  20:13:25 -0500 (0:00:00.022)       0:00:02.870 ******* 
ok: [managed-node3] => (item=NetworkManager-libnm) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": "NetworkManager-libnm",
    "rc": 0,
    "results": []
}

MSG:

Nothing to do
failed: [managed-node3] (item=python2-gobject-base) => {
    "ansible_loop_var": "item",
    "changed": false,
    "failures": [
        "No package python2-gobject-base available."
    ],
    "item": "python2-gobject-base",
    "rc": 1,
    "results": []
}

MSG:

Failed to install some of the specified packages
ok: [managed-node3] => (item=python3-gobject-base) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": "python3-gobject-base",
    "rc": 0,
    "results": []
}

MSG:

Nothing to do
ok: [managed-node3] => (item=python-gobject-base) => {
    "ansible_loop_var": "item",
    "changed": false,
    "item": "python-gobject-base",
    "rc": 0,
    "results": []
}

MSG:

Nothing to do
failed: [managed-node3] (item=python2-mock) => {
    "ansible_loop_var": "item",
    "changed": false,
    "failures": [
        "No package python2-mock available."
    ],
    "item": "python2-mock",
    "rc": 1,
    "results": []
}

MSG:

Failed to install some of the specified packages
...ignoring

PLAY [Execute python unit tests] ***********************************************

TASK [Gathering Facts] *********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:23
Monday 11 November 2024  20:13:35 -0500 (0:00:09.368)       0:00:12.238 ******* 
ok: [managed-node3]

TASK [Create tempdir for code to test] *****************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:28
Monday 11 November 2024  20:13:36 -0500 (0:00:01.025)       0:00:13.264 ******* 
changed: [managed-node3] => {
    "changed": true,
    "gid": 0,
    "group": "root",
    "mode": "0700",
    "owner": "root",
    "path": "/tmp/lsrtest_8qet2b32",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 40,
    "state": "directory",
    "uid": 0
}

TASK [Get tempfile for tar] ****************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:34
Monday 11 November 2024  20:13:36 -0500 (0:00:00.547)       0:00:13.811 ******* 
changed: [managed-node3 -> localhost] => {
    "changed": true,
    "gid": 0,
    "group": "root",
    "mode": "0600",
    "owner": "root",
    "path": "/tmp/lsrtest_h9leqj6m.tar",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 0,
    "state": "file",
    "uid": 0
}

TASK [Include the task 'get_modules_and_utils_paths.yml'] **********************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:41
Monday 11 November 2024  20:13:36 -0500 (0:00:00.312)       0:00:14.124 ******* 
included: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/get_modules_and_utils_paths.yml for managed-node3

TASK [Set collection paths] ****************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/get_modules_and_utils_paths.yml:3
Monday 11 November 2024  20:13:36 -0500 (0:00:00.027)       0:00:14.151 ******* 
ok: [managed-node3] => {
    "ansible_facts": {
        "collection_paths": [
            "/tmp/collections-n5m",
            "/tmp/collections-n5m"
        ]
    },
    "changed": false
}

TASK [Set search paths] ********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/get_modules_and_utils_paths.yml:13
Monday 11 November 2024  20:13:36 -0500 (0:00:00.048)       0:00:14.200 ******* 
ok: [managed-node3] => {
    "ansible_facts": {
        "module_utils_search_path": [
            "../../module_utils",
            "../module_utils",
            "/root/.ansible/plugins/module_utils",
            "/usr/share/ansible/plugins/module_utils"
        ],
        "modules_search_path": [
            "../../library",
            "../library",
            "/root/.ansible/plugins/modules",
            "/usr/share/ansible/plugins/modules"
        ]
    },
    "changed": false
}

TASK [Find parent directory and path of modules] *******************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/get_modules_and_utils_paths.yml:42
Monday 11 November 2024  20:13:37 -0500 (0:00:00.053)       0:00:14.253 ******* 
ok: [managed-node3 -> localhost] => {
    "changed": false,
    "cmd": "set -euxo pipefail\nfor dir in ../../library ../library /root/.ansible/plugins/modules /usr/share/ansible/plugins/modules; do\n  if [ -f \"$dir/network_connections.py\" ]; then\n    readlink -f \"$(dirname \"$dir\")\"\n    basename \"$dir\"\n    exit 0\n  fi\ndone\nfor dir in /tmp/collections-n5m /tmp/collections-n5m; do\n  if [ ! -d \"$dir\" ]; then continue; fi\n  cd \"$dir\"\n  for subdir in ansible_collections/*/*/plugins/modules; do\n    if [ -f \"$subdir/network_connections.py\" ]; then\n      echo \"$dir\"\n      echo \"$subdir\"\n      exit 0\n    fi\n  done\ndone\necho network_connections.py not found\nexit 1\n",
    "delta": "0:00:00.004509",
    "end": "2024-11-11 20:13:37.393771",
    "rc": 0,
    "start": "2024-11-11 20:13:37.389262"
}

STDOUT:

/tmp/collections-n5m
ansible_collections/fedora/linux_system_roles/plugins/modules


STDERR:

+ for dir in ../../library ../library /root/.ansible/plugins/modules /usr/share/ansible/plugins/modules
+ '[' -f ../../library/network_connections.py ']'
+ for dir in ../../library ../library /root/.ansible/plugins/modules /usr/share/ansible/plugins/modules
+ '[' -f ../library/network_connections.py ']'
+ for dir in ../../library ../library /root/.ansible/plugins/modules /usr/share/ansible/plugins/modules
+ '[' -f /root/.ansible/plugins/modules/network_connections.py ']'
+ for dir in ../../library ../library /root/.ansible/plugins/modules /usr/share/ansible/plugins/modules
+ '[' -f /usr/share/ansible/plugins/modules/network_connections.py ']'
+ for dir in /tmp/collections-n5m /tmp/collections-n5m
+ '[' '!' -d /tmp/collections-n5m ']'
+ cd /tmp/collections-n5m
+ for subdir in ansible_collections/*/*/plugins/modules
+ '[' -f ansible_collections/ansible/posix/plugins/modules/network_connections.py ']'
+ for subdir in ansible_collections/*/*/plugins/modules
+ '[' -f ansible_collections/fedora/linux_system_roles/plugins/modules/network_connections.py ']'
+ echo /tmp/collections-n5m
+ echo ansible_collections/fedora/linux_system_roles/plugins/modules
+ exit 0

TASK [Find parent directory and path of module_utils] **************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/get_modules_and_utils_paths.yml:69
Monday 11 November 2024  20:13:37 -0500 (0:00:00.390)       0:00:14.643 ******* 
ok: [managed-node3 -> localhost] => {
    "changed": false,
    "cmd": "set -euxo pipefail\nfor dir in ../../module_utils ../module_utils /root/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils; do\n  if [ -d \"$dir/network_lsr\" ]; then\n    readlink -f \"$(dirname \"$dir\")\"\n    basename \"$dir\"\n    exit 0\n  fi\ndone\nfor dir in /tmp/collections-n5m /tmp/collections-n5m; do\n  if [ ! -d \"$dir\" ]; then continue; fi\n  cd \"$dir\"\n  for subdir in ansible_collections/*/*/plugins/module_utils; do\n    if [ -d \"$subdir/network_lsr\" ]; then\n      echo \"$dir\"\n      echo \"$subdir\"\n      exit 0\n    fi\n  done\ndone\necho network_lsr not found\nexit 1\n",
    "delta": "0:00:00.004715",
    "end": "2024-11-11 20:13:37.660207",
    "rc": 0,
    "start": "2024-11-11 20:13:37.655492"
}

STDOUT:

/tmp/collections-n5m
ansible_collections/fedora/linux_system_roles/plugins/module_utils


STDERR:

+ for dir in ../../module_utils ../module_utils /root/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils
+ '[' -d ../../module_utils/network_lsr ']'
+ for dir in ../../module_utils ../module_utils /root/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils
+ '[' -d ../module_utils/network_lsr ']'
+ for dir in ../../module_utils ../module_utils /root/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils
+ '[' -d /root/.ansible/plugins/module_utils/network_lsr ']'
+ for dir in ../../module_utils ../module_utils /root/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils
+ '[' -d /usr/share/ansible/plugins/module_utils/network_lsr ']'
+ for dir in /tmp/collections-n5m /tmp/collections-n5m
+ '[' '!' -d /tmp/collections-n5m ']'
+ cd /tmp/collections-n5m
+ for subdir in ansible_collections/*/*/plugins/module_utils
+ '[' -d ansible_collections/ansible/posix/plugins/module_utils/network_lsr ']'
+ for subdir in ansible_collections/*/*/plugins/module_utils
+ '[' -d ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr ']'
+ echo /tmp/collections-n5m
+ echo ansible_collections/fedora/linux_system_roles/plugins/module_utils
+ exit 0

TASK [Create Tar file] *********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:48
Monday 11 November 2024  20:13:37 -0500 (0:00:00.275)       0:00:14.918 ******* 
ok: [managed-node3 -> localhost] => {
    "changed": false,
    "cmd": [
        "tar",
        "-cvf",
        "/tmp/lsrtest_h9leqj6m.tar",
        "--exclude",
        "*.pyc",
        "--exclude",
        "__pycache__",
        "-C",
        "/tmp/collections-n5m",
        "ansible_collections/fedora/linux_system_roles/plugins/modules",
        "-C",
        "/tmp/collections-n5m",
        "ansible_collections/fedora/linux_system_roles/plugins/module_utils"
    ],
    "delta": "0:00:00.120256",
    "end": "2024-11-11 20:13:38.101537",
    "rc": 0,
    "start": "2024-11-11 20:13:37.981281"
}

STDOUT:

ansible_collections/fedora/linux_system_roles/plugins/modules/
ansible_collections/fedora/linux_system_roles/plugins/modules/__init__.py
ansible_collections/fedora/linux_system_roles/plugins/modules/network_connections.py
ansible_collections/fedora/linux_system_roles/plugins/modules/network_state.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/__init__.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/argument_validator.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/ethtool.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/myerror.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/__init__.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/active_connection.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/client.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/connection.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/error.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm/provider.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm_provider.py
ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/utils.py

TASK [Copy testrepo.tar to the remote system] **********************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:60
Monday 11 November 2024  20:13:38 -0500 (0:00:00.434)       0:00:15.352 ******* 
changed: [managed-node3] => {
    "changed": true,
    "checksum": "e67f5416606a38a02db706223cd530c190ad6b01",
    "dest": "/tmp/lsrtest_8qet2b32/lsrtest_h9leqj6m.tar",
    "gid": 0,
    "group": "root",
    "md5sum": "1213d52c4f963676d168decda461317a",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 276480,
    "src": "/root/.ansible/tmp/ansible-tmp-1731374018.1766121-33489-215369851207912/.source.tar",
    "state": "file",
    "uid": 0
}

TASK [Untar testrepo.tar] ******************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:66
Monday 11 November 2024  20:13:39 -0500 (0:00:01.212)       0:00:16.565 ******* 
changed: [managed-node3] => {
    "changed": true,
    "dest": "/tmp/lsrtest_8qet2b32",
    "extract_results": {
        "cmd": [
            "/usr/bin/gtar",
            "--extract",
            "-C",
            "/tmp/lsrtest_8qet2b32",
            "-f",
            "/tmp/lsrtest_8qet2b32/lsrtest_h9leqj6m.tar"
        ],
        "err": "",
        "out": "",
        "rc": 0
    },
    "gid": 0,
    "group": "root",
    "handler": "TarArchive",
    "mode": "0700",
    "owner": "root",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 80,
    "src": "/tmp/lsrtest_8qet2b32/lsrtest_h9leqj6m.tar",
    "state": "directory",
    "uid": 0
}

TASK [Create subdirectory '/ansible/module_utils' under '/tmp/lsrtest_8qet2b32'] ***
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:72
Monday 11 November 2024  20:13:40 -0500 (0:00:01.328)       0:00:17.894 ******* 
changed: [managed-node3] => (item=/tmp/lsrtest_8qet2b32/ansible) => {
    "ansible_loop_var": "item",
    "changed": true,
    "gid": 0,
    "group": "root",
    "item": "/tmp/lsrtest_8qet2b32/ansible",
    "mode": "0755",
    "owner": "root",
    "path": "/tmp/lsrtest_8qet2b32/ansible",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 40,
    "state": "directory",
    "uid": 0
}
changed: [managed-node3] => (item=/tmp/lsrtest_8qet2b32/ansible/module_utils) => {
    "ansible_loop_var": "item",
    "changed": true,
    "gid": 0,
    "group": "root",
    "item": "/tmp/lsrtest_8qet2b32/ansible/module_utils",
    "mode": "0755",
    "owner": "root",
    "path": "/tmp/lsrtest_8qet2b32/ansible/module_utils",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 40,
    "state": "directory",
    "uid": 0
}

TASK [Move module_utils to ansible directory] **********************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:81
Monday 11 November 2024  20:13:41 -0500 (0:00:00.951)       0:00:18.846 ******* 
ok: [managed-node3] => {
    "changed": false,
    "cmd": "if [ -d /tmp/lsrtest_8qet2b32/module_utils ]; then\n  mv /tmp/lsrtest_8qet2b32/module_utils /tmp/lsrtest_8qet2b32/ansible\nfi\n",
    "delta": "0:00:00.003543",
    "end": "2024-11-11 20:13:41.949455",
    "rc": 0,
    "start": "2024-11-11 20:13:41.945912"
}

TASK [Fake out python module directories, primarily for python2] ***************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:88
Monday 11 November 2024  20:13:42 -0500 (0:00:00.387)       0:00:19.233 ******* 
ok: [managed-node3] => {
    "changed": false,
    "cmd": "for dir in $(find /tmp/lsrtest_8qet2b32 -type d -print); do\n  if [ ! -f \"$dir/__init__.py\" ]; then\n    touch \"$dir/__init__.py\"\n  fi\ndone\n",
    "delta": "0:00:00.012565",
    "end": "2024-11-11 20:13:42.376220",
    "rc": 0,
    "start": "2024-11-11 20:13:42.363655"
}

TASK [Copy unit test to remote system] *****************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:97
Monday 11 November 2024  20:13:42 -0500 (0:00:00.413)       0:00:19.646 ******* 
changed: [managed-node3] => {
    "changed": true,
    "checksum": "3ad9966df445605f9d6ddcfe1b48f5d1186fcafa",
    "dest": "/tmp/lsrtest_8qet2b32/test_network_connections.py",
    "gid": 0,
    "group": "root",
    "md5sum": "37adab1ab0e6129353e50314c74424f4",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:user_tmp_t:s0",
    "size": 211123,
    "src": "/root/.ansible/tmp/ansible-tmp-1731374022.4696612-33631-194448921851364/.source.py",
    "state": "file",
    "uid": 0
}

TASK [Set _lsr_python_path] ****************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:103
Monday 11 November 2024  20:13:43 -0500 (0:00:01.029)       0:00:20.676 ******* 
ok: [managed-node3] => {
    "ansible_facts": {
        "_lsr_python_path": "/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/modules:/tmp/lsrtest_8qet2b32/ansible/ansible_collections/fedora/linux_system_roles/plugins/module_utils:/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/module_utils:/tmp/lsrtest_8qet2b32"
    },
    "changed": false
}

TASK [List the files in /tmp/lsrtest_8qet2b32] *********************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:107
Monday 11 November 2024  20:13:43 -0500 (0:00:00.023)       0:00:20.700 ******* 
ok: [managed-node3] => {
    "changed": false,
    "cmd": [
        "ls",
        "-alrtFR",
        "/tmp/lsrtest_8qet2b32"
    ],
    "delta": "0:00:00.004682",
    "end": "2024-11-11 20:13:43.805997",
    "rc": 0,
    "start": "2024-11-11 20:13:43.801315"
}

STDOUT:

/tmp/lsrtest_8qet2b32:
total 480
-rw-------.  1 root root 276480 Nov 11 20:13 lsrtest_h9leqj6m.tar
-rw-r--r--.  1 root root      0 Nov 11 20:13 __init__.py
drwxr-xr-x.  3 root root     80 Nov 11 20:13 ansible_collections/
drwxr-xr-x.  3 root root     80 Nov 11 20:13 ansible/
drwx------.  4 root root    140 Nov 11 20:13 ./
-rw-r--r--.  1 root root 211123 Nov 11 20:13 test_network_connections.py
drwxrwxrwt. 13 root root    260 Nov 11 20:13 ../

/tmp/lsrtest_8qet2b32/ansible_collections:
total 0
-rw-r--r--. 1 root root   0 Nov 11 20:13 __init__.py
drwxr-xr-x. 3 root root  80 Nov 11 20:13 ./
drwxr-xr-x. 3 root root  80 Nov 11 20:13 fedora/
drwx------. 4 root root 140 Nov 11 20:13 ../

/tmp/lsrtest_8qet2b32/ansible_collections/fedora:
total 0
drwxr-xr-x. 3 root root 80 Nov 11 20:13 ../
-rw-r--r--. 1 root root  0 Nov 11 20:13 __init__.py
drwxr-xr-x. 3 root root 80 Nov 11 20:13 ./
drwxr-xr-x. 3 root root 80 Nov 11 20:13 linux_system_roles/

/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles:
total 0
drwxr-xr-x. 3 root root  80 Nov 11 20:13 ../
-rw-r--r--. 1 root root   0 Nov 11 20:13 __init__.py
drwxr-xr-x. 3 root root  80 Nov 11 20:13 ./
drwxr-xr-x. 4 root root 100 Nov 11 20:13 plugins/

/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins:
total 0
drwxr-xr-x. 2 root root 100 Nov 11 20:00 modules/
drwxr-xr-x. 3 root root  80 Nov 11 20:13 ../
-rw-r--r--. 1 root root   0 Nov 11 20:13 __init__.py
drwxr-xr-x. 4 root root 100 Nov 11 20:13 ./
drwxr-xr-x. 3 root root  80 Nov 11 20:13 module_utils/

/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/modules:
total 112
-rw-r--r--. 1 root root   2736 Nov 11 20:00 network_state.py
-rw-r--r--. 1 root root      0 Nov 11 20:00 __init__.py
drwxr-xr-x. 2 root root    100 Nov 11 20:00 ./
-rw-r--r--. 1 root root 108246 Nov 11 20:01 network_connections.py
drwxr-xr-x. 4 root root    100 Nov 11 20:13 ../

/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/module_utils:
total 0
drwxr-xr-x. 3 root root 180 Nov 11 20:00 network_lsr/
drwxr-xr-x. 4 root root 100 Nov 11 20:13 ../
-rw-r--r--. 1 root root   0 Nov 11 20:13 __init__.py
drwxr-xr-x. 3 root root  80 Nov 11 20:13 ./

/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr:
total 136
drwxr-xr-x. 2 root root    160 Nov 11 20:00 nm/
-rw-r--r--. 1 root root    190 Nov 11 20:00 myerror.py
-rw-r--r--. 1 root root      0 Nov 11 20:00 __init__.py
-rw-r--r--. 1 root root   1839 Nov 11 20:00 ethtool.py
drwxr-xr-x. 3 root root    180 Nov 11 20:00 ./
-rw-r--r--. 1 root root  11433 Nov 11 20:01 utils.py
-rw-r--r--. 1 root root   1640 Nov 11 20:01 nm_provider.py
-rw-r--r--. 1 root root 111837 Nov 11 20:01 argument_validator.py
drwxr-xr-x. 3 root root     80 Nov 11 20:13 ../

/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/module_utils/network_lsr/nm:
total 24
-rw-r--r--. 1 root root    0 Nov 11 20:00 __init__.py
-rw-r--r--. 1 root root  175 Nov 11 20:00 error.py
drwxr-xr-x. 3 root root  180 Nov 11 20:00 ../
drwxr-xr-x. 2 root root  160 Nov 11 20:00 ./
-rw-r--r--. 1 root root 3292 Nov 11 20:01 provider.py
-rw-r--r--. 1 root root 3638 Nov 11 20:01 connection.py
-rw-r--r--. 1 root root 3071 Nov 11 20:01 client.py
-rw-r--r--. 1 root root 4104 Nov 11 20:01 active_connection.py

/tmp/lsrtest_8qet2b32/ansible:
total 0
drwxr-xr-x. 2 root root  60 Nov 11 20:13 module_utils/
-rw-r--r--. 1 root root   0 Nov 11 20:13 __init__.py
drwxr-xr-x. 3 root root  80 Nov 11 20:13 ./
drwx------. 4 root root 140 Nov 11 20:13 ../

/tmp/lsrtest_8qet2b32/ansible/module_utils:
total 0
-rw-r--r--. 1 root root  0 Nov 11 20:13 __init__.py
drwxr-xr-x. 3 root root 80 Nov 11 20:13 ../
drwxr-xr-x. 2 root root 60 Nov 11 20:13 ./

TASK [Debug the lsr Python path] ***********************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:110
Monday 11 November 2024  20:13:43 -0500 (0:00:00.377)       0:00:21.078 ******* 
ok: [managed-node3] => {}

MSG:

path /tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/modules:/tmp/lsrtest_8qet2b32/ansible/ansible_collections/fedora/linux_system_roles/plugins/module_utils:/tmp/lsrtest_8qet2b32/ansible_collections/fedora/linux_system_roles/plugins/module_utils:/tmp/lsrtest_8qet2b32

TASK [Check if python2 is available] *******************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:114
Monday 11 November 2024  20:13:43 -0500 (0:00:00.019)       0:00:21.098 ******* 
fatal: [managed-node3]: FAILED! => {
    "changed": false,
    "cmd": "python2 --version",
    "rc": 2
}

MSG:

[Errno 2] No such file or directory: b'python2'
...ignoring

TASK [Run python2 unit tests] **************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:121
Monday 11 November 2024  20:13:44 -0500 (0:00:00.369)       0:00:21.467 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "python2_available is succeeded and ansible_distribution != 'Fedora'\n",
    "skip_reason": "Conditional result was False"
}

TASK [Check if python3 is available] *******************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:131
Monday 11 November 2024  20:13:44 -0500 (0:00:00.021)       0:00:21.488 ******* 
ok: [managed-node3] => {
    "changed": false,
    "cmd": [
        "python3",
        "--version"
    ],
    "delta": "0:00:00.004864",
    "end": "2024-11-11 20:13:44.586487",
    "rc": 0,
    "start": "2024-11-11 20:13:44.581623"
}

STDOUT:

Python 3.12.7

TASK [Run python3 unit tests] **************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:138
Monday 11 November 2024  20:13:44 -0500 (0:00:00.369)       0:00:21.858 ******* 
ok: [managed-node3] => {
    "changed": false,
    "cmd": [
        "python3",
        "/tmp/lsrtest_8qet2b32/test_network_connections.py",
        "--verbose"
    ],
    "delta": "0:00:00.326080",
    "end": "2024-11-11 20:13:45.293541",
    "rc": 0,
    "start": "2024-11-11 20:13:44.967461"
}

STDERR:

test_connection_ensure_setting (__main__.TestNM.test_connection_ensure_setting) ... ok
test_connection_list (__main__.TestNM.test_connection_list) ... ok
test_path_to_glib_bytes (__main__.TestNM.test_path_to_glib_bytes) ... ok
test_link_read_permaddress (__main__.TestSysUtils.test_link_read_permaddress) ... ok
test_convert_passwd_flags_nm (__main__.TestUtils.test_convert_passwd_flags_nm) ... ok
test_mac_ntoa (__main__.TestUtils.test_mac_ntoa) ... ok
test_802_1x_1 (__main__.TestValidator.test_802_1x_1)
Test private key with password ... ok
test_802_1x_2 (__main__.TestValidator.test_802_1x_2)
Test 802.1x profile with unencrypted private key, ... ok
test_802_1x_3 (__main__.TestValidator.test_802_1x_3)
Test 802.1x profile with unencrypted private key and ca_path ... ok
test_802_1x_ca_path_and_system_ca_certs (__main__.TestValidator.test_802_1x_ca_path_and_system_ca_certs)
should fail if ca_path and system_ca_certs are used together ... ok
test_802_1x_initscripts (__main__.TestValidator.test_802_1x_initscripts)
should fail to create ieee802_1x connection with initscripts ... ok
test_802_1x_unsupported_type (__main__.TestValidator.test_802_1x_unsupported_type)
should fail if a non ethernet/wireless connection has 802.1x settings defined ... ok
test_absent (__main__.TestValidator.test_absent) ... ok
test_auto6_enabled_ipv6_disabled (__main__.TestValidator.test_auto6_enabled_ipv6_disabled)
Test that enabling `auto6` and disabling IPv6 are mutually exclusive. ... ok
test_auto_gateway_false (__main__.TestValidator.test_auto_gateway_false) ... ok
test_auto_gateway_no_gateway (__main__.TestValidator.test_auto_gateway_no_gateway) ... ok
test_auto_gateway_true (__main__.TestValidator.test_auto_gateway_true) ... ok
test_bond (__main__.TestValidator.test_bond) ... ok
test_bond_active_backup (__main__.TestValidator.test_bond_active_backup) ... ok
test_bridge2 (__main__.TestValidator.test_bridge2) ... ok
test_bridge_no_dhcp4_auto6 (__main__.TestValidator.test_bridge_no_dhcp4_auto6) ... ok
test_default_states (__main__.TestValidator.test_default_states) ... ok
test_default_states_type (__main__.TestValidator.test_default_states_type) ... ok
test_deprecated_ethtool_names (__main__.TestValidator.test_deprecated_ethtool_names)
Test that for each validator in ... ok
test_dns_options_argvalidator (__main__.TestValidator.test_dns_options_argvalidator)
Test that argvalidator for validating dns_options value is correctly defined. ... ok
test_dns_search_without_ipv4_and_ipv6_configuration (__main__.TestValidator.test_dns_search_without_ipv4_and_ipv6_configuration)
Test that configuring DNS search setting is not allowed when both IPv4 and ... ok
test_empty (__main__.TestValidator.test_empty) ... ok
test_ethernet_mac_address (__main__.TestValidator.test_ethernet_mac_address) ... ok
test_ethernet_speed_settings (__main__.TestValidator.test_ethernet_speed_settings) ... ok
test_ethernet_two_defaults (__main__.TestValidator.test_ethernet_two_defaults) ... ok
test_full_state_absent_defaults (__main__.TestValidator.test_full_state_absent_defaults) ... ok
test_full_state_absent_no_type (__main__.TestValidator.test_full_state_absent_no_type) ... ok
test_full_state_present_no_type (__main__.TestValidator.test_full_state_present_no_type) ... ok
test_full_state_present_type_defaults (__main__.TestValidator.test_full_state_present_type_defaults) ... ok
test_gateway6_configured_ipv6_disabled (__main__.TestValidator.test_gateway6_configured_ipv6_disabled)
Test that configuring `gateway6` and disabling IPv6 are mutually exclusive. ... ok
test_infiniband (__main__.TestValidator.test_infiniband) ... ok
test_infiniband2 (__main__.TestValidator.test_infiniband2) ... ok
test_infiniband3 (__main__.TestValidator.test_infiniband3) ... ok
test_interface_name_bond_empty_interface_name (__main__.TestValidator.test_interface_name_bond_empty_interface_name) ... ok
test_interface_name_bond_profile_as_interface_name (__main__.TestValidator.test_interface_name_bond_profile_as_interface_name) ... ok
test_interface_name_ethernet_None (__main__.TestValidator.test_interface_name_ethernet_None)
Check that interface_name cannot be None ... ok
test_interface_name_ethernet_default (__main__.TestValidator.test_interface_name_ethernet_default)
Use the profile name as interface_name for ethernet profiles ... ok
test_interface_name_ethernet_empty (__main__.TestValidator.test_interface_name_ethernet_empty)
Allow not to restrict the profile to an interface ... ok
test_interface_name_ethernet_explicit (__main__.TestValidator.test_interface_name_ethernet_explicit)
Use the explicitly provided interface name ... ok
test_interface_name_ethernet_invalid_interface_name (__main__.TestValidator.test_interface_name_ethernet_invalid_interface_name) ... ok
test_interface_name_ethernet_invalid_profile (__main__.TestValidator.test_interface_name_ethernet_invalid_profile)
Require explicit interface_name when the profile name is not a ... ok
test_interface_name_ethernet_mac (__main__.TestValidator.test_interface_name_ethernet_mac)
Do not set interface_name when mac is specified ... ok
test_invalid_autoconnect (__main__.TestValidator.test_invalid_autoconnect) ... ok
test_invalid_cert_path (__main__.TestValidator.test_invalid_cert_path)
should fail if a relative path is used for 802.1x certs/keys ... ok
test_invalid_ethtool_settings (__main__.TestValidator.test_invalid_ethtool_settings)
When both the deprecated and current version of a feature are stated, ... ok
test_invalid_mac (__main__.TestValidator.test_invalid_mac) ... ok
test_invalid_password_flag (__main__.TestValidator.test_invalid_password_flag)
should fail if an invalid private key password flag is set ... ok
test_invalid_persistent_state_down (__main__.TestValidator.test_invalid_persistent_state_down) ... ok
test_invalid_persistent_state_up (__main__.TestValidator.test_invalid_persistent_state_up) ... ok
test_invalid_state_test (__main__.TestValidator.test_invalid_state_test) ... ok
test_invalid_values (__main__.TestValidator.test_invalid_values) ... ok
test_ipv4_dns_without_ipv4_config (__main__.TestValidator.test_ipv4_dns_without_ipv4_config)
Test that configuring IPv4 DNS is not allowed when IPv4 is disabled. ... ok
test_ipv6_dns_options_without_ipv6_config (__main__.TestValidator.test_ipv6_dns_options_without_ipv6_config)
Test that configuring IPv6 DNS options is not allowed when IPv6 is disabled. ... ok
test_ipv6_dns_with_ipv6_disabled (__main__.TestValidator.test_ipv6_dns_with_ipv6_disabled)
Test that configuring IPv6 DNS is not allowed when IPv6 is disabled. ... ok
test_ipv6_dns_with_static_ipv6_configuration (__main__.TestValidator.test_ipv6_dns_with_static_ipv6_configuration)
Test that configuring IPv6 DNS is allowed when static IPv6 is configured. ... ok
test_ipv6_dns_without_ipv6_configuration (__main__.TestValidator.test_ipv6_dns_without_ipv6_configuration)
Test that configuring IPv6 DNS is not allowed when IPv6 is not configured. ... ok
test_ipv6_static (__main__.TestValidator.test_ipv6_static) ... ok
test_macvlan (__main__.TestValidator.test_macvlan) ... ok
test_persistent_state_absent (__main__.TestValidator.test_persistent_state_absent) ... ok
test_persistent_state_present (__main__.TestValidator.test_persistent_state_present) ... ok
test_route_metric6_configured_ipv6_disabled (__main__.TestValidator.test_route_metric6_configured_ipv6_disabled)
Test that configuring `route_metric6` and disabling IPv6 are mutually ... ok
test_route_metric_prefix (__main__.TestValidator.test_route_metric_prefix) ... ok
test_route_v6 (__main__.TestValidator.test_route_v6) ... ok
test_route_without_interface_name (__main__.TestValidator.test_route_without_interface_name) ... ok
test_routes (__main__.TestValidator.test_routes) ... ok
test_set_deprecated_ethtool_feature (__main__.TestValidator.test_set_deprecated_ethtool_feature)
When passing a deprecated name, their current version is updated. ... ok
test_set_deprecated_master (__main__.TestValidator.test_set_deprecated_master)
wokeignore:rule=master ... ok
test_set_deprecated_slave_type (__main__.TestValidator.test_set_deprecated_slave_type)
wokeignore:rule=slave ... ok
test_set_ethtool_feature (__main__.TestValidator.test_set_ethtool_feature)
When passing the name of an non-deprecated ethtool feature, their ... ok
test_state_absent (__main__.TestValidator.test_state_absent) ... ok
test_state_absent_down (__main__.TestValidator.test_state_absent_down) ... ok
test_state_absent_up_no_type (__main__.TestValidator.test_state_absent_up_no_type) ... ok
test_state_absent_up_type (__main__.TestValidator.test_state_absent_up_type) ... ok
test_state_down_no_type (__main__.TestValidator.test_state_down_no_type) ... ok
test_state_present (__main__.TestValidator.test_state_present) ... ok
test_state_present_down (__main__.TestValidator.test_state_present_down) ... ok
test_state_present_up (__main__.TestValidator.test_state_present_up) ... ok
test_state_up_no_type (__main__.TestValidator.test_state_up_no_type) ... ok
test_state_up_type (__main__.TestValidator.test_state_up_type) ... ok
test_static_ipv6_configured_ipv6_disabled (__main__.TestValidator.test_static_ipv6_configured_ipv6_disabled)
Test that configuring static IPv6 and disabling IPv6 are mutually exclusive. ... ok
test_up_ethernet (__main__.TestValidator.test_up_ethernet) ... ok
test_up_ethernet_mac_mtu_static_ip (__main__.TestValidator.test_up_ethernet_mac_mtu_static_ip) ... ok
test_up_ethernet_no_autoconnect (__main__.TestValidator.test_up_ethernet_no_autoconnect) ... ok
test_up_single_v4_dns (__main__.TestValidator.test_up_single_v4_dns) ... ok
test_valid_persistent_state (__main__.TestValidator.test_valid_persistent_state)
Test that when persistent_state is present and state is set to present ... ok
test_validate_allow_empty_string_in_list (__main__.TestValidator.test_validate_allow_empty_string_in_list)
Test that when ArgValidatorStr.allow_empty is True, empty string is allowed in ... ok
test_validate_bool (__main__.TestValidator.test_validate_bool) ... ok
test_validate_dict (__main__.TestValidator.test_validate_dict) ... ok
test_validate_disallow_none_in_list (__main__.TestValidator.test_validate_disallow_none_in_list)
Test that None is not allowed in ArgValidatorList ... ok
test_validate_ignore_auto_dns (__main__.TestValidator.test_validate_ignore_auto_dns)
Test and validate a connection profile with ipv4_ignore_auto_dns and ... ok
test_validate_int (__main__.TestValidator.test_validate_int) ... ok
test_validate_list (__main__.TestValidator.test_validate_list) ... ok
test_validate_list_remove_none_or_empty (__main__.TestValidator.test_validate_list_remove_none_or_empty)
Test that when ArgValidatorStr.remove_none_or_empty is True, None or empty ... ok
test_validate_range (__main__.TestValidator.test_validate_range) ... ok
test_validate_str (__main__.TestValidator.test_validate_str) ... ok
test_vlan (__main__.TestValidator.test_vlan) ... ok
test_wireless_eap (__main__.TestValidator.test_wireless_eap)
Test wireless connection with wpa-eap ... ok
test_wireless_initscripts (__main__.TestValidator.test_wireless_initscripts)
should fail to create wireless connection with initscripts ... ok
test_wireless_no_802_1x_for_wpa_eap (__main__.TestValidator.test_wireless_no_802_1x_for_wpa_eap)
should fail if no 802.1x parameters are defined for a wireless ... ok
test_wireless_no_options_defined (__main__.TestValidator.test_wireless_no_options_defined)
should fail if a connection of type='wireless' does not ... ok
test_wireless_no_password (__main__.TestValidator.test_wireless_no_password)
should fail if wpa-psk is selected and no password provided ... ok
test_wireless_password_too_long (__main__.TestValidator.test_wireless_password_too_long)
should fail if wpa-psk is selected and no password provided ... ok
test_wireless_psk (__main__.TestValidator.test_wireless_psk)
Test wireless connection with wpa-psk auth ... ok
test_wireless_ssid_too_long (__main__.TestValidator.test_wireless_ssid_too_long)
should fail if ssid longer than 32 bytes ... ok
test_wireless_unsupported_type (__main__.TestValidator.test_wireless_unsupported_type)
should fail if a non wireless connection has wireless settings defined ... ok
test_invalid_bond_option_ad (__main__.TestValidatorDictBond.test_invalid_bond_option_ad)
Test the ad bond option restrictions ... ok
test_invalid_bond_option_arp (__main__.TestValidatorDictBond.test_invalid_bond_option_arp)
Test the arp bond option restrictions ... ok
test_invalid_bond_option_downdelay_updelay (__main__.TestValidatorDictBond.test_invalid_bond_option_downdelay_updelay)
Test the downdelay or updelay bond option restrictions ... ok
test_invalid_bond_option_infiniband_port (__main__.TestValidatorDictBond.test_invalid_bond_option_infiniband_port)
Test that bond only supports infiniband ports in active-backup mode ... ok
test_invalid_bond_option_packets_per_port (__main__.TestValidatorDictBond.test_invalid_bond_option_packets_per_port)
Test the packets_per_port bond option restrictions ... ok
test_invalid_bond_option_peer_arp_ip_target_arp_interval (__main__.TestValidatorDictBond.test_invalid_bond_option_peer_arp_ip_target_arp_interval)
Test the arp_ip_target or arp_interval bond option restrictions ... ok
test_invalid_bond_option_peer_notif_delay (__main__.TestValidatorDictBond.test_invalid_bond_option_peer_notif_delay)
Test the peer_notif_delay bond option restrictions ... ok
test_invalid_bond_option_primary (__main__.TestValidatorDictBond.test_invalid_bond_option_primary)
Test the primary bond option restrictions ... ok
test_invalid_bond_option_tlb_dynamic_lb (__main__.TestValidatorDictBond.test_invalid_bond_option_tlb_dynamic_lb)
Test the tlb_dynamic_lb bond option restrictions ... ok
test_invalid_pkey_values (__main__.TestValidatorDictInfiniband.test_invalid_pkey_values) ... ok
test_interface_name_and_match_when_match_is_None (__main__.TestValidatorMatch.test_interface_name_and_match_when_match_is_None)
Test that when 'match' setting is None, interface name should be profile name ... ok
test_interface_name_when_match_not_specified (__main__.TestValidatorMatch.test_interface_name_when_match_not_specified)
Test that when 'match' setting is not specified, interface name should be ... ok
test_interface_name_when_match_path_is_empty_list (__main__.TestValidatorMatch.test_interface_name_when_match_path_is_empty_list)
Test that when 'match.path' setting is empty list, interface name should be ... ok
test_interface_name_when_match_path_is_valid (__main__.TestValidatorMatch.test_interface_name_when_match_path_is_valid)
Test that when 'match.path' setting contains interface path, interface name ... ok
test_match_path_empty_list (__main__.TestValidatorMatch.test_match_path_empty_list)
Test that 'match.path' setting can be defined as None, [], [""], [None] or "" ... ok
test_match_path_invalid_connection_type (__main__.TestValidatorMatch.test_match_path_invalid_connection_type)
Test that when 'match.path' setting is correctly defined but the connection ... ok
test_match_path_invalid_setting (__main__.TestValidatorMatch.test_match_path_invalid_setting)
Test that values like ["&"] and ["|"] are invalid values for 'match.path' ... ok
test_match_path_setting_normalization (__main__.TestValidatorMatch.test_match_path_setting_normalization)
Test that 'match.path' setting ["", "usb123", None] will be normalized into ... ok
test_match_path_valid_setting (__main__.TestValidatorMatch.test_match_path_valid_setting)
Test that values like ["pci-0000:00:03.0"] and ["&!pci-0000:00:0[1-3].0"] are ... ok
test_empty_route_table_name (__main__.TestValidatorRouteTable.test_empty_route_table_name)
Test that empty string is invalid value for route table name ... ok
test_invalid_numeric_route_tables (__main__.TestValidatorRouteTable.test_invalid_numeric_route_tables)
Test that the value less than 1 or greater than 4294967295 are the invalid ... ok
test_invalid_route_table_names (__main__.TestValidatorRouteTable.test_invalid_route_table_names)
Test that the route table names should not be composed from the characters ... ok
test_invalid_value_types_for_route_tables (__main__.TestValidatorRouteTable.test_invalid_value_types_for_route_tables)
Test that the value types apart from string type and integer type are all ... ok
test_parse_rt_tables (__main__.TestValidatorRouteTable.test_parse_rt_tables)
Test that the `IPRouteUtils._parse_route_tables_mapping()` will create the ... ok
test_route_with_source_address (__main__.TestValidatorRouteTable.test_route_with_source_address)
Test setting the route with src address specified ... ok
test_table_found_when_validate_route_tables (__main__.TestValidatorRouteTable.test_table_found_when_validate_route_tables)
Test that the `validate_route_tables()` will find the table id mapping from ... ok
test_table_not_found_when_validate_route_tables (__main__.TestValidatorRouteTable.test_table_not_found_when_validate_route_tables)
Test that the validation error is raised when the `validate_route_tables()` cannot ... ok
test_type_route_with_gateway (__main__.TestValidatorRouteTable.test_type_route_with_gateway)
Test that the route type route can not have a gateway ... ok
test_valid_numeric_route_tables (__main__.TestValidatorRouteTable.test_valid_numeric_route_tables)
Test that the value between 1 and 4294967295 are the valid value for numeric ... ok
test_routing_rule_invalid_from_prefix_length (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_from_prefix_length)
Test that the prefix length for from/src cannot be zero when from/src is ... ok
test_routing_rule_invalid_incoming_interface_name (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_incoming_interface_name)
Test the invalid incoming interface name specified in the routing rule ... ok
test_routing_rule_invalid_outgoing_interface_name (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_outgoing_interface_name)
Test the invalid outgoing interface name specified in the routing rule ... ok
test_routing_rule_invalid_to_prefix_length (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_to_prefix_length)
Test that the prefix length for to/dst cannot be zero when to/dst is specified ... ok
test_routing_rule_missing_address_family (__main__.TestValidatorRoutingRules.test_routing_rule_missing_address_family)
Test that the address family has to be specified if cannot be derived from src ... ok
test_routing_rule_missing_table (__main__.TestValidatorRoutingRules.test_routing_rule_missing_table)
Test that table has to be defined when the action of the routing rule is ... ok
test_routing_rule_validate_address_family (__main__.TestValidatorRoutingRules.test_routing_rule_validate_address_family)
Test that the derived address family and the specified address family should be ... ok
test_routing_rule_validate_fwmark (__main__.TestValidatorRoutingRules.test_routing_rule_validate_fwmark)
Test that fwmark requires fwmask to be specified ... ok
test_routing_rule_validate_fwmask (__main__.TestValidatorRoutingRules.test_routing_rule_validate_fwmask)
Test that fwmask requires fwmark to be specified ... ok
test_routing_rule_validate_suppress_prefixlength (__main__.TestValidatorRoutingRules.test_routing_rule_validate_suppress_prefixlength)
Test the invalid suppress_prefixlength setting ... ok
test_routing_rule_validate_uid (__main__.TestValidatorRoutingRules.test_routing_rule_validate_uid)
Test the invalid uid specified in the routing rule ... ok
test_table_found_when_lookup_named_table (__main__.TestValidatorRoutingRules.test_table_found_when_lookup_named_table)
Test that the `validate_route_tables()` will find the table id mapping from ... ok

----------------------------------------------------------------------
Ran 151 tests in 0.080s

OK

TASK [Show python2 unit test results] ******************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:147
Monday 11 November 2024  20:13:45 -0500 (0:00:00.743)       0:00:22.602 ******* 
ok: [managed-node3] => {
    "python2_result.stderr_lines": "VARIABLE IS NOT DEFINED!: 'dict object' has no attribute 'stderr_lines'"
}

TASK [Show python3 unit test results] ******************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:152
Monday 11 November 2024  20:13:45 -0500 (0:00:00.060)       0:00:22.662 ******* 
ok: [managed-node3] => {
    "python3_result.stderr_lines": [
        "test_connection_ensure_setting (__main__.TestNM.test_connection_ensure_setting) ... ok",
        "test_connection_list (__main__.TestNM.test_connection_list) ... ok",
        "test_path_to_glib_bytes (__main__.TestNM.test_path_to_glib_bytes) ... ok",
        "test_link_read_permaddress (__main__.TestSysUtils.test_link_read_permaddress) ... ok",
        "test_convert_passwd_flags_nm (__main__.TestUtils.test_convert_passwd_flags_nm) ... ok",
        "test_mac_ntoa (__main__.TestUtils.test_mac_ntoa) ... ok",
        "test_802_1x_1 (__main__.TestValidator.test_802_1x_1)",
        "Test private key with password ... ok",
        "test_802_1x_2 (__main__.TestValidator.test_802_1x_2)",
        "Test 802.1x profile with unencrypted private key, ... ok",
        "test_802_1x_3 (__main__.TestValidator.test_802_1x_3)",
        "Test 802.1x profile with unencrypted private key and ca_path ... ok",
        "test_802_1x_ca_path_and_system_ca_certs (__main__.TestValidator.test_802_1x_ca_path_and_system_ca_certs)",
        "should fail if ca_path and system_ca_certs are used together ... ok",
        "test_802_1x_initscripts (__main__.TestValidator.test_802_1x_initscripts)",
        "should fail to create ieee802_1x connection with initscripts ... ok",
        "test_802_1x_unsupported_type (__main__.TestValidator.test_802_1x_unsupported_type)",
        "should fail if a non ethernet/wireless connection has 802.1x settings defined ... ok",
        "test_absent (__main__.TestValidator.test_absent) ... ok",
        "test_auto6_enabled_ipv6_disabled (__main__.TestValidator.test_auto6_enabled_ipv6_disabled)",
        "Test that enabling `auto6` and disabling IPv6 are mutually exclusive. ... ok",
        "test_auto_gateway_false (__main__.TestValidator.test_auto_gateway_false) ... ok",
        "test_auto_gateway_no_gateway (__main__.TestValidator.test_auto_gateway_no_gateway) ... ok",
        "test_auto_gateway_true (__main__.TestValidator.test_auto_gateway_true) ... ok",
        "test_bond (__main__.TestValidator.test_bond) ... ok",
        "test_bond_active_backup (__main__.TestValidator.test_bond_active_backup) ... ok",
        "test_bridge2 (__main__.TestValidator.test_bridge2) ... ok",
        "test_bridge_no_dhcp4_auto6 (__main__.TestValidator.test_bridge_no_dhcp4_auto6) ... ok",
        "test_default_states (__main__.TestValidator.test_default_states) ... ok",
        "test_default_states_type (__main__.TestValidator.test_default_states_type) ... ok",
        "test_deprecated_ethtool_names (__main__.TestValidator.test_deprecated_ethtool_names)",
        "Test that for each validator in ... ok",
        "test_dns_options_argvalidator (__main__.TestValidator.test_dns_options_argvalidator)",
        "Test that argvalidator for validating dns_options value is correctly defined. ... ok",
        "test_dns_search_without_ipv4_and_ipv6_configuration (__main__.TestValidator.test_dns_search_without_ipv4_and_ipv6_configuration)",
        "Test that configuring DNS search setting is not allowed when both IPv4 and ... ok",
        "test_empty (__main__.TestValidator.test_empty) ... ok",
        "test_ethernet_mac_address (__main__.TestValidator.test_ethernet_mac_address) ... ok",
        "test_ethernet_speed_settings (__main__.TestValidator.test_ethernet_speed_settings) ... ok",
        "test_ethernet_two_defaults (__main__.TestValidator.test_ethernet_two_defaults) ... ok",
        "test_full_state_absent_defaults (__main__.TestValidator.test_full_state_absent_defaults) ... ok",
        "test_full_state_absent_no_type (__main__.TestValidator.test_full_state_absent_no_type) ... ok",
        "test_full_state_present_no_type (__main__.TestValidator.test_full_state_present_no_type) ... ok",
        "test_full_state_present_type_defaults (__main__.TestValidator.test_full_state_present_type_defaults) ... ok",
        "test_gateway6_configured_ipv6_disabled (__main__.TestValidator.test_gateway6_configured_ipv6_disabled)",
        "Test that configuring `gateway6` and disabling IPv6 are mutually exclusive. ... ok",
        "test_infiniband (__main__.TestValidator.test_infiniband) ... ok",
        "test_infiniband2 (__main__.TestValidator.test_infiniband2) ... ok",
        "test_infiniband3 (__main__.TestValidator.test_infiniband3) ... ok",
        "test_interface_name_bond_empty_interface_name (__main__.TestValidator.test_interface_name_bond_empty_interface_name) ... ok",
        "test_interface_name_bond_profile_as_interface_name (__main__.TestValidator.test_interface_name_bond_profile_as_interface_name) ... ok",
        "test_interface_name_ethernet_None (__main__.TestValidator.test_interface_name_ethernet_None)",
        "Check that interface_name cannot be None ... ok",
        "test_interface_name_ethernet_default (__main__.TestValidator.test_interface_name_ethernet_default)",
        "Use the profile name as interface_name for ethernet profiles ... ok",
        "test_interface_name_ethernet_empty (__main__.TestValidator.test_interface_name_ethernet_empty)",
        "Allow not to restrict the profile to an interface ... ok",
        "test_interface_name_ethernet_explicit (__main__.TestValidator.test_interface_name_ethernet_explicit)",
        "Use the explicitly provided interface name ... ok",
        "test_interface_name_ethernet_invalid_interface_name (__main__.TestValidator.test_interface_name_ethernet_invalid_interface_name) ... ok",
        "test_interface_name_ethernet_invalid_profile (__main__.TestValidator.test_interface_name_ethernet_invalid_profile)",
        "Require explicit interface_name when the profile name is not a ... ok",
        "test_interface_name_ethernet_mac (__main__.TestValidator.test_interface_name_ethernet_mac)",
        "Do not set interface_name when mac is specified ... ok",
        "test_invalid_autoconnect (__main__.TestValidator.test_invalid_autoconnect) ... ok",
        "test_invalid_cert_path (__main__.TestValidator.test_invalid_cert_path)",
        "should fail if a relative path is used for 802.1x certs/keys ... ok",
        "test_invalid_ethtool_settings (__main__.TestValidator.test_invalid_ethtool_settings)",
        "When both the deprecated and current version of a feature are stated, ... ok",
        "test_invalid_mac (__main__.TestValidator.test_invalid_mac) ... ok",
        "test_invalid_password_flag (__main__.TestValidator.test_invalid_password_flag)",
        "should fail if an invalid private key password flag is set ... ok",
        "test_invalid_persistent_state_down (__main__.TestValidator.test_invalid_persistent_state_down) ... ok",
        "test_invalid_persistent_state_up (__main__.TestValidator.test_invalid_persistent_state_up) ... ok",
        "test_invalid_state_test (__main__.TestValidator.test_invalid_state_test) ... ok",
        "test_invalid_values (__main__.TestValidator.test_invalid_values) ... ok",
        "test_ipv4_dns_without_ipv4_config (__main__.TestValidator.test_ipv4_dns_without_ipv4_config)",
        "Test that configuring IPv4 DNS is not allowed when IPv4 is disabled. ... ok",
        "test_ipv6_dns_options_without_ipv6_config (__main__.TestValidator.test_ipv6_dns_options_without_ipv6_config)",
        "Test that configuring IPv6 DNS options is not allowed when IPv6 is disabled. ... ok",
        "test_ipv6_dns_with_ipv6_disabled (__main__.TestValidator.test_ipv6_dns_with_ipv6_disabled)",
        "Test that configuring IPv6 DNS is not allowed when IPv6 is disabled. ... ok",
        "test_ipv6_dns_with_static_ipv6_configuration (__main__.TestValidator.test_ipv6_dns_with_static_ipv6_configuration)",
        "Test that configuring IPv6 DNS is allowed when static IPv6 is configured. ... ok",
        "test_ipv6_dns_without_ipv6_configuration (__main__.TestValidator.test_ipv6_dns_without_ipv6_configuration)",
        "Test that configuring IPv6 DNS is not allowed when IPv6 is not configured. ... ok",
        "test_ipv6_static (__main__.TestValidator.test_ipv6_static) ... ok",
        "test_macvlan (__main__.TestValidator.test_macvlan) ... ok",
        "test_persistent_state_absent (__main__.TestValidator.test_persistent_state_absent) ... ok",
        "test_persistent_state_present (__main__.TestValidator.test_persistent_state_present) ... ok",
        "test_route_metric6_configured_ipv6_disabled (__main__.TestValidator.test_route_metric6_configured_ipv6_disabled)",
        "Test that configuring `route_metric6` and disabling IPv6 are mutually ... ok",
        "test_route_metric_prefix (__main__.TestValidator.test_route_metric_prefix) ... ok",
        "test_route_v6 (__main__.TestValidator.test_route_v6) ... ok",
        "test_route_without_interface_name (__main__.TestValidator.test_route_without_interface_name) ... ok",
        "test_routes (__main__.TestValidator.test_routes) ... ok",
        "test_set_deprecated_ethtool_feature (__main__.TestValidator.test_set_deprecated_ethtool_feature)",
        "When passing a deprecated name, their current version is updated. ... ok",
        "test_set_deprecated_master (__main__.TestValidator.test_set_deprecated_master)",
        "wokeignore:rule=master ... ok",
        "test_set_deprecated_slave_type (__main__.TestValidator.test_set_deprecated_slave_type)",
        "wokeignore:rule=slave ... ok",
        "test_set_ethtool_feature (__main__.TestValidator.test_set_ethtool_feature)",
        "When passing the name of an non-deprecated ethtool feature, their ... ok",
        "test_state_absent (__main__.TestValidator.test_state_absent) ... ok",
        "test_state_absent_down (__main__.TestValidator.test_state_absent_down) ... ok",
        "test_state_absent_up_no_type (__main__.TestValidator.test_state_absent_up_no_type) ... ok",
        "test_state_absent_up_type (__main__.TestValidator.test_state_absent_up_type) ... ok",
        "test_state_down_no_type (__main__.TestValidator.test_state_down_no_type) ... ok",
        "test_state_present (__main__.TestValidator.test_state_present) ... ok",
        "test_state_present_down (__main__.TestValidator.test_state_present_down) ... ok",
        "test_state_present_up (__main__.TestValidator.test_state_present_up) ... ok",
        "test_state_up_no_type (__main__.TestValidator.test_state_up_no_type) ... ok",
        "test_state_up_type (__main__.TestValidator.test_state_up_type) ... ok",
        "test_static_ipv6_configured_ipv6_disabled (__main__.TestValidator.test_static_ipv6_configured_ipv6_disabled)",
        "Test that configuring static IPv6 and disabling IPv6 are mutually exclusive. ... ok",
        "test_up_ethernet (__main__.TestValidator.test_up_ethernet) ... ok",
        "test_up_ethernet_mac_mtu_static_ip (__main__.TestValidator.test_up_ethernet_mac_mtu_static_ip) ... ok",
        "test_up_ethernet_no_autoconnect (__main__.TestValidator.test_up_ethernet_no_autoconnect) ... ok",
        "test_up_single_v4_dns (__main__.TestValidator.test_up_single_v4_dns) ... ok",
        "test_valid_persistent_state (__main__.TestValidator.test_valid_persistent_state)",
        "Test that when persistent_state is present and state is set to present ... ok",
        "test_validate_allow_empty_string_in_list (__main__.TestValidator.test_validate_allow_empty_string_in_list)",
        "Test that when ArgValidatorStr.allow_empty is True, empty string is allowed in ... ok",
        "test_validate_bool (__main__.TestValidator.test_validate_bool) ... ok",
        "test_validate_dict (__main__.TestValidator.test_validate_dict) ... ok",
        "test_validate_disallow_none_in_list (__main__.TestValidator.test_validate_disallow_none_in_list)",
        "Test that None is not allowed in ArgValidatorList ... ok",
        "test_validate_ignore_auto_dns (__main__.TestValidator.test_validate_ignore_auto_dns)",
        "Test and validate a connection profile with ipv4_ignore_auto_dns and ... ok",
        "test_validate_int (__main__.TestValidator.test_validate_int) ... ok",
        "test_validate_list (__main__.TestValidator.test_validate_list) ... ok",
        "test_validate_list_remove_none_or_empty (__main__.TestValidator.test_validate_list_remove_none_or_empty)",
        "Test that when ArgValidatorStr.remove_none_or_empty is True, None or empty ... ok",
        "test_validate_range (__main__.TestValidator.test_validate_range) ... ok",
        "test_validate_str (__main__.TestValidator.test_validate_str) ... ok",
        "test_vlan (__main__.TestValidator.test_vlan) ... ok",
        "test_wireless_eap (__main__.TestValidator.test_wireless_eap)",
        "Test wireless connection with wpa-eap ... ok",
        "test_wireless_initscripts (__main__.TestValidator.test_wireless_initscripts)",
        "should fail to create wireless connection with initscripts ... ok",
        "test_wireless_no_802_1x_for_wpa_eap (__main__.TestValidator.test_wireless_no_802_1x_for_wpa_eap)",
        "should fail if no 802.1x parameters are defined for a wireless ... ok",
        "test_wireless_no_options_defined (__main__.TestValidator.test_wireless_no_options_defined)",
        "should fail if a connection of type='wireless' does not ... ok",
        "test_wireless_no_password (__main__.TestValidator.test_wireless_no_password)",
        "should fail if wpa-psk is selected and no password provided ... ok",
        "test_wireless_password_too_long (__main__.TestValidator.test_wireless_password_too_long)",
        "should fail if wpa-psk is selected and no password provided ... ok",
        "test_wireless_psk (__main__.TestValidator.test_wireless_psk)",
        "Test wireless connection with wpa-psk auth ... ok",
        "test_wireless_ssid_too_long (__main__.TestValidator.test_wireless_ssid_too_long)",
        "should fail if ssid longer than 32 bytes ... ok",
        "test_wireless_unsupported_type (__main__.TestValidator.test_wireless_unsupported_type)",
        "should fail if a non wireless connection has wireless settings defined ... ok",
        "test_invalid_bond_option_ad (__main__.TestValidatorDictBond.test_invalid_bond_option_ad)",
        "Test the ad bond option restrictions ... ok",
        "test_invalid_bond_option_arp (__main__.TestValidatorDictBond.test_invalid_bond_option_arp)",
        "Test the arp bond option restrictions ... ok",
        "test_invalid_bond_option_downdelay_updelay (__main__.TestValidatorDictBond.test_invalid_bond_option_downdelay_updelay)",
        "Test the downdelay or updelay bond option restrictions ... ok",
        "test_invalid_bond_option_infiniband_port (__main__.TestValidatorDictBond.test_invalid_bond_option_infiniband_port)",
        "Test that bond only supports infiniband ports in active-backup mode ... ok",
        "test_invalid_bond_option_packets_per_port (__main__.TestValidatorDictBond.test_invalid_bond_option_packets_per_port)",
        "Test the packets_per_port bond option restrictions ... ok",
        "test_invalid_bond_option_peer_arp_ip_target_arp_interval (__main__.TestValidatorDictBond.test_invalid_bond_option_peer_arp_ip_target_arp_interval)",
        "Test the arp_ip_target or arp_interval bond option restrictions ... ok",
        "test_invalid_bond_option_peer_notif_delay (__main__.TestValidatorDictBond.test_invalid_bond_option_peer_notif_delay)",
        "Test the peer_notif_delay bond option restrictions ... ok",
        "test_invalid_bond_option_primary (__main__.TestValidatorDictBond.test_invalid_bond_option_primary)",
        "Test the primary bond option restrictions ... ok",
        "test_invalid_bond_option_tlb_dynamic_lb (__main__.TestValidatorDictBond.test_invalid_bond_option_tlb_dynamic_lb)",
        "Test the tlb_dynamic_lb bond option restrictions ... ok",
        "test_invalid_pkey_values (__main__.TestValidatorDictInfiniband.test_invalid_pkey_values) ... ok",
        "test_interface_name_and_match_when_match_is_None (__main__.TestValidatorMatch.test_interface_name_and_match_when_match_is_None)",
        "Test that when 'match' setting is None, interface name should be profile name ... ok",
        "test_interface_name_when_match_not_specified (__main__.TestValidatorMatch.test_interface_name_when_match_not_specified)",
        "Test that when 'match' setting is not specified, interface name should be ... ok",
        "test_interface_name_when_match_path_is_empty_list (__main__.TestValidatorMatch.test_interface_name_when_match_path_is_empty_list)",
        "Test that when 'match.path' setting is empty list, interface name should be ... ok",
        "test_interface_name_when_match_path_is_valid (__main__.TestValidatorMatch.test_interface_name_when_match_path_is_valid)",
        "Test that when 'match.path' setting contains interface path, interface name ... ok",
        "test_match_path_empty_list (__main__.TestValidatorMatch.test_match_path_empty_list)",
        "Test that 'match.path' setting can be defined as None, [], [\"\"], [None] or \"\" ... ok",
        "test_match_path_invalid_connection_type (__main__.TestValidatorMatch.test_match_path_invalid_connection_type)",
        "Test that when 'match.path' setting is correctly defined but the connection ... ok",
        "test_match_path_invalid_setting (__main__.TestValidatorMatch.test_match_path_invalid_setting)",
        "Test that values like [\"&\"] and [\"|\"] are invalid values for 'match.path' ... ok",
        "test_match_path_setting_normalization (__main__.TestValidatorMatch.test_match_path_setting_normalization)",
        "Test that 'match.path' setting [\"\", \"usb123\", None] will be normalized into ... ok",
        "test_match_path_valid_setting (__main__.TestValidatorMatch.test_match_path_valid_setting)",
        "Test that values like [\"pci-0000:00:03.0\"] and [\"&!pci-0000:00:0[1-3].0\"] are ... ok",
        "test_empty_route_table_name (__main__.TestValidatorRouteTable.test_empty_route_table_name)",
        "Test that empty string is invalid value for route table name ... ok",
        "test_invalid_numeric_route_tables (__main__.TestValidatorRouteTable.test_invalid_numeric_route_tables)",
        "Test that the value less than 1 or greater than 4294967295 are the invalid ... ok",
        "test_invalid_route_table_names (__main__.TestValidatorRouteTable.test_invalid_route_table_names)",
        "Test that the route table names should not be composed from the characters ... ok",
        "test_invalid_value_types_for_route_tables (__main__.TestValidatorRouteTable.test_invalid_value_types_for_route_tables)",
        "Test that the value types apart from string type and integer type are all ... ok",
        "test_parse_rt_tables (__main__.TestValidatorRouteTable.test_parse_rt_tables)",
        "Test that the `IPRouteUtils._parse_route_tables_mapping()` will create the ... ok",
        "test_route_with_source_address (__main__.TestValidatorRouteTable.test_route_with_source_address)",
        "Test setting the route with src address specified ... ok",
        "test_table_found_when_validate_route_tables (__main__.TestValidatorRouteTable.test_table_found_when_validate_route_tables)",
        "Test that the `validate_route_tables()` will find the table id mapping from ... ok",
        "test_table_not_found_when_validate_route_tables (__main__.TestValidatorRouteTable.test_table_not_found_when_validate_route_tables)",
        "Test that the validation error is raised when the `validate_route_tables()` cannot ... ok",
        "test_type_route_with_gateway (__main__.TestValidatorRouteTable.test_type_route_with_gateway)",
        "Test that the route type route can not have a gateway ... ok",
        "test_valid_numeric_route_tables (__main__.TestValidatorRouteTable.test_valid_numeric_route_tables)",
        "Test that the value between 1 and 4294967295 are the valid value for numeric ... ok",
        "test_routing_rule_invalid_from_prefix_length (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_from_prefix_length)",
        "Test that the prefix length for from/src cannot be zero when from/src is ... ok",
        "test_routing_rule_invalid_incoming_interface_name (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_incoming_interface_name)",
        "Test the invalid incoming interface name specified in the routing rule ... ok",
        "test_routing_rule_invalid_outgoing_interface_name (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_outgoing_interface_name)",
        "Test the invalid outgoing interface name specified in the routing rule ... ok",
        "test_routing_rule_invalid_to_prefix_length (__main__.TestValidatorRoutingRules.test_routing_rule_invalid_to_prefix_length)",
        "Test that the prefix length for to/dst cannot be zero when to/dst is specified ... ok",
        "test_routing_rule_missing_address_family (__main__.TestValidatorRoutingRules.test_routing_rule_missing_address_family)",
        "Test that the address family has to be specified if cannot be derived from src ... ok",
        "test_routing_rule_missing_table (__main__.TestValidatorRoutingRules.test_routing_rule_missing_table)",
        "Test that table has to be defined when the action of the routing rule is ... ok",
        "test_routing_rule_validate_address_family (__main__.TestValidatorRoutingRules.test_routing_rule_validate_address_family)",
        "Test that the derived address family and the specified address family should be ... ok",
        "test_routing_rule_validate_fwmark (__main__.TestValidatorRoutingRules.test_routing_rule_validate_fwmark)",
        "Test that fwmark requires fwmask to be specified ... ok",
        "test_routing_rule_validate_fwmask (__main__.TestValidatorRoutingRules.test_routing_rule_validate_fwmask)",
        "Test that fwmask requires fwmark to be specified ... ok",
        "test_routing_rule_validate_suppress_prefixlength (__main__.TestValidatorRoutingRules.test_routing_rule_validate_suppress_prefixlength)",
        "Test the invalid suppress_prefixlength setting ... ok",
        "test_routing_rule_validate_uid (__main__.TestValidatorRoutingRules.test_routing_rule_validate_uid)",
        "Test the invalid uid specified in the routing rule ... ok",
        "test_table_found_when_lookup_named_table (__main__.TestValidatorRoutingRules.test_table_found_when_lookup_named_table)",
        "Test that the `validate_route_tables()` will find the table id mapping from ... ok",
        "",
        "----------------------------------------------------------------------",
        "Ran 151 tests in 0.080s",
        "",
        "OK"
    ]
}

TASK [Remove local tar file] ***************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:158
Monday 11 November 2024  20:13:45 -0500 (0:00:00.063)       0:00:22.726 ******* 
changed: [managed-node3 -> localhost] => {
    "changed": true,
    "path": "/tmp/lsrtest_h9leqj6m.tar",
    "state": "absent"
}

TASK [Remove tempdir] **********************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:164
Monday 11 November 2024  20:13:45 -0500 (0:00:00.376)       0:00:23.103 ******* 
changed: [managed-node3] => {
    "changed": true,
    "path": "/tmp/lsrtest_8qet2b32",
    "state": "absent"
}

TASK [Verify network state restored to default] ********************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:169
Monday 11 November 2024  20:13:46 -0500 (0:00:00.408)       0:00:23.511 ******* 
included: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/check_network_dns.yml for managed-node3

TASK [Check routes and DNS] ****************************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/check_network_dns.yml:6
Monday 11 November 2024  20:13:46 -0500 (0:00:00.035)       0:00:23.546 ******* 
ok: [managed-node3] => {
    "changed": false,
    "cmd": "set -euo pipefail\necho IP\nip a\necho IP ROUTE\nip route\necho IP -6 ROUTE\nip -6 route\necho RESOLV\nif [ -f /etc/resolv.conf ]; then\n  cat /etc/resolv.conf\nelse\n  echo NO /etc/resolv.conf\n  ls -alrtF /etc/resolv.* || :\nfi\n",
    "delta": "0:00:00.008805",
    "end": "2024-11-11 20:13:46.678315",
    "rc": 0,
    "start": "2024-11-11 20:13:46.669510"
}

STDOUT:

IP
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 02:79:16:a2:6c:31 brd ff:ff:ff:ff:ff:ff
    altname enX0
    inet 10.31.44.80/22 brd 10.31.47.255 scope global dynamic noprefixroute eth0
       valid_lft 3564sec preferred_lft 3564sec
    inet6 fe80::ed8b:6fba:1f6a:a2f0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
35: rpltstbr: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether aa:ff:8e:13:ba:5a brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.72/31 scope global noprefixroute rpltstbr
       valid_lft forever preferred_lft forever
IP ROUTE
default via 10.31.44.1 dev eth0 proto dhcp src 10.31.44.80 metric 100 
10.31.44.0/22 dev eth0 proto kernel scope link src 10.31.44.80 metric 100 
192.0.2.72/31 dev rpltstbr proto kernel scope link src 192.0.2.72 metric 425 linkdown 
IP -6 ROUTE
fe80::/64 dev eth0 proto kernel metric 1024 pref medium
RESOLV
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0 trust-ad
search us-east-1.aws.redhat.com

TASK [Verify DNS and network connectivity] *************************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/check_network_dns.yml:24
Monday 11 November 2024  20:13:46 -0500 (0:00:00.415)       0:00:23.962 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "ansible_facts[\"distribution\"] == \"CentOS\"",
    "skip_reason": "Conditional result was False"
}

TASK [Ensure that at least one python unit test ran] ***************************
task path: /tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:172
Monday 11 November 2024  20:13:46 -0500 (0:00:00.036)       0:00:23.998 ******* 
skipping: [managed-node3] => {
    "changed": false,
    "false_condition": "not python2_available is succeeded and not python3_available is succeeded",
    "skip_reason": "Conditional result was False"
}

PLAY RECAP *********************************************************************
managed-node3              : ok=34   changed=8    unreachable=0    failed=0    skipped=9    rescued=0    ignored=2   

Monday 11 November 2024  20:13:46 -0500 (0:00:00.026)       0:00:24.024 ******* 
=============================================================================== 
Install dependencies ---------------------------------------------------- 9.37s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:9 
Gathering Facts --------------------------------------------------------- 1.47s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:3 
Untar testrepo.tar ------------------------------------------------------ 1.33s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:66 
Copy testrepo.tar to the remote system ---------------------------------- 1.21s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:60 
Copy unit test to remote system ----------------------------------------- 1.03s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:97 
Gathering Facts --------------------------------------------------------- 1.03s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:23 
Create subdirectory '/ansible/module_utils' under '/tmp/lsrtest_8qet2b32' --- 0.95s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:72 
Run python3 unit tests -------------------------------------------------- 0.74s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:138 
Gather the minimum subset of ansible_facts required by the network role test --- 0.57s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:3 
Create tempdir for code to test ----------------------------------------- 0.55s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:28 
Check if system is ostree ----------------------------------------------- 0.50s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/el_repo_setup.yml:17 
Create Tar file --------------------------------------------------------- 0.43s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:48 
Check routes and DNS ---------------------------------------------------- 0.42s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/check_network_dns.yml:6 
Fake out python module directories, primarily for python2 --------------- 0.41s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:88 
Remove tempdir ---------------------------------------------------------- 0.41s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:164 
Find parent directory and path of modules ------------------------------- 0.39s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tasks/get_modules_and_utils_paths.yml:42 
Move module_utils to ansible directory ---------------------------------- 0.39s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:81 
List the files in /tmp/lsrtest_8qet2b32 --------------------------------- 0.38s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:107 
Remove local tar file --------------------------------------------------- 0.38s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:158 
Check if python3 is available ------------------------------------------- 0.37s
/tmp/collections-n5m/ansible_collections/fedora/linux_system_roles/tests/network/tests_unit.yml:131