# STDOUT: ---v---v---v---v---v--- ansible-playbook 2.9.27 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.9/lib/python3.9/site-packages/ansible executable location = /opt/ansible-2.9/bin/ansible-playbook python version = 3.9.18 (main, Sep 7 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)] Using /etc/ansible/ansible.cfg as config file Skipping callback 'actionable', as we already have a stdout callback. Skipping callback 'counter_enabled', as we already have a stdout callback. Skipping callback 'debug', as we already have a stdout callback. Skipping callback 'dense', as we already have a stdout callback. Skipping callback 'dense', as we already have a stdout callback. Skipping callback 'full_skip', as we already have a stdout callback. Skipping callback 'json', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'null', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback. Skipping callback 'selective', as we already have a stdout callback. Skipping callback 'skippy', as we already have a stdout callback. Skipping callback 'stderr', as we already have a stdout callback. Skipping callback 'unixy', as we already have a stdout callback. Skipping callback 'yaml', as we already have a stdout callback. PLAYBOOK: tests_vlan_mtu_initscripts.yml *************************************** 2 plays in /WORKDIR/git-code_refactor4d2psdfe/tests/tests_vlan_mtu_initscripts.yml PLAY [Run playbook 'playbooks/tests_vlan_mtu.yml' with initscripts as provider] *** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tests_vlan_mtu_initscripts.yml:4 Thursday 30 November 2023 17:14:29 +0000 (0:00:00.018) 0:00:00.018 ***** ok: [sut] META: ran handlers TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tests_vlan_mtu_initscripts.yml:8 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.548) 0:00:00.567 ***** included: /WORKDIR/git-code_refactor4d2psdfe/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-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:3 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.021) 0:00:00.589 ***** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:19 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.234) 0:00:00.824 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:24 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.229) 0:00:01.053 ***** ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:28 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.027) 0:00:01.080 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:53 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.030) 0:00:01.110 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 7] *********************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:8 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.048) 0:00:01.158 ***** ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "rpm", "-iv", "https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" ], "rc": 0 } STDOUT: skipped, since /etc/yum.repos.d/epel.repo exists TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:24 Thursday 30 November 2023 17:14:30 +0000 (0:00:00.217) 0:00:01.376 ***** 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-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:30 Thursday 30 November 2023 17:14:31 +0000 (0:00:00.476) 0:00:01.853 ***** ok: [sut] => { "changed": false, "cmd": [ "yum-config-manager", "--enable", "epel" ], "delta": "0:00:00.177660", "end": "2023-11-30 17:14:31.651049", "rc": 0, "start": "2023-11-30 17:14:31.473389" } 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-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:35 Thursday 30 November 2023 17:14:31 +0000 (0:00:00.304) 0:00:02.157 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:40 Thursday 30 November 2023 17:14:31 +0000 (0:00:00.014) 0:00:02.171 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set network provider to 'initscripts'] *********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/tests_vlan_mtu_initscripts.yml:10 Thursday 30 November 2023 17:14:31 +0000 (0:00:00.013) 0:00:02.185 ***** ok: [sut] => { "ansible_facts": { "network_provider": "initscripts" }, "changed": false } META: ran handlers META: ran handlers PLAY [Play for testing vlan mtu setting] *************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:3 Thursday 30 November 2023 17:14:31 +0000 (0:00:00.015) 0:00:02.201 ***** ok: [sut] META: ran handlers TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:10 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.375) 0:00:02.577 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml:3 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.023) 0:00:02.600 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml:3 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.024) 0:00:02.624 ***** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003388", "end": "2023-11-30 17:14:32.245708", "rc": 0, "start": "2023-11-30 17:14:32.242320" } STDOUT: bond0 bonding_masters eth0 lo TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml:9 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.126) 0:00:02.750 ***** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bond0", "bonding_masters", "eth0", "lo" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml:5 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.015) 0:00:02.766 ***** ok: [sut] => {} MSG: current_interfaces: ['bond0', 'bonding_masters', 'eth0', 'lo'] TASK [Include the task 'manage_test_interface.yml'] **************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:12 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.014) 0:00:02.780 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml for sut TASK [Ensure state in ["present", "absent"]] *********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:3 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.029) 0:00:02.809 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure type in ["dummy", "tap", "veth"]] ********************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:8 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.014) 0:00:02.824 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:13 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.014) 0:00:02.839 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml:3 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.020) 0:00:02.859 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml:3 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.019) 0:00:02.878 ***** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003356", "end": "2023-11-30 17:14:32.500438", "rc": 0, "start": "2023-11-30 17:14:32.497082" } STDOUT: bond0 bonding_masters eth0 lo TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml:9 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.127) 0:00:03.006 ***** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bond0", "bonding_masters", "eth0", "lo" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml:5 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.015) 0:00:03.021 ***** ok: [sut] => {} MSG: current_interfaces: ['bond0', 'bonding_masters', 'eth0', 'lo'] TASK [Install iproute] ********************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:16 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.014) 0:00:03.035 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [ "iproute-4.11.0-30.el7.x86_64 providing iproute is already installed" ] } TASK [Create veth interface lsr101] ******************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:24 Thursday 30 November 2023 17:14:32 +0000 (0:00:00.387) 0:00:03.422 ***** ok: [sut] => (item=ip link add lsr101 type veth peer name peerlsr101) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "add", "lsr101", "type", "veth", "peer", "name", "peerlsr101" ], "delta": "0:00:00.012245", "end": "2023-11-30 17:14:33.056324", "item": "ip link add lsr101 type veth peer name peerlsr101", "rc": 0, "start": "2023-11-30 17:14:33.044079" } ok: [sut] => (item=ip link set peerlsr101 up) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "set", "peerlsr101", "up" ], "delta": "0:00:00.003386", "end": "2023-11-30 17:14:33.183221", "item": "ip link set peerlsr101 up", "rc": 0, "start": "2023-11-30 17:14:33.179835" } ok: [sut] => (item=ip link set lsr101 up) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "set", "lsr101", "up" ], "delta": "0:00:00.004649", "end": "2023-11-30 17:14:33.307744", "item": "ip link set lsr101 up", "rc": 0, "start": "2023-11-30 17:14:33.303095" } TASK [Set up veth as managed by NetworkManager] ******************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:33 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.392) 0:00:03.815 ***** ok: [sut] => { "changed": false, "cmd": [ "nmcli", "d", "set", "lsr101", "managed", "true" ], "delta": "0:00:00.031273", "end": "2023-11-30 17:14:33.469780", "rc": 0, "start": "2023-11-30 17:14:33.438507" } TASK [Delete veth interface lsr101] ******************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:41 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.168) 0:00:03.983 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Create dummy interface lsr101] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:48 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.016) 0:00:04.000 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete dummy interface lsr101] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:54 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.021) 0:00:04.022 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Create tap interface lsr101] ********************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:61 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.023) 0:00:04.045 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete tap interface lsr101] ********************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:67 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.023) 0:00:04.069 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'assert_device_present.yml'] **************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:16 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.020) 0:00:04.090 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_device_present.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_device_present.yml:3 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.041) 0:00:04.131 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface lsr101] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_interface_stat.yml:3 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.027) 0:00:04.159 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1701364473.054833, "block_size": 4096, "blocks": 0, "ctime": 1701364473.054833, "dev": 18, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 17740, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/lsr101", "lnk_target": "../../devices/virtual/net/lsr101", "mode": "0777", "mtime": 1701364473.054833, "nlink": 1, "path": "/sys/class/net/lsr101", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 0, "uid": 0, "wgrp": true, "woth": true, "writeable": true, "wusr": true, "xgrp": true, "xoth": true, "xusr": true } } TASK [Assert that the interface is present - 'lsr101'] ************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_device_present.yml:5 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.139) 0:00:04.298 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [TEST: I can configure the MTU for a vlan interface without autoconnect.] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:18 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.022) 0:00:04.320 ***** ok: [sut] => {} MSG: ################################################## TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:4 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.019) 0:00:04.340 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml for sut TASK [linux-system-roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.102) 0:00:04.443 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check if system is ostree] ****************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.018) 0:00:04.461 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Set flag to indicate system is ostree] ****** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.014) 0:00:04.475 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Thursday 30 November 2023 17:14:33 +0000 (0:00:00.014) 0:00:04.489 ***** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check which packages are installed] ********* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Thursday 30 November 2023 17:14:34 +0000 (0:00:00.841) 0:00:05.330 ***** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Print network provider] ********************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:7 Thursday 30 November 2023 17:14:35 +0000 (0:00:01.133) 0:00:06.464 ***** ok: [sut] => {} MSG: Using network provider: initscripts TASK [linux-system-roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:11 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.030) 0:00:06.495 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Abort applying the network state configuration if the system version of the managed host is below 8] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:19 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.030) 0:00:06.525 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:30 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.030) 0:00:06.556 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:40 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.072) 0:00:06.629 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:55 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.031) 0:00:06.660 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:71 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.030) 0:00:06.691 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:85 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.037) 0:00:06.728 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:96 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.029) 0:00:06.758 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:105 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.030) 0:00:06.788 ***** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:113 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.449) 0:00:07.237 ***** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-20400xtm0klbb/tmp7pto73fs" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:122 Thursday 30 November 2023 17:14:36 +0000 (0:00:00.216) 0:00:07.454 ***** changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "autoconnect": false, "ip": { "auto6": false, "dhcp4": false }, "mtu": 1492, "name": "lsr101", "state": "up", "type": "ethernet" }, { "autoconnect": false, "ip": { "auto6": false, "dhcp4": false }, "mtu": 1280, "name": "lsr101.90", "parent": "lsr101", "state": "up", "type": "vlan", "vlan_id": 90 } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true } STDERR: [005] #0, state:up persistent_state:present, 'lsr101': add ifcfg-rh profile 'lsr101' [006] #1, state:up persistent_state:present, 'lsr101.90': add ifcfg-rh profile 'lsr101.90' [007] #0, state:up persistent_state:present, 'lsr101': up connection lsr101 (is-modified) [008] #0, state:up persistent_state:present, 'lsr101': call 'ifup lsr101': rc=0, out='', err='' [009] #1, state:up persistent_state:present, 'lsr101.90': up connection lsr101.90 (not-active) [010] #1, state:up persistent_state:present, 'lsr101.90': call 'ifup lsr101.90': rc=0, out='', err='' TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:134 Thursday 30 November 2023 17:14:37 +0000 (0:00:00.669) 0:00:08.123 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:140 Thursday 30 November 2023 17:14:37 +0000 (0:00:00.026) 0:00:08.150 ***** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[005] #0, state:up persistent_state:present, 'lsr101': add ifcfg-rh profile 'lsr101'", "[006] #1, state:up persistent_state:present, 'lsr101.90': add ifcfg-rh profile 'lsr101.90'", "[007] #0, state:up persistent_state:present, 'lsr101': up connection lsr101 (is-modified)", "[008] #0, state:up persistent_state:present, 'lsr101': call 'ifup lsr101': rc=0, out='', err=''", "[009] #1, state:up persistent_state:present, 'lsr101.90': up connection lsr101.90 (not-active)", "[010] #1, state:up persistent_state:present, 'lsr101.90': call 'ifup lsr101.90': rc=0, out='', err=''" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:144 Thursday 30 November 2023 17:14:37 +0000 (0:00:00.030) 0:00:08.180 ***** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "autoconnect": false, "ip": { "auto6": false, "dhcp4": false }, "mtu": 1492, "name": "lsr101", "state": "up", "type": "ethernet" }, { "autoconnect": false, "ip": { "auto6": false, "dhcp4": false }, "mtu": 1280, "name": "lsr101.90", "parent": "lsr101", "state": "up", "type": "vlan", "vlan_id": 90 } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true, "failed": false, "stderr": "[005] #0, state:up persistent_state:present, 'lsr101': add ifcfg-rh profile 'lsr101'\n[006] #1, state:up persistent_state:present, 'lsr101.90': add ifcfg-rh profile 'lsr101.90'\n[007] #0, state:up persistent_state:present, 'lsr101': up connection lsr101 (is-modified)\n[008] #0, state:up persistent_state:present, 'lsr101': call 'ifup lsr101': rc=0, out='', err=''\n[009] #1, state:up persistent_state:present, 'lsr101.90': up connection lsr101.90 (not-active)\n[010] #1, state:up persistent_state:present, 'lsr101.90': call 'ifup lsr101.90': rc=0, out='', err=''\n", "stderr_lines": [ "[005] #0, state:up persistent_state:present, 'lsr101': add ifcfg-rh profile 'lsr101'", "[006] #1, state:up persistent_state:present, 'lsr101.90': add ifcfg-rh profile 'lsr101.90'", "[007] #0, state:up persistent_state:present, 'lsr101': up connection lsr101 (is-modified)", "[008] #0, state:up persistent_state:present, 'lsr101': call 'ifup lsr101': rc=0, out='', err=''", "[009] #1, state:up persistent_state:present, 'lsr101.90': up connection lsr101.90 (not-active)", "[010] #1, state:up persistent_state:present, 'lsr101.90': call 'ifup lsr101.90': rc=0, out='', err=''" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:149 Thursday 30 November 2023 17:14:37 +0000 (0:00:00.027) 0:00:08.208 ***** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:155 Thursday 30 November 2023 17:14:37 +0000 (0:00:00.026) 0:00:08.234 ***** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'assert_device_present.yml'] **************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:46 Thursday 30 November 2023 17:14:37 +0000 (0:00:00.235) 0:00:08.470 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_device_present.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_device_present.yml:3 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.066) 0:00:08.536 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface lsr101.90] **************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_interface_stat.yml:3 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.046) 0:00:08.582 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1701364477.5367348, "block_size": 4096, "blocks": 0, "ctime": 1701364477.5117354, "dev": 18, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 17927, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/lsr101.90", "lnk_target": "../../devices/virtual/net/lsr101.90", "mode": "0777", "mtime": 1701364477.5117354, "nlink": 1, "path": "/sys/class/net/lsr101.90", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 0, "uid": 0, "wgrp": true, "woth": true, "writeable": true, "wusr": true, "xgrp": true, "xoth": true, "xusr": true } } TASK [Assert that the interface is present - 'lsr101.90'] ********************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_device_present.yml:5 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.171) 0:00:08.753 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'assert_profile_present.yml'] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:50 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.042) 0:00:08.796 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml for sut included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml for sut TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:3 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.075) 0:00:08.872 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:3 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.049) 0:00:08.921 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": false, "lsr_net_profile_exists": false, "lsr_net_profile_fingerprint": false }, "changed": false } TASK [Stat profile file] ******************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:9 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.032) 0:00:08.954 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1701364477.3647385, "block_size": 4096, "blocks": 8, "ctime": 1701364477.3637385, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 25404, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1701364477.3637385, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-lsr101", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 136, "uid": 0, "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Set NM profile exist flag based on the profile files] ******************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:17 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.146) 0:00:09.101 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:25 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.028) 0:00:09.129 ***** fatal: [sut]: FAILED! => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep lsr101 | grep /etc", "delta": "0:00:00.025075", "end": "2023-11-30 17:14:38.773066", "rc": 1, "start": "2023-11-30 17:14:38.747991" } MSG: non-zero return code ...ignoring TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:35 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.160) 0:00:09.290 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the ansible_managed comment in ifcfg-lsr101] ************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:49 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.028) 0:00:09.318 ***** ok: [sut] => { "changed": false, "cmd": [ "grep", "^# Ansible managed", "/etc/sysconfig/network-scripts/ifcfg-lsr101" ], "delta": "0:00:00.003497", "end": "2023-11-30 17:14:38.946981", "rc": 0, "start": "2023-11-30 17:14:38.943484" } STDOUT: # Ansible managed TASK [Verify the ansible_managed comment in ifcfg-lsr101] ********************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:56 Thursday 30 November 2023 17:14:38 +0000 (0:00:00.148) 0:00:09.466 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true }, "changed": false } TASK [Get the fingerprint comment in ifcfg-lsr101] ***************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:62 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.039) 0:00:09.506 ***** ok: [sut] => { "changed": false, "cmd": [ "grep", "^# system_role:network", "/etc/sysconfig/network-scripts/ifcfg-lsr101" ], "delta": "0:00:00.003577", "end": "2023-11-30 17:14:39.133561", "rc": 0, "start": "2023-11-30 17:14:39.129984" } STDOUT: # system_role:network TASK [Verify the fingerprint comment in ifcfg-lsr101] ************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:69 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.149) 0:00:09.656 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Assert that the profile is present - 'lsr101'] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:5 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.037) 0:00:09.694 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'lsr101'] ********** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:10 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.031) 0:00:09.725 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in lsr101] **************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:15 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.068) 0:00:09.794 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:3 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.032) 0:00:09.827 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:3 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.061) 0:00:09.888 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": false, "lsr_net_profile_exists": false, "lsr_net_profile_fingerprint": false }, "changed": false } TASK [Stat profile file] ******************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:9 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.032) 0:00:09.920 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1701364477.4707363, "block_size": 4096, "blocks": 8, "ctime": 1701364477.3647385, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 25405, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1701364477.3647385, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-lsr101.90", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 166, "uid": 0, "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Set NM profile exist flag based on the profile files] ******************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:17 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.142) 0:00:10.063 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:25 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.031) 0:00:10.094 ***** fatal: [sut]: FAILED! => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep lsr101.90 | grep /etc", "delta": "0:00:00.024821", "end": "2023-11-30 17:14:39.742298", "rc": 1, "start": "2023-11-30 17:14:39.717477" } MSG: non-zero return code ...ignoring TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:35 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.173) 0:00:10.268 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the ansible_managed comment in ifcfg-lsr101.90] ********************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:49 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.035) 0:00:10.303 ***** ok: [sut] => { "changed": false, "cmd": [ "grep", "^# Ansible managed", "/etc/sysconfig/network-scripts/ifcfg-lsr101.90" ], "delta": "0:00:00.003461", "end": "2023-11-30 17:14:39.935575", "rc": 0, "start": "2023-11-30 17:14:39.932114" } STDOUT: # Ansible managed TASK [Verify the ansible_managed comment in ifcfg-lsr101.90] ******************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:56 Thursday 30 November 2023 17:14:39 +0000 (0:00:00.154) 0:00:10.458 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true }, "changed": false } TASK [Get the fingerprint comment in ifcfg-lsr101.90] ************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:62 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.036) 0:00:10.494 ***** ok: [sut] => { "changed": false, "cmd": [ "grep", "^# system_role:network", "/etc/sysconfig/network-scripts/ifcfg-lsr101.90" ], "delta": "0:00:00.003339", "end": "2023-11-30 17:14:40.124838", "rc": 0, "start": "2023-11-30 17:14:40.121499" } STDOUT: # system_role:network TASK [Verify the fingerprint comment in ifcfg-lsr101.90] *********************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_profile_stat.yml:69 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.150) 0:00:10.644 ***** ok: [sut] => { "ansible_facts": { "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Assert that the profile is present - 'lsr101.90'] ************************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:5 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.035) 0:00:10.680 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'lsr101.90'] ******* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:10 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.032) 0:00:10.713 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in lsr101.90] ************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/assert_profile_present.yml:15 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.031) 0:00:10.745 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [TEARDOWN: remove profiles.] ********************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:58 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.031) 0:00:10.777 ***** ok: [sut] => {} MSG: ################################################## TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:4 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.027) 0:00:10.804 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml for sut TASK [linux-system-roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.082) 0:00:10.887 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check if system is ostree] ****************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.038) 0:00:10.925 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Set flag to indicate system is ostree] ****** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.030) 0:00:10.956 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Thursday 30 November 2023 17:14:40 +0000 (0:00:00.030) 0:00:10.986 ***** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check which packages are installed] ********* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Thursday 30 November 2023 17:14:41 +0000 (0:00:00.711) 0:00:11.698 ***** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Print network provider] ********************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:7 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.937) 0:00:12.635 ***** ok: [sut] => {} MSG: Using network provider: initscripts TASK [linux-system-roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:11 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.029) 0:00:12.665 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Abort applying the network state configuration if the system version of the managed host is below 8] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:19 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.065) 0:00:12.730 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:30 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.031) 0:00:12.761 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:40 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.057) 0:00:12.819 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:55 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.028) 0:00:12.848 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:71 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.030) 0:00:12.878 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:85 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.032) 0:00:12.911 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:96 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.028) 0:00:12.939 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:105 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.030) 0:00:12.970 ***** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:113 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.246) 0:00:13.217 ***** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-20400xtm0klbb/tmp4xdjfqii" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:122 Thursday 30 November 2023 17:14:42 +0000 (0:00:00.220) 0:00:13.437 ***** changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "lsr101", "persistent_state": "absent", "state": "down" }, { "name": "lsr101.90", "persistent_state": "absent", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true } STDERR: [005] #0, state:down persistent_state:absent, 'lsr101': up connection lsr101 (active) [006] #0, state:down persistent_state:absent, 'lsr101': call 'ifdown lsr101': rc=0, out='', err='' [007] #1, state:down persistent_state:absent, 'lsr101.90': down connection lsr101.90 skipped because not active [008] #0, state:down persistent_state:absent, 'lsr101': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101' [009] #1, state:down persistent_state:absent, 'lsr101.90': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101.90' TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:134 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.354) 0:00:13.792 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:140 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.025) 0:00:13.818 ***** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[005] #0, state:down persistent_state:absent, 'lsr101': up connection lsr101 (active)", "[006] #0, state:down persistent_state:absent, 'lsr101': call 'ifdown lsr101': rc=0, out='', err=''", "[007] #1, state:down persistent_state:absent, 'lsr101.90': down connection lsr101.90 skipped because not active", "[008] #0, state:down persistent_state:absent, 'lsr101': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101'", "[009] #1, state:down persistent_state:absent, 'lsr101.90': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101.90'" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:144 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.029) 0:00:13.847 ***** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "lsr101", "persistent_state": "absent", "state": "down" }, { "name": "lsr101.90", "persistent_state": "absent", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true, "failed": false, "stderr": "[005] #0, state:down persistent_state:absent, 'lsr101': up connection lsr101 (active)\n[006] #0, state:down persistent_state:absent, 'lsr101': call 'ifdown lsr101': rc=0, out='', err=''\n[007] #1, state:down persistent_state:absent, 'lsr101.90': down connection lsr101.90 skipped because not active\n[008] #0, state:down persistent_state:absent, 'lsr101': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101'\n[009] #1, state:down persistent_state:absent, 'lsr101.90': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101.90'\n", "stderr_lines": [ "[005] #0, state:down persistent_state:absent, 'lsr101': up connection lsr101 (active)", "[006] #0, state:down persistent_state:absent, 'lsr101': call 'ifdown lsr101': rc=0, out='', err=''", "[007] #1, state:down persistent_state:absent, 'lsr101.90': down connection lsr101.90 skipped because not active", "[008] #0, state:down persistent_state:absent, 'lsr101': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101'", "[009] #1, state:down persistent_state:absent, 'lsr101.90': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-lsr101.90'" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:149 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.029) 0:00:13.876 ***** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:155 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.029) 0:00:13.906 ***** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'manage_test_interface.yml'] **************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:73 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.161) 0:00:14.067 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml for sut TASK [Ensure state in ["present", "absent"]] *********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:3 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.056) 0:00:14.123 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure type in ["dummy", "tap", "veth"]] ********************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:8 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.029) 0:00:14.153 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:13 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.029) 0:00:14.182 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml:3 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.045) 0:00:14.228 ***** included: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml:3 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.055) 0:00:14.283 ***** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003418", "end": "2023-11-30 17:14:43.910159", "rc": 0, "start": "2023-11-30 17:14:43.906741" } STDOUT: bond0 bonding_masters eth0 lo lsr101 lsr101.90 peerlsr101 TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/get_current_interfaces.yml:9 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.146) 0:00:14.429 ***** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bond0", "bonding_masters", "eth0", "lo", "lsr101", "lsr101.90", "peerlsr101" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/show_interfaces.yml:5 Thursday 30 November 2023 17:14:43 +0000 (0:00:00.031) 0:00:14.461 ***** ok: [sut] => {} MSG: current_interfaces: ['bond0', 'bonding_masters', 'eth0', 'lo', 'lsr101', 'lsr101.90', 'peerlsr101'] TASK [Install iproute] ********************************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:16 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.029) 0:00:14.490 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [ "iproute-4.11.0-30.el7.x86_64 providing iproute is already installed" ] } TASK [Create veth interface lsr101] ******************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:24 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.351) 0:00:14.842 ***** skipping: [sut] => (item=ip link add lsr101 type veth peer name peerlsr101) => { "ansible_loop_var": "item", "changed": false, "item": "ip link add lsr101 type veth peer name peerlsr101", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=ip link set peerlsr101 up) => { "ansible_loop_var": "item", "changed": false, "item": "ip link set peerlsr101 up", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=ip link set lsr101 up) => { "ansible_loop_var": "item", "changed": false, "item": "ip link set lsr101 up", "skip_reason": "Conditional result was False" } TASK [Set up veth as managed by NetworkManager] ******************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:33 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.041) 0:00:14.883 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete veth interface lsr101] ******************************************** task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:41 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.027) 0:00:14.911 ***** ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "lsr101", "type", "veth" ], "delta": "0:00:00.011763", "end": "2023-11-30 17:14:44.546257", "rc": 0, "start": "2023-11-30 17:14:44.534494" } TASK [Create dummy interface lsr101] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:48 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.155) 0:00:15.067 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete dummy interface lsr101] ******************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:54 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.052) 0:00:15.119 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Create tap interface lsr101] ********************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:61 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.027) 0:00:15.147 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete tap interface lsr101] ********************************************* task path: /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:67 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.029) 0:00:15.176 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=89 changed=2 unreachable=0 failed=0 skipped=46 rescued=0 ignored=2 Thursday 30 November 2023 17:14:44 +0000 (0:00:00.014) 0:00:15.190 ***** =============================================================================== linux-system-roles.network : Check which packages are installed --------- 1.13s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which packages are installed --------- 0.94s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which services are running ----------- 0.84s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 0.71s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Configure networking connection profiles --- 0.67s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:122 Gathering Facts --------------------------------------------------------- 0.55s /WORKDIR/git-code_refactor4d2psdfe/tests/tests_vlan_mtu_initscripts.yml:4 ----- Install yum-utils package ----------------------------------------------- 0.48s /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:24 ------------- linux-system-roles.network : Enable network service --------------------- 0.45s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:105 Create veth interface lsr101 -------------------------------------------- 0.39s /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:24 Install iproute --------------------------------------------------------- 0.39s /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:16 Gathering Facts --------------------------------------------------------- 0.38s /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tests_vlan_mtu.yml:3 ------- linux-system-roles.network : Configure networking connection profiles --- 0.35s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:122 Install iproute --------------------------------------------------------- 0.35s /WORKDIR/git-code_refactor4d2psdfe/tests/playbooks/tasks/manage_test_interface.yml:16 Enable EPEL 7 ----------------------------------------------------------- 0.30s /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:30 ------------- linux-system-roles.network : Enable network service --------------------- 0.25s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:105 linux-system-roles.network : Re-test connectivity ----------------------- 0.24s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:155 Gather the minimum subset of ansible_facts required by the network role test --- 0.23s /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:3 ------------ Check if system is ostree ----------------------------------------------- 0.23s /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/el_repo_setup.yml:19 ----------- linux-system-roles.network : Ensure initscripts network file dependency is present --- 0.22s /WORKDIR/git-code_refactor4d2psdfe/tests/roles/linux-system-roles.network/tasks/main.yml:113 Create EPEL 7 ----------------------------------------------------------- 0.22s /WORKDIR/git-code_refactor4d2psdfe/tests/tasks/enable_epel.yml:8 -------------- ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---