# STDOUT: ---v---v---v---v---v--- ansible-playbook [core 2.16.0] config file = /etc/ansible/ansible.cfg configured module search path = ['/home/jenkins/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /opt/ansible-2.16/lib/python3.11/site-packages/ansible ansible collection location = /WORKDIR/git-route_typefqc2x01b/.collection executable location = /opt/ansible-2.16/bin/ansible-playbook python version = 3.11.5 (main, Sep 7 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)] (/opt/ansible-2.16/bin/python) jinja version = 3.1.2 libyaml = True Using /etc/ansible/ansible.cfg as config file Skipping callback 'debug', as we already have a stdout callback. 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 /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml PLAY [Setup for test running] ************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:3 Tuesday 19 December 2023 23:15:55 +0000 (0:00:00.011) 0:00:00.011 ****** ok: [sut] TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:6 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.666) 0:00:00.678 ****** included: /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml for sut TASK [Gather the minimum subset of ansible_facts required by the network role test] *** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:3 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.010) 0:00:00.688 ****** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:17 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.233) 0:00:00.921 ****** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:22 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.181) 0:00:01.103 ****** ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:26 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.013) 0:00:01.117 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '6'", "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:51 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.008) 0:00:01.125 ****** included: /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 7] *********************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:8 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.020) 0:00:01.146 ****** ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "rpm", "-iv", "https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" ], "delta": null, "end": null, "rc": 0, "start": null } STDOUT: skipped, since /etc/yum.repos.d/epel.repo exists MSG: Did not run command since '/etc/yum.repos.d/epel.repo' exists TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:24 Tuesday 19 December 2023 23:15:56 +0000 (0:00:00.180) 0:00:01.326 ****** ok: [sut] => { "changed": false, "rc": 0, "results": [ "yum-utils-1.1.31-54.el7_8.noarch providing yum-utils is already installed" ] } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:30 Tuesday 19 December 2023 23:15:57 +0000 (0:00:00.427) 0:00:01.753 ****** ok: [sut] => { "changed": false, "cmd": [ "yum-config-manager", "--enable", "epel" ], "delta": "0:00:00.180545", "end": "2023-12-19 23:15:57.649951", "rc": 0, "start": "2023-12-19 23:15:57.469406" } STDOUT: Loaded plugins: fastestmirror ================================== repo: epel ================================== [epel] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7 baseurl = cache = 0 cachedir = /var/cache/yum/x86_64/7/epel check_config_file_age = True compare_providers_priority = 80 cost = 1000 deltarpm_metadata_percentage = 100 deltarpm_percentage = enabled = True enablegroups = True exclude = failovermethod = priority ftp_disable_epsv = False gpgcadir = /var/lib/yum/repos/x86_64/7/epel/gpgcadir gpgcakey = gpgcheck = True gpgdir = /var/lib/yum/repos/x86_64/7/epel/gpgdir gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 hdrdir = /var/cache/yum/x86_64/7/epel/headers http_caching = all includepkgs = ip_resolve = keepalive = True keepcache = False mddownloadpolicy = sqlite mdpolicy = group:small mediaid = metadata_expire = 21600 metadata_expire_filter = read-only:present metalink = https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=x86_64&infra=stock&content=centos minrate = 0 mirrorlist = mirrorlist_expire = 86400 name = Extra Packages for Enterprise Linux 7 - x86_64 old_base_cache_dir = password = persistdir = /var/lib/yum/repos/x86_64/7/epel pkgdir = /var/cache/yum/x86_64/7/epel/packages proxy = False proxy_dict = proxy_password = proxy_username = repo_gpgcheck = False retries = 10 skip_if_unavailable = False ssl_check_cert_permissions = True sslcacert = sslclientcert = sslclientkey = sslverify = True throttle = 0 timeout = 30.0 ui_id = epel/x86_64 ui_repoid_vars = releasever, basearch username = TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:35 Tuesday 19 December 2023 23:15:57 +0000 (0:00:00.309) 0:00:02.062 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '8'", "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:40 Tuesday 19 December 2023 23:15:57 +0000 (0:00:00.009) 0:00:02.072 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '6'", "skip_reason": "Conditional result was False" } TASK [Install dependencies] **************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:9 Tuesday 19 December 2023 23:15:57 +0000 (0:00:00.008) 0:00:02.080 ****** ok: [sut] => (item=NetworkManager-libnm) => { "ansible_loop_var": "item", "changed": false, "item": "NetworkManager-libnm", "rc": 0, "results": [ "1:NetworkManager-libnm-1.18.8-2.el7_9.x86_64 providing NetworkManager-libnm is already installed" ] } failed: [sut] (item=python2-gobject-base) => { "ansible_loop_var": "item", "changed": false, "item": "python2-gobject-base", "rc": 126, "results": [ "No package matching 'python2-gobject-base' found available, installed or updated" ] } MSG: No package matching 'python2-gobject-base' found available, installed or updated failed: [sut] (item=python3-gobject-base) => { "ansible_loop_var": "item", "changed": false, "item": "python3-gobject-base", "rc": 126, "results": [ "No package matching 'python3-gobject-base' found available, installed or updated" ] } MSG: No package matching 'python3-gobject-base' found available, installed or updated ok: [sut] => (item=python-gobject-base) => { "ansible_loop_var": "item", "changed": false, "item": "python-gobject-base", "rc": 0, "results": [ "python-gobject-base-3.22.0-1.el7_4.1.x86_64 providing python-gobject-base is already installed" ] } changed: [sut] => (item=python2-mock) => { "ansible_loop_var": "item", "changed": true, "changes": { "installed": [ "python2-mock" ] }, "item": "python2-mock", "rc": 0, "results": [ "Loaded plugins: fastestmirror\nLoading mirror speeds from cached hostfile\n * base: download.cf.centos.org\n * epel: d2lzkl7pfhq30w.cloudfront.net\n * extras: download.cf.centos.org\n * updates: download.cf.centos.org\nResolving Dependencies\n--> Running transaction check\n---> Package python2-mock.noarch 0:1.0.1-10.el7 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n python2-mock noarch 1.0.1-10.el7 epel 92 k\n\nTransaction Summary\n================================================================================\nInstall 1 Package\n\nTotal download size: 92 k\nInstalled size: 365 k\nDownloading packages:\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Installing : python2-mock-1.0.1-10.el7.noarch 1/1 \n Verifying : python2-mock-1.0.1-10.el7.noarch 1/1 \n\nInstalled:\n python2-mock.noarch 0:1.0.1-10.el7 \n\nComplete!\n" ] } ...ignoring PLAY [Execute python unit tests] *********************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:23 Tuesday 19 December 2023 23:16:01 +0000 (0:00:04.127) 0:00:06.208 ****** ok: [sut] TASK [Create tempdir for code to test] ***************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:28 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.521) 0:00:06.729 ****** changed: [sut] => { "changed": true, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/tmp/lsrtest_IvXsZE", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 4096, "state": "directory", "uid": 0 } TASK [Get tempfile for tar] **************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:34 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.174) 0:00:06.903 ****** changed: [sut -> localhost] => { "changed": true, "gid": 1001, "group": "jenkins", "mode": "0600", "owner": "jenkins", "path": "/tmp/lsrtest_2zg93nre.tar", "size": 0, "state": "file", "uid": 1000090000 } TASK [Include the task 'get_modules_and_utils_paths.yml'] ********************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:41 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.116) 0:00:07.020 ****** included: /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml for sut TASK [Set collection paths] **************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml:3 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.011) 0:00:07.032 ****** ok: [sut] => { "ansible_facts": { "collection_paths": [ "/WORKDIR/git-route_typefqc2x01b/.collection", "/WORKDIR/git-route_typefqc2x01b/.collection" ] }, "changed": false } TASK [Set search paths] ******************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml:13 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.020) 0:00:07.053 ****** ok: [sut] => { "ansible_facts": { "module_utils_search_path": [ "../../module_utils", "../module_utils", "/home/jenkins/.ansible/plugins/module_utils", "/usr/share/ansible/plugins/module_utils" ], "modules_search_path": [ "../../library", "../library", "/home/jenkins/.ansible/plugins/modules", "/usr/share/ansible/plugins/modules" ] }, "changed": false } TASK [Find parent directory and path of modules] ******************************* task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml:42 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.021) 0:00:07.075 ****** ok: [sut -> localhost] => { "changed": false, "cmd": "set -euxo pipefail\nfor dir in ../../library ../library /home/jenkins/.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 /WORKDIR/git-route_typefqc2x01b/.collection /WORKDIR/git-route_typefqc2x01b/.collection; 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.005126", "end": "2023-12-19 23:16:02.796910", "rc": 0, "start": "2023-12-19 23:16:02.791784" } STDOUT: /WORKDIR/git-route_typefqc2x01b library STDERR: + for dir in ../../library ../library /home/jenkins/.ansible/plugins/modules /usr/share/ansible/plugins/modules + '[' -f ../../library/network_connections.py ']' + for dir in ../../library ../library /home/jenkins/.ansible/plugins/modules /usr/share/ansible/plugins/modules + '[' -f ../library/network_connections.py ']' ++ dirname ../library + readlink -f .. + basename ../library + exit 0 TASK [Find parent directory and path of module_utils] ************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml:69 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.129) 0:00:07.204 ****** ok: [sut -> localhost] => { "changed": false, "cmd": "set -euxo pipefail\nfor dir in ../../module_utils ../module_utils /home/jenkins/.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 /WORKDIR/git-route_typefqc2x01b/.collection /WORKDIR/git-route_typefqc2x01b/.collection; 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.006002", "end": "2023-12-19 23:16:02.938657", "rc": 0, "start": "2023-12-19 23:16:02.932655" } STDOUT: /WORKDIR/git-route_typefqc2x01b module_utils STDERR: + for dir in ../../module_utils ../module_utils /home/jenkins/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils + '[' -d ../../module_utils/network_lsr ']' + for dir in ../../module_utils ../module_utils /home/jenkins/.ansible/plugins/module_utils /usr/share/ansible/plugins/module_utils + '[' -d ../module_utils/network_lsr ']' ++ dirname ../module_utils + readlink -f .. + basename ../module_utils + exit 0 TASK [Create Tar file] ********************************************************* task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:48 Tuesday 19 December 2023 23:16:02 +0000 (0:00:00.141) 0:00:07.346 ****** ok: [sut -> localhost] => { "changed": false, "cmd": [ "tar", "-cvf", "/tmp/lsrtest_2zg93nre.tar", "--exclude", "*.pyc", "--exclude", "__pycache__", "-C", "/WORKDIR/git-route_typefqc2x01b", "library", "-C", "/WORKDIR/git-route_typefqc2x01b", "module_utils" ], "delta": "0:00:00.003305", "end": "2023-12-19 23:16:03.057017", "rc": 0, "start": "2023-12-19 23:16:03.053712" } STDOUT: library/ library/__init__.py library/network_connections.py library/network_state.py module_utils/ module_utils/network_lsr/ module_utils/network_lsr/__init__.py module_utils/network_lsr/argument_validator.py module_utils/network_lsr/ethtool.py module_utils/network_lsr/myerror.py module_utils/network_lsr/nm/ module_utils/network_lsr/nm/__init__.py module_utils/network_lsr/nm/active_connection.py module_utils/network_lsr/nm/client.py module_utils/network_lsr/nm/connection.py module_utils/network_lsr/nm/error.py module_utils/network_lsr/nm/provider.py module_utils/network_lsr/nm_provider.py module_utils/network_lsr/utils.py TASK [Copy testrepo.tar to the remote system] ********************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:60 Tuesday 19 December 2023 23:16:03 +0000 (0:00:00.122) 0:00:07.468 ****** changed: [sut] => { "changed": true, "checksum": "43801a824c382df358d46f2e45d2070d412c9370", "dest": "/tmp/lsrtest_IvXsZE/lsrtest_2zg93nre.tar", "gid": 0, "group": "root", "md5sum": "ac0cdc1a3793ce0a09571036dfb9b527", "mode": "0600", "owner": "root", "secontext": "unconfined_u:object_r:admin_home_t:s0", "size": 266240, "src": "/root/.ansible/tmp/ansible-tmp-1703027763.1026328-12724-275284334525060/source", "state": "file", "uid": 0 } TASK [Untar testrepo.tar] ****************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:66 Tuesday 19 December 2023 23:16:03 +0000 (0:00:00.543) 0:00:08.011 ****** changed: [sut] => { "changed": true, "dest": "/tmp/lsrtest_IvXsZE", "extract_results": { "cmd": [ "/usr/bin/gtar", "--extract", "-C", "/tmp/lsrtest_IvXsZE", "-f", "/tmp/lsrtest_IvXsZE/lsrtest_2zg93nre.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": 4096, "src": "/tmp/lsrtest_IvXsZE/lsrtest_2zg93nre.tar", "state": "directory", "uid": 0 } TASK [Create subdirectory '/ansible/module_utils' under '/tmp/lsrtest_IvXsZE'] *** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:72 Tuesday 19 December 2023 23:16:04 +0000 (0:00:00.607) 0:00:08.618 ****** changed: [sut] => (item=/tmp/lsrtest_IvXsZE/ansible) => { "ansible_loop_var": "item", "changed": true, "gid": 0, "group": "root", "item": "/tmp/lsrtest_IvXsZE/ansible", "mode": "0755", "owner": "root", "path": "/tmp/lsrtest_IvXsZE/ansible", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 4096, "state": "directory", "uid": 0 } changed: [sut] => (item=/tmp/lsrtest_IvXsZE/ansible/module_utils) => { "ansible_loop_var": "item", "changed": true, "gid": 0, "group": "root", "item": "/tmp/lsrtest_IvXsZE/ansible/module_utils", "mode": "0755", "owner": "root", "path": "/tmp/lsrtest_IvXsZE/ansible/module_utils", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 4096, "state": "directory", "uid": 0 } TASK [Move module_utils to ansible directory] ********************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:81 Tuesday 19 December 2023 23:16:04 +0000 (0:00:00.328) 0:00:08.947 ****** ok: [sut] => { "changed": false, "cmd": "if [ -d /tmp/lsrtest_IvXsZE/module_utils ]; then\n mv /tmp/lsrtest_IvXsZE/module_utils /tmp/lsrtest_IvXsZE/ansible\nfi\n", "delta": "0:00:00.007681", "end": "2023-12-19 23:16:04.667776", "rc": 0, "start": "2023-12-19 23:16:04.660095" } TASK [Fake out python module directories, primarily for python2] *************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:88 Tuesday 19 December 2023 23:16:04 +0000 (0:00:00.129) 0:00:09.076 ****** ok: [sut] => { "changed": false, "cmd": "for dir in $(find /tmp/lsrtest_IvXsZE -type d -print); do\n if [ ! -f \"$dir/__init__.py\" ]; then\n touch \"$dir/__init__.py\"\n fi\ndone\n", "delta": "0:00:00.010031", "end": "2023-12-19 23:16:04.801279", "rc": 0, "start": "2023-12-19 23:16:04.791248" } TASK [Copy unit test to remote system] ***************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:97 Tuesday 19 December 2023 23:16:04 +0000 (0:00:00.133) 0:00:09.210 ****** changed: [sut] => { "changed": true, "checksum": "7ee0a755d6c65166129c3708d6e8f1bc2621d566", "dest": "/tmp/lsrtest_IvXsZE/test_network_connections.py", "gid": 0, "group": "root", "md5sum": "6763a6365961dba1b74cc43ca9ec57c7", "mode": "0644", "owner": "root", "secontext": "unconfined_u:object_r:admin_home_t:s0", "size": 206385, "src": "/root/.ansible/tmp/ansible-tmp-1703027764.84301-12762-277805575346172/source", "state": "file", "uid": 0 } TASK [Set _lsr_python_path] **************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:103 Tuesday 19 December 2023 23:16:05 +0000 (0:00:00.484) 0:00:09.694 ****** ok: [sut] => { "ansible_facts": { "_lsr_python_path": "/tmp/lsrtest_IvXsZE/library:/tmp/lsrtest_IvXsZE/ansible/module_utils:/tmp/lsrtest_IvXsZE/module_utils:/tmp/lsrtest_IvXsZE" }, "changed": false } TASK [List the files in /tmp/lsrtest_IvXsZE] *********************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:107 Tuesday 19 December 2023 23:16:05 +0000 (0:00:00.011) 0:00:09.706 ****** ok: [sut] => { "changed": false, "cmd": [ "ls", "-alrtFR", "/tmp/lsrtest_IvXsZE" ], "delta": "0:00:00.004842", "end": "2023-12-19 23:16:05.424198", "rc": 0, "start": "2023-12-19 23:16:05.419356" } STDOUT: /tmp/lsrtest_IvXsZE: total 480 drwxr-xr-x. 2 1000090000 1001 4096 Dec 19 22:46 library/ -rw-------. 1 root root 266240 Dec 19 23:16 lsrtest_2zg93nre.tar -rw-r--r--. 1 root root 0 Dec 19 23:16 __init__.py drwxr-xr-x. 3 root root 4096 Dec 19 23:16 ansible/ -rw-r--r--. 1 root root 206385 Dec 19 23:16 test_network_connections.py drwx------. 4 root root 4096 Dec 19 23:16 ./ drwxrwxrwt. 10 root root 4096 Dec 19 23:16 ../ /tmp/lsrtest_IvXsZE/library: total 116 -rw-r--r--. 1 1000090000 1001 2105 Dec 19 22:46 network_state.py -rw-r--r--. 1 1000090000 1001 105007 Dec 19 22:46 network_connections.py -rw-r--r--. 1 1000090000 1001 0 Dec 19 22:46 __init__.py drwxr-xr-x. 2 1000090000 1001 4096 Dec 19 22:46 ./ drwx------. 4 root root 4096 Dec 19 23:16 ../ /tmp/lsrtest_IvXsZE/ansible: total 12 -rw-r--r--. 1 root root 0 Dec 19 23:16 __init__.py drwxr-xr-x. 3 root root 4096 Dec 19 23:16 ./ drwxr-xr-x. 3 1000090000 1001 4096 Dec 19 23:16 module_utils/ drwx------. 4 root root 4096 Dec 19 23:16 ../ /tmp/lsrtest_IvXsZE/ansible/module_utils: total 12 drwxr-xr-x. 3 1000090000 1001 4096 Dec 19 22:46 network_lsr/ drwxr-xr-x. 3 root root 4096 Dec 19 23:16 ../ -rw-r--r--. 1 root root 0 Dec 19 23:16 __init__.py drwxr-xr-x. 3 1000090000 1001 4096 Dec 19 23:16 ./ /tmp/lsrtest_IvXsZE/ansible/module_utils/network_lsr: total 144 -rw-r--r--. 1 1000090000 1001 11387 Dec 19 22:46 utils.py -rw-r--r--. 1 1000090000 1001 1594 Dec 19 22:46 nm_provider.py drwxr-xr-x. 2 1000090000 1001 4096 Dec 19 22:46 nm/ -rw-r--r--. 1 1000090000 1001 190 Dec 19 22:46 myerror.py -rw-r--r--. 1 1000090000 1001 0 Dec 19 22:46 __init__.py -rw-r--r--. 1 1000090000 1001 1760 Dec 19 22:46 ethtool.py -rw-r--r--. 1 1000090000 1001 110205 Dec 19 22:46 argument_validator.py drwxr-xr-x. 3 1000090000 1001 4096 Dec 19 22:46 ./ drwxr-xr-x. 3 1000090000 1001 4096 Dec 19 23:16 ../ /tmp/lsrtest_IvXsZE/ansible/module_utils/network_lsr/nm: total 32 -rw-r--r--. 1 1000090000 1001 3154 Dec 19 22:46 provider.py -rw-r--r--. 1 1000090000 1001 343 Dec 19 22:46 __init__.py -rw-r--r--. 1 1000090000 1001 175 Dec 19 22:46 error.py -rw-r--r--. 1 1000090000 1001 3546 Dec 19 22:46 connection.py -rw-r--r--. 1 1000090000 1001 2834 Dec 19 22:46 client.py -rw-r--r--. 1 1000090000 1001 4012 Dec 19 22:46 active_connection.py drwxr-xr-x. 3 1000090000 1001 4096 Dec 19 22:46 ../ drwxr-xr-x. 2 1000090000 1001 4096 Dec 19 22:46 ./ TASK [Debug the lsr Python path] *********************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:110 Tuesday 19 December 2023 23:16:05 +0000 (0:00:00.127) 0:00:09.833 ****** ok: [sut] => {} MSG: path /tmp/lsrtest_IvXsZE/library:/tmp/lsrtest_IvXsZE/ansible/module_utils:/tmp/lsrtest_IvXsZE/module_utils:/tmp/lsrtest_IvXsZE TASK [Check if python2 is available] ******************************************* task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:114 Tuesday 19 December 2023 23:16:05 +0000 (0:00:00.010) 0:00:09.844 ****** ok: [sut] => { "changed": false, "cmd": [ "python2", "--version" ], "delta": "0:00:00.003833", "end": "2023-12-19 23:16:05.561268", "rc": 0, "start": "2023-12-19 23:16:05.557435" } STDERR: Python 2.7.5 TASK [Run python2 unit tests] ************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:121 Tuesday 19 December 2023 23:16:05 +0000 (0:00:00.125) 0:00:09.970 ****** fatal: [sut]: FAILED! => { "changed": false, "cmd": [ "python2", "/tmp/lsrtest_IvXsZE/test_network_connections.py", "--verbose" ], "delta": "0:00:00.507033", "end": "2023-12-19 23:16:06.201585", "rc": 1, "start": "2023-12-19 23:16:05.694552" } STDERR: test_connection_ensure_setting (__main__.TestNM) ... ok test_connection_list (__main__.TestNM) ... ok test_path_to_glib_bytes (__main__.TestNM) ... ok test_link_read_permaddress (__main__.TestSysUtils) ... ok test_convert_passwd_flags_nm (__main__.TestUtils) ... ok test_mac_ntoa (__main__.TestUtils) ... ok test_802_1x_1 (__main__.TestValidator) ... ok test_802_1x_2 (__main__.TestValidator) ... ok test_802_1x_3 (__main__.TestValidator) ... ok test_802_1x_ca_path_and_system_ca_certs (__main__.TestValidator) ... ok test_802_1x_initscripts (__main__.TestValidator) ... ok test_802_1x_unsupported_type (__main__.TestValidator) ... ok test_absent (__main__.TestValidator) ... ok test_auto6_enabled_ipv6_disabled (__main__.TestValidator) ... ok test_auto_gateway_false (__main__.TestValidator) ... ok test_auto_gateway_no_gateway (__main__.TestValidator) ... ok test_auto_gateway_true (__main__.TestValidator) ... ok test_bond (__main__.TestValidator) ... ok test_bond_active_backup (__main__.TestValidator) ... ok test_bridge2 (__main__.TestValidator) ... ok test_bridge_no_dhcp4_auto6 (__main__.TestValidator) ... ok test_default_states (__main__.TestValidator) ... ok test_default_states_type (__main__.TestValidator) ... ok test_deprecated_ethtool_names (__main__.TestValidator) ... ok test_dns_options_argvalidator (__main__.TestValidator) ... ok test_dns_search_without_ipv4_and_ipv6_configuration (__main__.TestValidator) ... ok test_empty (__main__.TestValidator) ... ok test_ethernet_mac_address (__main__.TestValidator) ... ok test_ethernet_speed_settings (__main__.TestValidator) ... ok test_ethernet_two_defaults (__main__.TestValidator) ... ok test_full_state_absent_defaults (__main__.TestValidator) ... ok test_full_state_absent_no_type (__main__.TestValidator) ... ok test_full_state_present_no_type (__main__.TestValidator) ... ok test_full_state_present_type_defaults (__main__.TestValidator) ... ok test_gateway6_configured_ipv6_disabled (__main__.TestValidator) ... ok test_infiniband (__main__.TestValidator) ... ok test_infiniband2 (__main__.TestValidator) ... ok test_infiniband3 (__main__.TestValidator) ... ok test_interface_name_bond_empty_interface_name (__main__.TestValidator) ... ok test_interface_name_bond_profile_as_interface_name (__main__.TestValidator) ... ok test_interface_name_ethernet_None (__main__.TestValidator) Check that interface_name cannot be None ... ok test_interface_name_ethernet_default (__main__.TestValidator) Use the profile name as interface_name for ethernet profiles ... ok test_interface_name_ethernet_empty (__main__.TestValidator) Allow not to restrict the profile to an interface ... ok test_interface_name_ethernet_explicit (__main__.TestValidator) Use the explicitly provided interface name ... ok test_interface_name_ethernet_invalid_interface_name (__main__.TestValidator) ... ok test_interface_name_ethernet_invalid_profile (__main__.TestValidator) Require explicit interface_name when the profile name is not a ... ok test_interface_name_ethernet_mac (__main__.TestValidator) Do not set interface_name when mac is specified ... ok test_invalid_autoconnect (__main__.TestValidator) ... ok test_invalid_cert_path (__main__.TestValidator) ... ok test_invalid_ethtool_settings (__main__.TestValidator) ... ok test_invalid_mac (__main__.TestValidator) ... ok test_invalid_password_flag (__main__.TestValidator) ... ok test_invalid_persistent_state_down (__main__.TestValidator) ... ok test_invalid_persistent_state_up (__main__.TestValidator) ... ok test_invalid_state_test (__main__.TestValidator) ... ok test_invalid_values (__main__.TestValidator) ... ok test_ipv4_dns_without_ipv4_config (__main__.TestValidator) ... ok test_ipv6_dns_options_without_ipv6_config (__main__.TestValidator) ... ok test_ipv6_dns_with_ipv6_disabled (__main__.TestValidator) ... ok test_ipv6_dns_with_static_ipv6_configuration (__main__.TestValidator) ... ok test_ipv6_dns_without_ipv6_configuration (__main__.TestValidator) ... ok test_ipv6_static (__main__.TestValidator) ... ok test_macvlan (__main__.TestValidator) ... ok test_persistent_state_absent (__main__.TestValidator) ... ok test_persistent_state_present (__main__.TestValidator) ... ok test_route_metric6_configured_ipv6_disabled (__main__.TestValidator) ... ok test_route_metric_prefix (__main__.TestValidator) ... ok test_route_v6 (__main__.TestValidator) ... FAIL test_route_without_interface_name (__main__.TestValidator) ... FAIL test_routes (__main__.TestValidator) ... ok test_set_deprecated_ethtool_feature (__main__.TestValidator) ... ok test_set_deprecated_master (__main__.TestValidator) ... ok test_set_deprecated_slave_type (__main__.TestValidator) ... ok test_set_ethtool_feature (__main__.TestValidator) ... ok test_state_absent (__main__.TestValidator) ... ok test_state_absent_down (__main__.TestValidator) ... ok test_state_absent_up_no_type (__main__.TestValidator) ... ok test_state_absent_up_type (__main__.TestValidator) ... ok test_state_down_no_type (__main__.TestValidator) ... ok test_state_present (__main__.TestValidator) ... ok test_state_present_down (__main__.TestValidator) ... ok test_state_present_up (__main__.TestValidator) ... ok test_state_up_no_type (__main__.TestValidator) ... ok test_state_up_type (__main__.TestValidator) ... ok test_static_ipv6_configured_ipv6_disabled (__main__.TestValidator) ... ok test_up_ethernet (__main__.TestValidator) ... ok test_up_ethernet_mac_mtu_static_ip (__main__.TestValidator) ... ok test_up_ethernet_no_autoconnect (__main__.TestValidator) ... ok test_up_single_v4_dns (__main__.TestValidator) ... ok test_valid_persistent_state (__main__.TestValidator) ... ok test_validate_allow_empty_string_in_list (__main__.TestValidator) ... ok test_validate_bool (__main__.TestValidator) ... ok test_validate_dict (__main__.TestValidator) ... ok test_validate_disallow_none_in_list (__main__.TestValidator) ... ok test_validate_ignore_auto_dns (__main__.TestValidator) ... ok test_validate_int (__main__.TestValidator) ... ok test_validate_list (__main__.TestValidator) ... ok test_validate_list_remove_none_or_empty (__main__.TestValidator) ... ok test_validate_range (__main__.TestValidator) ... ok test_validate_str (__main__.TestValidator) ... ok test_vlan (__main__.TestValidator) ... ok test_wireless_eap (__main__.TestValidator) ... ok test_wireless_initscripts (__main__.TestValidator) ... ok test_wireless_no_802_1x_for_wpa_eap (__main__.TestValidator) ... ok test_wireless_no_options_defined (__main__.TestValidator) ... ok test_wireless_no_password (__main__.TestValidator) ... ok test_wireless_password_too_long (__main__.TestValidator) ... ok test_wireless_psk (__main__.TestValidator) ... ok test_wireless_ssid_too_long (__main__.TestValidator) ... ok test_wireless_unsupported_type (__main__.TestValidator) ... ok test_invalid_bond_option_ad (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_arp (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_downdelay_updelay (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_infiniband_port (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_packets_per_port (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_peer_arp_ip_target_arp_interval (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_peer_notif_delay (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_primary (__main__.TestValidatorDictBond) ... ok test_invalid_bond_option_tlb_dynamic_lb (__main__.TestValidatorDictBond) ... ok test_invalid_pkey_values (__main__.TestValidatorDictInfiniband) ... ok test_interface_name_and_match_when_match_is_None (__main__.TestValidatorMatch) ... ok test_interface_name_when_match_not_specified (__main__.TestValidatorMatch) ... ok test_interface_name_when_match_path_is_empty_list (__main__.TestValidatorMatch) ... ok test_interface_name_when_match_path_is_valid (__main__.TestValidatorMatch) ... ok test_match_path_empty_list (__main__.TestValidatorMatch) ... ok test_match_path_invalid_connection_type (__main__.TestValidatorMatch) ... ok test_match_path_invalid_setting (__main__.TestValidatorMatch) ... ok test_match_path_setting_normalization (__main__.TestValidatorMatch) ... ok test_match_path_valid_setting (__main__.TestValidatorMatch) ... ok test_empty_route_table_name (__main__.TestValidatorRouteTable) ... ok test_invalid_numeric_route_tables (__main__.TestValidatorRouteTable) ... ok test_invalid_route_table_names (__main__.TestValidatorRouteTable) ... ok test_invalid_value_types_for_route_tables (__main__.TestValidatorRouteTable) ... ok test_parse_rt_tables (__main__.TestValidatorRouteTable) ... ok test_route_type_route_with_next_hop (__main__.TestValidatorRouteTable) ... ok test_table_found_when_validate_route_tables (__main__.TestValidatorRouteTable) ... ok test_table_not_found_when_validate_route_tables (__main__.TestValidatorRouteTable) ... ok test_valid_numeric_route_tables (__main__.TestValidatorRouteTable) ... ok test_routing_rule_invalid_from_prefix_length (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_invalid_incoming_interface_name (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_invalid_outgoing_interface_name (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_invalid_to_prefix_length (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_missing_address_family (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_missing_table (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_validate_address_family (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_validate_fwmark (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_validate_fwmask (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_validate_suppress_prefixlength (__main__.TestValidatorRoutingRules) ... ok test_routing_rule_validate_uid (__main__.TestValidatorRoutingRules) ... ok test_table_found_when_lookup_named_table (__main__.TestValidatorRoutingRules) ... ok ====================================================================== FAIL: test_route_v6 (__main__.TestValidator) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 2878, in test_route_v6 "rule6": None, File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 349, in do_connections_validate self.do_connections_validate_nm(input_connections, **kwargs) File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 308, in do_connections_validate_nm con_new, kwargs["nm_route_list_expected"][idx] File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 244, in assert_nm_connection_routes_expected self.assertEqual(route_list_exp, route_list_new) AssertionError: Lists differ: [{'network': '192.168.40.0', '... != [{'network': '192.168.40.0', '... First differing element 0: {'network': '192.168.40.0', 'family': 2, 'route_type': None, 'metric': 545, 'prefix': 24, 'table': None, 'gateway': None} {'network': '192.168.40.0', 'family': 2, 'metric': 545, 'prefix': 24, 'table': None, 'gateway': None} [{'family': 2, 'gateway': None, 'metric': 545, 'network': '192.168.40.0', 'prefix': 24, - 'route_type': None, 'table': None}, {'family': 2, 'gateway': None, 'metric': -1, 'network': '192.168.46.0', 'prefix': 30, - 'route_type': None, 'table': None}, {'family': 2, 'gateway': None, 'metric': 545, 'network': '192.168.45.0', 'prefix': 24, - 'route_type': None, 'table': None}, {'family': 10, 'gateway': None, 'metric': -1, 'network': 'a:b:c:f::', 'prefix': 64, - 'route_type': None, 'table': None}, {'family': 10, 'gateway': None, 'metric': -1, 'network': 'a:b:c:d::', 'prefix': 64, - 'route_type': None, 'table': None}] ====================================================================== FAIL: test_route_without_interface_name (__main__.TestValidator) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 3040, in test_route_without_interface_name route_device_warning.format("a:b:c:d::/64"), File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 349, in do_connections_validate self.do_connections_validate_nm(input_connections, **kwargs) File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 308, in do_connections_validate_nm con_new, kwargs["nm_route_list_expected"][idx] File "/tmp/lsrtest_IvXsZE/test_network_connections.py", line 244, in assert_nm_connection_routes_expected self.assertEqual(route_list_exp, route_list_new) AssertionError: Lists differ: [{'network': '192.168.40.0', '... != [{'network': '192.168.40.0', '... First differing element 0: {'network': '192.168.40.0', 'family': 2, 'route_type': None, 'metric': 545, 'prefix': 24, 'table': None, 'gateway': None} {'network': '192.168.40.0', 'family': 2, 'metric': 545, 'prefix': 24, 'table': None, 'gateway': None} [{'family': 2, 'gateway': None, 'metric': 545, 'network': '192.168.40.0', 'prefix': 24, - 'route_type': None, 'table': None}, {'family': 2, 'gateway': None, 'metric': -1, 'network': '192.168.46.0', 'prefix': 30, - 'route_type': None, 'table': None}, {'family': 2, 'gateway': None, 'metric': 545, 'network': '192.168.45.0', 'prefix': 24, - 'route_type': None, 'table': None}, {'family': 10, 'gateway': None, 'metric': -1, 'network': 'a:b:c:f::', 'prefix': 64, - 'route_type': None, 'table': None}, {'family': 10, 'gateway': None, 'metric': -1, 'network': 'a:b:c:d::', 'prefix': 64, - 'route_type': None, 'table': None}] ---------------------------------------------------------------------- Ran 150 tests in 0.161s FAILED (failures=2) MSG: non-zero return code TASK [Remove local tar file] *************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:158 Tuesday 19 December 2023 23:16:06 +0000 (0:00:00.641) 0:00:10.611 ****** changed: [sut -> localhost] => { "changed": true, "path": "/tmp/lsrtest_2zg93nre.tar", "state": "absent" } TASK [Remove tempdir] ********************************************************** task path: /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:164 Tuesday 19 December 2023 23:16:06 +0000 (0:00:00.118) 0:00:10.730 ****** changed: [sut] => { "changed": true, "path": "/tmp/lsrtest_IvXsZE", "state": "absent" } to retry, use: --limit @/tmp/tests_unit.retry PLAY RECAP ********************************************************************* sut : ok=31 changed=9 unreachable=0 failed=1 skipped=3 rescued=0 ignored=1 Tuesday 19 December 2023 23:16:06 +0000 (0:00:00.131) 0:00:10.862 ****** =============================================================================== Install dependencies ---------------------------------------------------- 4.13s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:9 ------------------------ Gathering Facts --------------------------------------------------------- 0.67s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:3 ------------------------ Run python2 unit tests -------------------------------------------------- 0.64s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:121 ---------------------- Untar testrepo.tar ------------------------------------------------------ 0.61s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:66 ----------------------- Copy testrepo.tar to the remote system ---------------------------------- 0.54s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:60 ----------------------- Gathering Facts --------------------------------------------------------- 0.52s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:23 ----------------------- Copy unit test to remote system ----------------------------------------- 0.48s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:97 ----------------------- Install yum-utils package ----------------------------------------------- 0.43s /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:24 ---------------- Create subdirectory '/ansible/module_utils' under '/tmp/lsrtest_IvXsZE' --- 0.33s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:72 ----------------------- Enable EPEL 7 ----------------------------------------------------------- 0.31s /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:30 ---------------- Gather the minimum subset of ansible_facts required by the network role test --- 0.23s /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:3 --------------- Check if system is ostree ----------------------------------------------- 0.18s /WORKDIR/git-route_typefqc2x01b/tests/tasks/el_repo_setup.yml:17 -------------- Create EPEL 7 ----------------------------------------------------------- 0.18s /WORKDIR/git-route_typefqc2x01b/tests/tasks/enable_epel.yml:8 ----------------- Create tempdir for code to test ----------------------------------------- 0.17s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:28 ----------------------- Find parent directory and path of module_utils -------------------------- 0.14s /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml:69 Fake out python module directories, primarily for python2 --------------- 0.13s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:88 ----------------------- Remove tempdir ---------------------------------------------------------- 0.13s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:164 ---------------------- Move module_utils to ansible directory ---------------------------------- 0.13s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:81 ----------------------- Find parent directory and path of modules ------------------------------- 0.13s /WORKDIR/git-route_typefqc2x01b/tests/tasks/get_modules_and_utils_paths.yml:42 List the files in /tmp/lsrtest_IvXsZE ----------------------------------- 0.13s /WORKDIR/git-route_typefqc2x01b/tests/tests_unit.yml:107 ---------------------- ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- [DEPRECATION WARNING]: ANSIBLE_COLLECTIONS_PATHS option, does not fit var naming standard, use the singular form ANSIBLE_COLLECTIONS_PATH instead. This feature will be removed from ansible-core in version 2.19. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ---^---^---^---^---^---