# 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 statically imported: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml statically imported: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml statically imported: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml statically imported: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml statically imported: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/remove_test_interfaces_with_dhcp.yml 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_bond_deprecated_nm.yml ***************************************** 2 plays in /WORKDIR/git-route_typeb8h3xslc/tests/tests_bond_deprecated_nm.yml PLAY [Run playbook 'playbooks/tests_bond_deprecated.yml' with nm as provider] *** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/tests_bond_deprecated_nm.yml:6 Tuesday 09 January 2024 02:30:28 +0000 (0:00:00.012) 0:00:00.012 ******* ok: [sut] META: ran handlers TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/tests_bond_deprecated_nm.yml:9 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.525) 0:00:00.537 ******* included: /WORKDIR/git-route_typeb8h3xslc/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_typeb8h3xslc/tests/tasks/el_repo_setup.yml:3 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.011) 0:00:00.548 ******* ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/el_repo_setup.yml:19 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.211) 0:00:00.760 ******* ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/el_repo_setup.yml:24 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.199) 0:00:00.960 ******* ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/el_repo_setup.yml:28 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.020) 0:00:00.980 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/el_repo_setup.yml:53 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.017) 0:00:00.997 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 7] *********************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/enable_epel.yml:8 Tuesday 09 January 2024 02:30:29 +0000 (0:00:00.030) 0:00:01.028 ******* 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-route_typeb8h3xslc/tests/tasks/enable_epel.yml:24 Tuesday 09 January 2024 02:30:30 +0000 (0:00:00.185) 0:00:01.213 ******* 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_typeb8h3xslc/tests/tasks/enable_epel.yml:30 Tuesday 09 January 2024 02:30:30 +0000 (0:00:00.432) 0:00:01.646 ******* ok: [sut] => { "changed": false, "cmd": [ "yum-config-manager", "--enable", "epel" ], "delta": "0:00:00.192046", "end": "2024-01-09 02:30:30.874856", "rc": 0, "start": "2024-01-09 02:30:30.682810" } STDOUT: ================================== repo: epel ================================== [epel] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7Server baseurl = cache = 0 cachedir = /var/cache/yum/x86_64/7Server/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/7Server/epel/gpgcadir gpgcakey = gpgcheck = True gpgdir = /var/lib/yum/repos/x86_64/7Server/epel/gpgdir gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 hdrdir = /var/cache/yum/x86_64/7Server/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=$infra&content=$contentdir 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/7Server/epel pkgdir = /var/cache/yum/x86_64/7Server/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_typeb8h3xslc/tests/tasks/enable_epel.yml:35 Tuesday 09 January 2024 02:30:30 +0000 (0:00:00.316) 0:00:01.963 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tasks/enable_epel.yml:40 Tuesday 09 January 2024 02:30:30 +0000 (0:00:00.017) 0:00:01.980 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set network provider to 'nm'] ******************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/tests_bond_deprecated_nm.yml:11 Tuesday 09 January 2024 02:30:30 +0000 (0:00:00.010) 0:00:01.991 ******* ok: [sut] => { "ansible_facts": { "network_provider": "nm" }, "changed": false } META: ran handlers META: ran handlers PLAY [Play for testing bond device using deprecated 'master' argument] ********* TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:3 Tuesday 09 January 2024 02:30:30 +0000 (0:00:00.011) 0:00:02.002 ******* ok: [sut] META: ran handlers TASK [INIT Prepare setup] ****************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:13 Tuesday 09 January 2024 02:30:31 +0000 (0:00:00.415) 0:00:02.418 ******* ok: [sut] => {} MSG: ################################################## TASK [Install dnsmasq] ********************************************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:3 Tuesday 09 January 2024 02:30:31 +0000 (0:00:00.010) 0:00:02.429 ******* changed: [sut] => { "changed": true, "changes": { "installed": [ "dnsmasq" ] }, "rc": 0, "results": [ "Loaded plugins: search-disabled-repos\nResolving Dependencies\n--> Running transaction check\n---> Package dnsmasq.x86_64 0:2.76-17.el7_9.3 will be installed\n--> Processing Dependency: libnettle.so.4()(64bit) for package: dnsmasq-2.76-17.el7_9.3.x86_64\n--> Running transaction check\n---> Package nettle.x86_64 0:2.7.1-9.el7_9 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n dnsmasq x86_64 2.76-17.el7_9.3 rhel-Server 281 k\nInstalling for dependencies:\n nettle x86_64 2.7.1-9.el7_9 rhel-Server 328 k\n\nTransaction Summary\n================================================================================\nInstall 1 Package (+1 Dependent package)\n\nTotal download size: 608 k\nInstalled size: 1.3 M\nDownloading packages:\n--------------------------------------------------------------------------------\nTotal 515 kB/s | 608 kB 00:01 \nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Installing : nettle-2.7.1-9.el7_9.x86_64 1/2 \n Installing : dnsmasq-2.76-17.el7_9.3.x86_64 2/2 \n Verifying : dnsmasq-2.76-17.el7_9.3.x86_64 1/2 \n Verifying : nettle-2.7.1-9.el7_9.x86_64 2/2 \n\nInstalled:\n dnsmasq.x86_64 0:2.76-17.el7_9.3 \n\nDependency Installed:\n nettle.x86_64 0:2.7.1-9.el7_9 \n\nComplete!\n" ] } TASK [Install pgrep, sysctl] *************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:10 Tuesday 09 January 2024 02:30:34 +0000 (0:00:03.492) 0:00:05.922 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Install pgrep, sysctl] *************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:20 Tuesday 09 January 2024 02:30:34 +0000 (0:00:00.012) 0:00:05.934 ******* ok: [sut] => { "changed": false, "rc": 0, "results": [ "procps-ng-3.3.10-28.el7.x86_64 providing procps-ng is already installed" ] } TASK [Create test interfaces] ************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:30 Tuesday 09 January 2024 02:30:35 +0000 (0:00:00.369) 0:00:06.304 ******* ok: [sut] => { "changed": false, "cmd": "set -euo pipefail\nip link add test1 type veth peer name test1p\nip link add test2 type veth peer name test2p\nif [ -n \"$(pgrep NetworkManager)\" ];then\n nmcli d set test1 managed true\n nmcli d set test2 managed true\n # NetworkManager should not manage DHCP server ports\n nmcli d set test1p managed false\n nmcli d set test2p managed false\nfi\nip link set test1p up\nip link set test2p up\n\n# Create the 'testbr' - providing both 10.x ipv4 and 2620:52:0 ipv6 dhcp\nip link add name testbr type bridge forward_delay 0\nif [ -n \"$(pgrep NetworkManager)\" ];then\n # NetworkManager should not manage DHCP server ports\n nmcli d set testbr managed false\nfi\nip link set testbr up\ntimer=0\n# The while loop following is a workaround for the NM bug, which can be\n# tracked in https://bugzilla.redhat.com/show_bug.cgi?id=2079642\nwhile ! ip addr show testbr | grep -q 'inet [1-9]'\ndo\n let \"timer+=1\"\n if [ $timer -eq 30 ]; then break; fi\n sleep 1\n ip addr add 192.0.2.1/24 dev testbr\n ip -6 addr add 2001:DB8::1/32 dev testbr\ndone\n\nif grep 'release 6' /etc/redhat-release; then\n # We need bridge-utils and radvd only in rhel6\n if ! rpm -q --quiet radvd; then yum -y install radvd; fi\n if ! rpm -q --quiet bridge-utils; then yum -y install bridge-utils; fi\n\n # We need to add iptables rule to allow dhcp request\n iptables -I INPUT -i testbr -p udp --dport 67:68 --sport 67:68 -j ACCEPT\n\n # Add test1, test2 peers into the testbr\n brctl addif testbr test1p\n brctl addif testbr test2p\n\n # in RHEL6 /run is not present\n mkdir -p /run\n\n # and dnsmasq does not support ipv6\n dnsmasq --pid-file=/run/dhcp_testbr.pid --dhcp-leasefile=/run/dhcp_testbr.lease --dhcp-range=192.0.2.1,192.0.2.254,240 --interface=testbr --bind-interfaces\n\n # start radvd for ipv6\n echo 'interface testbr {' > /etc/radvd.conf\n echo ' AdvSendAdvert on;' >> /etc/radvd.conf\n echo ' prefix 2001:DB8::/64 { ' >> /etc/radvd.conf\n echo ' AdvOnLink on; }; ' >> /etc/radvd.conf\n echo ' }; ' >> /etc/radvd.conf\n\n # enable ipv6 forwarding\n sysctl -w net.ipv6.conf.all.forwarding=1\n service radvd restart\n\nelse\n ip link set test1p master testbr\n ip link set test2p master testbr\n # Run joint DHCP4/DHCP6 server with RA enabled in veth namespace\n dnsmasq --pid-file=/run/dhcp_testbr.pid --dhcp-leasefile=/run/dhcp_testbr.lease --dhcp-range=192.0.2.1,192.0.2.254,240 --dhcp-range=2001:DB8::10,2001:DB8::1FF,slaac,64,240 --enable-ra --interface=testbr --bind-interfaces\nfi\n", "delta": "0:00:01.219922", "end": "2024-01-09 02:30:36.558758", "rc": 0, "start": "2024-01-09 02:30:35.338836" } TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml:3 Tuesday 09 January 2024 02:30:36 +0000 (0:00:01.343) 0:00:07.647 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface test1] ******************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_interface_stat.yml:3 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.023) 0:00:07.670 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1704767435.354993, "block_size": 4096, "blocks": 0, "ctime": 1704767435.354993, "dev": 18, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 17564, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/test1", "lnk_target": "../../devices/virtual/net/test1", "mode": "0777", "mtime": 1704767435.354993, "nlink": 1, "path": "/sys/class/net/test1", "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 - 'test1'] ************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml:5 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.132) 0:00:07.802 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml:3 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.014) 0:00:07.816 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface test2] ******************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_interface_stat.yml:3 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.014) 0:00:07.831 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1704767435.3649929, "block_size": 4096, "blocks": 0, "ctime": 1704767435.3649929, "dev": 18, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 17728, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/test2", "lnk_target": "../../devices/virtual/net/test2", "mode": "0777", "mtime": 1704767435.3649929, "nlink": 1, "path": "/sys/class/net/test2", "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 - 'test2'] ************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml:5 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.127) 0:00:07.959 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [TEST Add Bond with 2 ports using deprecated 'master' argument] *********** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:28 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.021) 0:00:07.980 ******* ok: [sut] => {} MSG: ################################################## TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:4 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.018) 0:00:07.999 ******* included: /WORKDIR/git-route_typeb8h3xslc/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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Tuesday 09 January 2024 02:30:36 +0000 (0:00:00.069) 0:00:08.068 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Tuesday 09 January 2024 02:30:37 +0000 (0:00:00.013) 0:00:08.082 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Tuesday 09 January 2024 02:30:37 +0000 (0:00:00.014) 0:00:08.096 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Tuesday 09 January 2024 02:30:37 +0000 (0:00:00.012) 0:00:08.109 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Tuesday 09 January 2024 02:30:37 +0000 (0:00:00.861) 0:00:08.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 : Print network provider] ********************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:7 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.794) 0:00:09.764 ******* ok: [sut] => {} MSG: Using network provider: nm 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:11 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.038) 0:00:09.803 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:19 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.020) 0:00:09.823 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:30 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.020) 0:00:09.844 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:40 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.045) 0:00:09.890 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:55 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.020) 0:00:09.910 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:71 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.019) 0:00:09.930 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:85 Tuesday 09 January 2024 02:30:38 +0000 (0:00:00.025) 0:00:09.956 ******* 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 : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:96 Tuesday 09 January 2024 02:30:39 +0000 (0:00:00.362) 0:00:10.318 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:105 Tuesday 09 January 2024 02:30:39 +0000 (0:00:00.027) 0:00:10.346 ******* 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 : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:113 Tuesday 09 January 2024 02:30:39 +0000 (0:00:00.021) 0:00:10.367 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:122 Tuesday 09 January 2024 02:30:39 +0000 (0:00:00.020) 0:00:10.387 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "bond": { "miimon": 110, "mode": "active-backup" }, "interface_name": "deprecated-bond", "ip": { "route_metric4": 65535 }, "name": "bond0", "state": "up", "type": "bond" }, { "interface_name": "test1", "master": "bond0", "name": "bond0.0", "state": "up", "type": "ethernet" }, { "interface_name": "test2", "master": "bond0", "name": "bond0.1", "state": "up", "type": "ethernet" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: [007] #0, state:up persistent_state:present, 'bond0': add connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46 [008] #1, state:up persistent_state:present, 'bond0.0': add connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31 [009] #2, state:up persistent_state:present, 'bond0.1': add connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579 [010] #0, state:up persistent_state:present, 'bond0': up connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46 (is-modified) [011] #1, state:up persistent_state:present, 'bond0.0': up connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31 (is-modified) [012] #2, state:up persistent_state:present, 'bond0.1': up connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579 (is-modified) [013] #2, state:up persistent_state:present, 'bond0.1': connection reapplied TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:134 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.967) 0:00:11.354 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:140 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.020) 0:00:11.375 ******* ok: [sut] => { "__network_connections_result.stderr_lines": [ "[007] #0, state:up persistent_state:present, 'bond0': add connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46", "[008] #1, state:up persistent_state:present, 'bond0.0': add connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31", "[009] #2, state:up persistent_state:present, 'bond0.1': add connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579", "[010] #0, state:up persistent_state:present, 'bond0': up connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46 (is-modified)", "[011] #1, state:up persistent_state:present, 'bond0.0': up connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31 (is-modified)", "[012] #2, state:up persistent_state:present, 'bond0.1': up connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579 (is-modified)", "[013] #2, state:up persistent_state:present, 'bond0.1': connection reapplied" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:144 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.044) 0:00:11.419 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "bond": { "miimon": 110, "mode": "active-backup" }, "interface_name": "deprecated-bond", "ip": { "route_metric4": 65535 }, "name": "bond0", "state": "up", "type": "bond" }, { "interface_name": "test1", "master": "bond0", "name": "bond0.0", "state": "up", "type": "ethernet" }, { "interface_name": "test2", "master": "bond0", "name": "bond0.1", "state": "up", "type": "ethernet" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "[007] #0, state:up persistent_state:present, 'bond0': add connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46\n[008] #1, state:up persistent_state:present, 'bond0.0': add connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31\n[009] #2, state:up persistent_state:present, 'bond0.1': add connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579\n[010] #0, state:up persistent_state:present, 'bond0': up connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46 (is-modified)\n[011] #1, state:up persistent_state:present, 'bond0.0': up connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31 (is-modified)\n[012] #2, state:up persistent_state:present, 'bond0.1': up connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579 (is-modified)\n[013] #2, state:up persistent_state:present, 'bond0.1': connection reapplied\n", "stderr_lines": [ "[007] #0, state:up persistent_state:present, 'bond0': add connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46", "[008] #1, state:up persistent_state:present, 'bond0.0': add connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31", "[009] #2, state:up persistent_state:present, 'bond0.1': add connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579", "[010] #0, state:up persistent_state:present, 'bond0': up connection bond0, 97025848-068e-42b9-9da1-adb2a7faed46 (is-modified)", "[011] #1, state:up persistent_state:present, 'bond0.0': up connection bond0.0, a8d20326-60a2-4746-83ad-02ffd2419c31 (is-modified)", "[012] #2, state:up persistent_state:present, 'bond0.1': up connection bond0.1, 2cf1d298-be0d-4398-ab43-018f0d639579 (is-modified)", "[013] #2, state:up persistent_state:present, 'bond0.1': connection reapplied" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:149 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.022) 0:00:11.442 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:155 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.019) 0:00:11.461 ******* ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml:3 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.177) 0:00:11.639 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface deprecated-bond] ********************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_interface_stat.yml:3 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.033) 0:00:11.673 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1704767439.7928576, "block_size": 4096, "blocks": 0, "ctime": 1704767439.7618587, "dev": 18, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 18147, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/deprecated-bond", "lnk_target": "../../devices/virtual/net/deprecated-bond", "mode": "0777", "mtime": 1704767439.7618587, "nlink": 1, "path": "/sys/class/net/deprecated-bond", "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 - 'deprecated-bond'] **************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_device_present.yml:5 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.133) 0:00:11.807 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'assert_profile_present.yml'] *************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:62 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.023) 0:00:11.831 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml for sut included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml for sut included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml for sut TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:3 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.047) 0:00:11.878 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:3 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.035) 0:00:11.913 ******* 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-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:9 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.020) 0:00:11.933 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1704767439.6718614, "block_size": 4096, "blocks": 8, "ctime": 1704767439.6708615, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 4527616, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1704767439.6708615, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-bond0", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 374, "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-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:17 Tuesday 09 January 2024 02:30:40 +0000 (0:00:00.128) 0:00:12.062 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:25 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.021) 0:00:12.084 ******* ok: [sut] => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep bond0 | grep /etc", "delta": "0:00:00.028866", "end": "2024-01-09 02:30:41.146402", "rc": 0, "start": "2024-01-09 02:30:41.117536" } STDOUT: bond0 /etc/sysconfig/network-scripts/ifcfg-bond0 bond0.0 /etc/sysconfig/network-scripts/ifcfg-bond0.0 bond0.1 /etc/sysconfig/network-scripts/ifcfg-bond0.1 TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:35 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.160) 0:00:12.244 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true, "lsr_net_profile_exists": true, "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Get the ansible_managed comment in ifcfg-bond0] ************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:49 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.047) 0:00:12.292 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the ansible_managed comment in ifcfg-bond0] *********************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:56 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:12.316 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the fingerprint comment in ifcfg-bond0] ****************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:62 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:12.340 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the fingerprint comment in ifcfg-bond0] *************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:69 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.036) 0:00:12.377 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that the profile is present - 'bond0'] **************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:5 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.022) 0:00:12.399 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'bond0'] *********** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:10 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:12.422 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in bond0] ***************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:15 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.022) 0:00:12.444 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:3 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.021) 0:00:12.466 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:3 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.033) 0:00:12.499 ******* 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-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:9 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.021) 0:00:12.520 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1704767439.8118572, "block_size": 4096, "blocks": 8, "ctime": 1704767439.8118572, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 4468707, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1704767439.8118572, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-bond0.0", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 175, "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-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:17 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.134) 0:00:12.655 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:25 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.021) 0:00:12.676 ******* ok: [sut] => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep bond0.0 | grep /etc", "delta": "0:00:00.026762", "end": "2024-01-09 02:30:41.736333", "rc": 0, "start": "2024-01-09 02:30:41.709571" } STDOUT: bond0.0 /etc/sysconfig/network-scripts/ifcfg-bond0.0 TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:35 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.156) 0:00:12.832 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true, "lsr_net_profile_exists": true, "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Get the ansible_managed comment in ifcfg-bond0.0] ************************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:49 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:12.856 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the ansible_managed comment in ifcfg-bond0.0] ********************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:56 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:12.879 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the fingerprint comment in ifcfg-bond0.0] **************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:62 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.022) 0:00:12.902 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the fingerprint comment in ifcfg-bond0.0] ************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:69 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.021) 0:00:12.923 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that the profile is present - 'bond0.0'] ************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:5 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.061) 0:00:12.985 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'bond0.0'] ********* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:10 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:13.009 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in bond0.0] *************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:15 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.022) 0:00:13.031 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:3 Tuesday 09 January 2024 02:30:41 +0000 (0:00:00.023) 0:00:13.055 ******* included: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:3 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.033) 0:00:13.088 ******* 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-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:9 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.021) 0:00:13.109 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1704767439.885855, "block_size": 4096, "blocks": 8, "ctime": 1704767439.885855, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 4468688, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1704767439.885855, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-bond0.1", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 175, "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-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:17 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.134) 0:00:13.243 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:25 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.021) 0:00:13.265 ******* ok: [sut] => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep bond0.1 | grep /etc", "delta": "0:00:00.027489", "end": "2024-01-09 02:30:42.329828", "rc": 0, "start": "2024-01-09 02:30:42.302339" } STDOUT: bond0.1 /etc/sysconfig/network-scripts/ifcfg-bond0.1 TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:35 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.161) 0:00:13.427 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true, "lsr_net_profile_exists": true, "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Get the ansible_managed comment in ifcfg-bond0.1] ************************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:49 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.023) 0:00:13.451 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the ansible_managed comment in ifcfg-bond0.1] ********************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:56 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.024) 0:00:13.476 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the fingerprint comment in ifcfg-bond0.1] **************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:62 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.023) 0:00:13.499 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the fingerprint comment in ifcfg-bond0.1] ************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/get_profile_stat.yml:69 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.021) 0:00:13.521 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that the profile is present - 'bond0.1'] ************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:5 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.021) 0:00:13.543 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'bond0.1'] ********* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:10 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.023) 0:00:13.566 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in bond0.1] *************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/assert_profile_present.yml:15 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.022) 0:00:13.589 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [** TEST check polling interval] ****************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:70 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.045) 0:00:13.634 ******* ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "grep", "Polling Interval", "/proc/net/bonding/deprecated-bond" ], "delta": "0:00:00.003548", "end": "2024-01-09 02:30:42.672000", "rc": 0, "start": "2024-01-09 02:30:42.668452" } STDOUT: MII Polling Interval (ms): 110 TASK [** TEST check IPv4] ****************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:76 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.136) 0:00:13.770 ******* ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "ip", "-4", "a", "s", "deprecated-bond" ], "delta": "0:00:00.003566", "end": "2024-01-09 02:30:42.811628", "rc": 0, "start": "2024-01-09 02:30:42.808062" } STDOUT: 13: deprecated-bond: mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.0.2.221/24 brd 192.0.2.255 scope global noprefixroute dynamic deprecated-bond valid_lft 240sec preferred_lft 240sec TASK [** TEST check IPv6] ****************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:83 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.139) 0:00:13.909 ******* ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "ip", "-6", "a", "s", "deprecated-bond" ], "delta": "0:00:00.003348", "end": "2024-01-09 02:30:42.947360", "rc": 0, "start": "2024-01-09 02:30:42.944012" } STDOUT: 13: deprecated-bond: mtu 1500 state UP qlen 1000 inet6 2001:db8::d069:49c2:e93a:dddc/64 scope global tentative noprefixroute dynamic valid_lft 1800sec preferred_lft 1800sec inet6 fe80::5907:e0a2:21b1:c3aa/64 scope link noprefixroute valid_lft forever preferred_lft forever TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:4 Tuesday 09 January 2024 02:30:42 +0000 (0:00:00.137) 0:00:14.046 ******* included: /WORKDIR/git-route_typeb8h3xslc/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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Tuesday 09 January 2024 02:30:43 +0000 (0:00:00.038) 0:00:14.085 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Tuesday 09 January 2024 02:30:43 +0000 (0:00:00.025) 0:00:14.110 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Tuesday 09 January 2024 02:30:43 +0000 (0:00:00.021) 0:00:14.132 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Tuesday 09 January 2024 02:30:43 +0000 (0:00:00.020) 0:00:14.153 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Tuesday 09 January 2024 02:30:43 +0000 (0:00:00.780) 0:00:14.933 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:7 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.651) 0:00:15.584 ******* ok: [sut] => {} MSG: Using network provider: nm 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:11 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.022) 0:00:15.607 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:19 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.021) 0:00:15.628 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:30 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.019) 0:00:15.648 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:40 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.043) 0:00:15.691 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:55 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.019) 0:00:15.711 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:71 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.019) 0:00:15.730 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:85 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.024) 0:00:15.755 ******* 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 : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:96 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.223) 0:00:15.978 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:105 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.025) 0:00:16.004 ******* 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 : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:113 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.018) 0:00:16.023 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:122 Tuesday 09 January 2024 02:30:44 +0000 (0:00:00.019) 0:00:16.042 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "bond0.1", "persistent_state": "absent", "state": "down" }, { "name": "bond0.0", "persistent_state": "absent", "state": "down" }, { "name": "bond0", "persistent_state": "absent", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:134 Tuesday 09 January 2024 02:30:45 +0000 (0:00:00.703) 0:00:16.745 ******* 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-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:140 Tuesday 09 January 2024 02:30:45 +0000 (0:00:00.047) 0:00:16.793 ******* ok: [sut] => { "__network_connections_result.stderr_lines": [ "" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:144 Tuesday 09 January 2024 02:30:45 +0000 (0:00:00.029) 0:00:16.822 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "bond0.1", "persistent_state": "absent", "state": "down" }, { "name": "bond0.0", "persistent_state": "absent", "state": "down" }, { "name": "bond0", "persistent_state": "absent", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "\n", "stderr_lines": [ "" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:149 Tuesday 09 January 2024 02:30:45 +0000 (0:00:00.024) 0:00:16.847 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:155 Tuesday 09 January 2024 02:30:45 +0000 (0:00:00.025) 0:00:16.872 ******* ok: [sut] => { "changed": false, "ping": "pong" } TASK [Delete the device 'deprecated-bond'] ************************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:110 Tuesday 09 January 2024 02:30:45 +0000 (0:00:00.127) 0:00:17.000 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "deprecated-bond" ], "delta": "0:00:00.011587", "end": "2024-01-09 02:30:46.045275", "failed_when_result": false, "rc": 1, "start": "2024-01-09 02:30:46.033688" } STDERR: Cannot find device "deprecated-bond" MSG: non-zero return code TASK [Remove test interfaces] ************************************************** task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/remove_test_interfaces_with_dhcp.yml:3 Tuesday 09 January 2024 02:30:46 +0000 (0:00:00.140) 0:00:17.141 ******* ok: [sut] => { "changed": false, "cmd": "ip link delete test1\nip link delete test2\nip link delete testbr\n", "delta": "0:00:00.052388", "end": "2024-01-09 02:30:46.226619", "rc": 0, "start": "2024-01-09 02:30:46.174231" } TASK [Stop dnsmasq/radvd services] ********************************************* task path: /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/remove_test_interfaces_with_dhcp.yml:11 Tuesday 09 January 2024 02:30:46 +0000 (0:00:00.183) 0:00:17.325 ******* ok: [sut] => { "changed": false, "cmd": "pkill -F /run/dhcp_testbr.pid\nrm -rf /run/dhcp_testbr.pid\nrm -rf /run/dhcp_testbr.lease\nif grep 'release 6' /etc/redhat-release; then\n # Stop radvd server\n service radvd stop\n iptables -D INPUT -i testbr -p udp --dport 67:68 --sport 67:68 -j ACCEPT\n\nfi\n", "delta": "0:00:00.030533", "end": "2024-01-09 02:30:46.388473", "rc": 0, "start": "2024-01-09 02:30:46.357940" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=79 changed=3 unreachable=0 failed=0 skipped=44 rescued=0 ignored=0 Tuesday 09 January 2024 02:30:46 +0000 (0:00:00.149) 0:00:17.474 ******* =============================================================================== Install dnsmasq --------------------------------------------------------- 3.49s /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:3 Create test interfaces -------------------------------------------------- 1.34s /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:30 linux-system-roles.network : Configure networking connection profiles --- 0.97s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:122 linux-system-roles.network : Check which services are running ----------- 0.86s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which packages are installed --------- 0.79s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which services are running ----------- 0.78s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Configure networking connection profiles --- 0.70s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:122 linux-system-roles.network : Check which packages are installed --------- 0.65s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Gathering Facts --------------------------------------------------------- 0.53s /WORKDIR/git-route_typeb8h3xslc/tests/tests_bond_deprecated_nm.yml:6 ---------- Install yum-utils package ----------------------------------------------- 0.43s /WORKDIR/git-route_typeb8h3xslc/tests/tasks/enable_epel.yml:24 ---------------- Gathering Facts --------------------------------------------------------- 0.42s /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tests_bond_deprecated.yml:3 --- Install pgrep, sysctl --------------------------------------------------- 0.37s /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/create_test_interfaces_with_dhcp.yml:20 linux-system-roles.network : Enable and start NetworkManager ------------ 0.36s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:85 Enable EPEL 7 ----------------------------------------------------------- 0.32s /WORKDIR/git-route_typeb8h3xslc/tests/tasks/enable_epel.yml:30 ---------------- linux-system-roles.network : Enable and start NetworkManager ------------ 0.22s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:85 Gather the minimum subset of ansible_facts required by the network role test --- 0.21s /WORKDIR/git-route_typeb8h3xslc/tests/tasks/el_repo_setup.yml:3 --------------- Check if system is ostree ----------------------------------------------- 0.20s /WORKDIR/git-route_typeb8h3xslc/tests/tasks/el_repo_setup.yml:19 -------------- Create EPEL 7 ----------------------------------------------------------- 0.19s /WORKDIR/git-route_typeb8h3xslc/tests/tasks/enable_epel.yml:8 ----------------- Remove test interfaces -------------------------------------------------- 0.18s /WORKDIR/git-route_typeb8h3xslc/tests/playbooks/tasks/remove_test_interfaces_with_dhcp.yml:3 linux-system-roles.network : Re-test connectivity ----------------------- 0.18s /WORKDIR/git-route_typeb8h3xslc/tests/roles/linux-system-roles.network/tasks/main.yml:155 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---