2026-03-03 00:06:50.583409 | Job console starting... 2026-03-03 00:06:50.594408 | Updating repositories 2026-03-03 00:06:50.912987 | Preparing job workspace 2026-03-03 00:06:55.332355 | Running Ansible setup... 2026-03-03 00:07:01.226122 | PRE-RUN START: [trusted : github.com/ansible/zuul-config/playbooks/base/pre.yaml@master] 2026-03-03 00:07:03.382294 | 2026-03-03 00:07:03.382423 | PLAY [localhost] 2026-03-03 00:07:03.391308 | 2026-03-03 00:07:03.391391 | TASK [Gathering Facts] 2026-03-03 00:07:04.416619 | localhost | ok 2026-03-03 00:07:04.448396 | 2026-03-03 00:07:04.448570 | TASK [Setup log path fact] 2026-03-03 00:07:04.479635 | localhost | ok 2026-03-03 00:07:04.496720 | 2026-03-03 00:07:04.496822 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-03-03 00:07:04.550140 | localhost | ok 2026-03-03 00:07:04.566266 | 2026-03-03 00:07:04.566410 | TASK [emit-job-header : Print job information] 2026-03-03 00:07:04.620777 | # Job Information 2026-03-03 00:07:04.621013 | Ansible Version: 2.15.12 2026-03-03 00:07:04.621081 | Job: ansible-test-sanity-docker-devel 2026-03-03 00:07:04.621126 | Pipeline: periodic 2026-03-03 00:07:04.621167 | Executor: ze02.softwarefactory-project.io 2026-03-03 00:07:04.621206 | Triggered by: https://github.com/ansible-collections/ansible.network 2026-03-03 00:07:04.621250 | Log URL (when completed): https://ansible.softwarefactory-project.io/logs/606/ansible/60629b25443746debee6765f7b9e70df/ 2026-03-03 00:07:04.621291 | Event ID: c6f296bc1fe348df9801fd052b877527 2026-03-03 00:07:04.629351 | 2026-03-03 00:07:04.629482 | LOOP [emit-job-header : Print node information] 2026-03-03 00:07:04.763246 | localhost | ok: 2026-03-03 00:07:04.763654 | localhost | # Node Information 2026-03-03 00:07:04.763757 | localhost | Inventory Hostname: controller 2026-03-03 00:07:04.763807 | localhost | Hostname: np0005636090 2026-03-03 00:07:04.763857 | localhost | Username: zuul 2026-03-03 00:07:04.763928 | localhost | Distro: Fedora 37 2026-03-03 00:07:04.763994 | localhost | Provider: ansible-vexxhost-ca-ymq-1 2026-03-03 00:07:04.764048 | localhost | Region: ca-ymq-1 2026-03-03 00:07:04.764105 | localhost | Label: ansible-fedora-37-1vcpu 2026-03-03 00:07:04.764158 | localhost | Product Name: OpenStack Nova 2026-03-03 00:07:04.764202 | localhost | Interface IP: 199.204.45.210 2026-03-03 00:07:04.802751 | 2026-03-03 00:07:04.802943 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2026-03-03 00:07:05.246882 | localhost -> localhost | changed 2026-03-03 00:07:05.252247 | 2026-03-03 00:07:05.252329 | TASK [log-inventory : Copy ansible inventory to logs dir] 2026-03-03 00:07:06.336189 | localhost -> localhost | changed 2026-03-03 00:07:06.365884 | 2026-03-03 00:07:06.366210 | PLAY [all:!appliance*] 2026-03-03 00:07:06.389955 | 2026-03-03 00:07:06.390056 | TASK [include_role : start-zuul-console] 2026-03-03 00:07:06.424485 | controller | ok 2026-03-03 00:07:06.445809 | 2026-03-03 00:07:06.445951 | TASK [start-zuul-console : Start zuul_console daemon.] 2026-03-03 00:07:06.832399 | controller | ok 2026-03-03 00:07:06.858109 | 2026-03-03 00:07:06.858250 | TASK [use-our-mirror : Retrieve the IP address] 2026-03-03 00:07:08.181024 | controller | ok: Status code was 404 and not [200]: HTTP Error 404: Not Found 2026-03-03 00:07:08.187159 | 2026-03-03 00:07:08.187219 | TASK [use-our-mirror : Ensure the registry service is running on the mirror] 2026-03-03 00:07:08.725136 | controller | skipping: Conditional result was False 2026-03-03 00:07:08.734563 | 2026-03-03 00:07:08.734658 | TASK [use-our-mirror : Write the IP in /etc/hosts] 2026-03-03 00:07:08.763654 | controller | skipping: Conditional result was False 2026-03-03 00:07:08.775383 | 2026-03-03 00:07:08.775501 | TASK [use-our-mirror : Create the podman configuration directory] 2026-03-03 00:07:08.791247 | controller | skipping: Conditional result was False 2026-03-03 00:07:08.804490 | 2026-03-03 00:07:08.804658 | TASK [use-our-mirror : Copy the podman configuration] 2026-03-03 00:07:08.834701 | controller | skipping: Conditional result was False 2026-03-03 00:07:08.840695 | 2026-03-03 00:07:08.840763 | TASK [use-our-mirror : Copy the Yum configuration (main)] 2026-03-03 00:07:08.864478 | controller | skipping: Conditional result was False 2026-03-03 00:07:08.871760 | 2026-03-03 00:07:08.871830 | TASK [use-our-mirror : Copy the Yum configuration (update)] 2026-03-03 00:07:08.896690 | controller | skipping: Conditional result was False 2026-03-03 00:07:08.909110 | 2026-03-03 00:07:08.909203 | TASK [Disable Fedora Modular] 2026-03-03 00:07:09.152440 | controller | changed 2026-03-03 00:07:09.158005 | 2026-03-03 00:07:09.158064 | TASK [Enable EPEL] 2026-03-03 00:07:09.181381 | controller | skipping: Conditional result was False 2026-03-03 00:07:09.188542 | 2026-03-03 00:07:09.188621 | TASK [Register the RHEL node] 2026-03-03 00:07:09.753879 | 2026-03-03 00:07:09.754092 | TASK [Show the subscription-manager status] 2026-03-03 00:07:10.343266 | controller | skipping: Conditional result was False 2026-03-03 00:07:10.352818 | 2026-03-03 00:07:10.352893 | TASK [Enable EPEL on RHEL] 2026-03-03 00:07:10.901024 | controller | skipping: Conditional result was False 2026-03-03 00:07:10.907689 | 2026-03-03 00:07:10.907767 | TASK [Install git and tox] 2026-03-03 00:08:36.673287 | controller | changed 2026-03-03 00:08:36.686696 | 2026-03-03 00:08:36.686828 | TASK [include_role : prepare-workspace] 2026-03-03 00:08:36.724687 | controller | ok 2026-03-03 00:08:36.762412 | 2026-03-03 00:08:36.762761 | TASK [prepare-workspace : Start zuul_console daemon.] 2026-03-03 00:08:37.055246 | controller | ok 2026-03-03 00:08:37.062943 | 2026-03-03 00:08:37.063018 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2026-03-03 00:08:50.539939 | controller | Output suppressed because no_log was given 2026-03-03 00:08:50.589313 | 2026-03-03 00:08:50.589714 | TASK [include_role : prepare-workspace-openshift] 2026-03-03 00:08:50.615345 | controller | skipping: Conditional result was False 2026-03-03 00:08:50.642453 | 2026-03-03 00:08:50.642542 | PLAY [all:!appliance] 2026-03-03 00:08:50.663035 | 2026-03-03 00:08:50.663111 | TASK [Run add-build-sshkey role (RSA)] 2026-03-03 00:08:50.695307 | controller | ok 2026-03-03 00:08:50.714932 | 2026-03-03 00:08:50.715074 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-03-03 00:08:50.984372 | controller -> localhost | ok 2026-03-03 00:08:50.993590 | 2026-03-03 00:08:50.993713 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-03-03 00:08:51.053947 | controller | ok 2026-03-03 00:08:51.070337 | controller | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-03-03 00:08:51.076980 | 2026-03-03 00:08:51.077058 | TASK [add-build-sshkey : Create Temp SSH key] 2026-03-03 00:08:51.535543 | controller -> localhost | Generating public/private rsa key pair. 2026-03-03 00:08:51.535782 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/60629b25443746debee6765f7b9e70df_id_rsa. 2026-03-03 00:08:51.535813 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/60629b25443746debee6765f7b9e70df_id_rsa.pub. 2026-03-03 00:08:51.535834 | controller -> localhost | The key fingerprint is: 2026-03-03 00:08:51.535853 | controller -> localhost | SHA256:DiooymSYZj5fsyyjruE7E3pcbUdXaH8RldgxOJxsH48 zuul-build-sshkey 2026-03-03 00:08:51.535872 | controller -> localhost | The key's randomart image is: 2026-03-03 00:08:51.535890 | controller -> localhost | +---[RSA 2048]----+ 2026-03-03 00:08:51.535921 | controller -> localhost | | .o *=+| 2026-03-03 00:08:51.535941 | controller -> localhost | | o .O.+.| 2026-03-03 00:08:51.535959 | controller -> localhost | | . o. ooo| 2026-03-03 00:08:51.535977 | controller -> localhost | | . . . E..| 2026-03-03 00:08:51.535995 | controller -> localhost | | ...S. . | 2026-03-03 00:08:51.536021 | controller -> localhost | |.+ ..oo. | 2026-03-03 00:08:51.536045 | controller -> localhost | |B*o..+ .. | 2026-03-03 00:08:51.536067 | controller -> localhost | |%=o+o o | 2026-03-03 00:08:51.536086 | controller -> localhost | |=OB.oo | 2026-03-03 00:08:51.536107 | controller -> localhost | +----[SHA256]-----+ 2026-03-03 00:08:51.536153 | controller -> localhost | ok: Runtime: 0:00:00.060567 2026-03-03 00:08:51.543633 | 2026-03-03 00:08:51.543712 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-03-03 00:08:51.567978 | controller | ok 2026-03-03 00:08:51.580614 | controller | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-03-03 00:08:51.592749 | 2026-03-03 00:08:51.592849 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-03-03 00:08:51.618272 | controller | skipping: Conditional result was False 2026-03-03 00:08:51.625919 | 2026-03-03 00:08:51.625997 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-03-03 00:08:52.090497 | controller | changed 2026-03-03 00:08:52.103093 | 2026-03-03 00:08:52.103210 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-03-03 00:08:52.331340 | controller | ok 2026-03-03 00:08:52.338896 | 2026-03-03 00:08:52.338992 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-03-03 00:08:53.038355 | controller | changed 2026-03-03 00:08:53.058821 | 2026-03-03 00:08:53.059085 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-03-03 00:08:53.773804 | controller | changed 2026-03-03 00:08:53.789717 | 2026-03-03 00:08:53.789853 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-03-03 00:08:53.826837 | controller | skipping: Conditional result was False 2026-03-03 00:08:53.835499 | 2026-03-03 00:08:53.835765 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-03-03 00:08:54.309911 | controller -> localhost | changed 2026-03-03 00:08:54.330525 | 2026-03-03 00:08:54.330657 | TASK [add-build-sshkey : Add back temp key] 2026-03-03 00:08:54.678338 | controller -> localhost | Identity added: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/60629b25443746debee6765f7b9e70df_id_rsa (zuul-build-sshkey) 2026-03-03 00:08:54.678595 | controller -> localhost | ok: Runtime: 0:00:00.015378 2026-03-03 00:08:54.688350 | 2026-03-03 00:08:54.688435 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-03-03 00:08:55.079241 | controller | ok 2026-03-03 00:08:55.084852 | 2026-03-03 00:08:55.084932 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-03-03 00:08:55.113123 | controller | skipping: Conditional result was False 2026-03-03 00:08:55.127971 | 2026-03-03 00:08:55.128083 | TASK [Run add-build-sshkey role (ECDSA)] 2026-03-03 00:08:55.162329 | controller | ok 2026-03-03 00:08:55.187383 | 2026-03-03 00:08:55.187492 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-03-03 00:08:55.490835 | controller -> localhost | ok 2026-03-03 00:08:55.500069 | 2026-03-03 00:08:55.500166 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-03-03 00:08:55.540174 | controller | ok 2026-03-03 00:08:55.559938 | controller | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-03-03 00:08:55.575033 | 2026-03-03 00:08:55.575273 | TASK [add-build-sshkey : Create Temp SSH key] 2026-03-03 00:08:55.928834 | controller -> localhost | Generating public/private ecdsa key pair. 2026-03-03 00:08:55.929168 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/60629b25443746debee6765f7b9e70df_id_ecdsa. 2026-03-03 00:08:55.929198 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/60629b25443746debee6765f7b9e70df_id_ecdsa.pub. 2026-03-03 00:08:55.929231 | controller -> localhost | The key fingerprint is: 2026-03-03 00:08:55.929251 | controller -> localhost | SHA256:uYrz5P63MIgAJ6mmI1hkkeWROrb6bk9QwdYicZ9MXLs zuul-build-sshkey 2026-03-03 00:08:55.929270 | controller -> localhost | The key's randomart image is: 2026-03-03 00:08:55.929288 | controller -> localhost | +---[ECDSA 521]---+ 2026-03-03 00:08:55.929306 | controller -> localhost | | o==+... | 2026-03-03 00:08:55.929322 | controller -> localhost | | .o+=*o. . | 2026-03-03 00:08:55.929339 | controller -> localhost | |+ ++o.+ . | 2026-03-03 00:08:55.929355 | controller -> localhost | |.*+. o | 2026-03-03 00:08:55.929371 | controller -> localhost | |.o+o E | 2026-03-03 00:08:55.929387 | controller -> localhost | |+..o . . . | 2026-03-03 00:08:55.929402 | controller -> localhost | |=. o o + | 2026-03-03 00:08:55.929418 | controller -> localhost | |o....+ . o. | 2026-03-03 00:08:55.929434 | controller -> localhost | | +o.o+=..... | 2026-03-03 00:08:55.929449 | controller -> localhost | +----[SHA256]-----+ 2026-03-03 00:08:55.929540 | controller -> localhost | ok: Runtime: 0:00:00.018253 2026-03-03 00:08:55.937732 | 2026-03-03 00:08:55.937810 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-03-03 00:08:55.988457 | controller | ok 2026-03-03 00:08:55.998323 | controller | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-03-03 00:08:56.008740 | 2026-03-03 00:08:56.008868 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-03-03 00:08:56.034440 | controller | skipping: Conditional result was False 2026-03-03 00:08:56.044147 | 2026-03-03 00:08:56.044299 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-03-03 00:08:56.321828 | controller | changed 2026-03-03 00:08:56.337106 | 2026-03-03 00:08:56.337305 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-03-03 00:08:56.555105 | controller | ok 2026-03-03 00:08:56.561808 | 2026-03-03 00:08:56.561894 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-03-03 00:08:57.259547 | controller | changed 2026-03-03 00:08:57.283446 | 2026-03-03 00:08:57.283703 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-03-03 00:08:57.956120 | controller | changed 2026-03-03 00:08:57.970899 | 2026-03-03 00:08:57.971025 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-03-03 00:08:57.998035 | controller | skipping: Conditional result was False 2026-03-03 00:08:58.009376 | 2026-03-03 00:08:58.009557 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-03-03 00:08:58.343372 | controller -> localhost | changed 2026-03-03 00:08:58.368570 | 2026-03-03 00:08:58.368791 | TASK [add-build-sshkey : Add back temp key] 2026-03-03 00:08:58.686206 | controller -> localhost | Identity added: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/60629b25443746debee6765f7b9e70df_id_ecdsa (zuul-build-sshkey) 2026-03-03 00:08:58.686641 | controller -> localhost | ok: Runtime: 0:00:00.009899 2026-03-03 00:08:58.697701 | 2026-03-03 00:08:58.697823 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-03-03 00:08:58.912936 | controller | ok 2026-03-03 00:08:58.928553 | 2026-03-03 00:08:58.928783 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-03-03 00:08:58.978074 | controller | skipping: Conditional result was False 2026-03-03 00:08:59.012442 | 2026-03-03 00:08:59.012724 | TASK [include_role : remove-zuul-sshkey] 2026-03-03 00:08:59.040770 | controller | skipping: Conditional result was False 2026-03-03 00:08:59.051223 | 2026-03-03 00:08:59.051524 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2026-03-03 00:08:59.308267 | controller | ok: "logs" 2026-03-03 00:08:59.308819 | controller | ok: All items complete 2026-03-03 00:08:59.308885 | 2026-03-03 00:08:59.517495 | controller | ok: "artifacts" 2026-03-03 00:08:59.695330 | controller | ok: "docs" 2026-03-03 00:08:59.712160 | 2026-03-03 00:08:59.712296 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2026-03-03 00:08:59.954629 | controller | changed: "logs" 2026-03-03 00:09:00.155165 | controller | changed: "artifacts" 2026-03-03 00:09:00.352533 | controller | changed: "docs" 2026-03-03 00:09:00.414369 | 2026-03-03 00:09:00.414495 | PLAY RECAP 2026-03-03 00:09:00.414553 | controller | ok: 30 changed: 16 unreachable: 0 failed: 0 skipped: 18 rescued: 0 ignored: 0 2026-03-03 00:09:00.414589 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-03-03 00:09:00.414613 | 2026-03-03 00:09:00.540138 | PRE-RUN END RESULT_NORMAL: [trusted : github.com/ansible/zuul-config/playbooks/base/pre.yaml@master] 2026-03-03 00:09:00.541354 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-03-03 00:09:01.303187 | 2026-03-03 00:09:01.303315 | PLAY [all] 2026-03-03 00:09:01.331127 | 2026-03-03 00:09:01.331257 | TASK [Install binary dependencies] 2026-03-03 00:09:01.392266 | controller | ok 2026-03-03 00:09:01.413465 | 2026-03-03 00:09:01.413607 | TASK [bindep : Include find tasks] 2026-03-03 00:09:01.443746 | controller | ok 2026-03-03 00:09:01.451803 | controller | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep/tasks/find.yaml 2026-03-03 00:09:01.458295 | 2026-03-03 00:09:01.458397 | TASK [bindep : Look for bindep.txt] 2026-03-03 00:09:01.861519 | controller | ok 2026-03-03 00:09:01.870406 | 2026-03-03 00:09:01.870541 | TASK [bindep : Define bindep_file fact] 2026-03-03 00:09:01.886513 | controller | skipping: Conditional result was False 2026-03-03 00:09:01.895884 | 2026-03-03 00:09:01.896017 | TASK [bindep : Look for other-requirements.txt] 2026-03-03 00:09:02.122052 | controller | ok 2026-03-03 00:09:02.127800 | 2026-03-03 00:09:02.127880 | TASK [bindep : Define bindep_file fact] 2026-03-03 00:09:02.152310 | controller | skipping: Conditional result was False 2026-03-03 00:09:02.161305 | 2026-03-03 00:09:02.161377 | TASK [bindep : Look for bindep fallback file] 2026-03-03 00:09:02.185550 | controller | skipping: Conditional result was False 2026-03-03 00:09:02.193810 | 2026-03-03 00:09:02.193926 | TASK [bindep : Define bindep_file fact] 2026-03-03 00:09:02.240039 | controller | skipping: Conditional result was False 2026-03-03 00:09:02.248549 | 2026-03-03 00:09:02.248692 | TASK [bindep : Include bindep tasks] 2026-03-03 00:09:02.294350 | controller | skipping: Conditional result was False 2026-03-03 00:09:02.304758 | 2026-03-03 00:09:02.304893 | TASK [bindep : Include install tasks] 2026-03-03 00:09:02.330097 | controller | skipping: Conditional result was False 2026-03-03 00:09:02.339785 | 2026-03-03 00:09:02.339872 | LOOP [bindep : Include package tasks] 2026-03-03 00:09:02.407805 | 2026-03-03 00:09:02.407969 | TASK [Run test-setup role] 2026-03-03 00:09:02.428370 | controller | ok 2026-03-03 00:09:02.445470 | 2026-03-03 00:09:02.445652 | TASK [test-setup : Check if project's tools/test-setup.sh exists] 2026-03-03 00:09:02.690288 | controller | ok 2026-03-03 00:09:02.712320 | 2026-03-03 00:09:02.712435 | TASK [test-setup : Run tools/test-setup.sh] 2026-03-03 00:09:03.273833 | controller | skipping: Conditional result was False 2026-03-03 00:09:03.316137 | 2026-03-03 00:09:03.316234 | PLAY RECAP 2026-03-03 00:09:03.316278 | controller | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-03-03 00:09:03.316299 | 2026-03-03 00:09:08.039027 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-03-03 00:09:08.040120 | PRE-RUN START: [untrusted : github.com/ansible/ansible-zuul-jobs/playbooks/ansible-test-base/pre.yaml@master] 2026-03-03 00:09:08.732252 | 2026-03-03 00:09:08.732398 | PLAY [controller] 2026-03-03 00:09:08.754495 | 2026-03-03 00:09:08.754636 | TASK [Create the /root directory] 2026-03-03 00:09:09.179215 | controller | ok 2026-03-03 00:09:09.185116 | 2026-03-03 00:09:09.185189 | TASK [Install glibc-langpack-en] 2026-03-03 00:09:13.200075 | controller | ok: Nothing to do 2026-03-03 00:09:13.214757 | 2026-03-03 00:09:13.214935 | TASK [Ensure controller directory exists] 2026-03-03 00:09:13.433249 | controller | changed 2026-03-03 00:09:13.441580 | 2026-03-03 00:09:13.441691 | TASK [Install container runtime] 2026-03-03 00:09:13.495476 | controller | ok 2026-03-03 00:09:13.557238 | 2026-03-03 00:09:13.557339 | LOOP [ensure-podman : Find distribution installation] 2026-03-03 00:09:13.594326 | controller | ok: "/var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-podman/tasks/RedHat.yaml" 2026-03-03 00:09:13.610311 | controller | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-podman/tasks/RedHat.yaml 2026-03-03 00:09:13.625745 | 2026-03-03 00:09:13.625876 | TASK [ensure-podman : Install podman (RedHat)] 2026-03-03 00:10:20.229921 | controller | changed 2026-03-03 00:10:20.244119 | 2026-03-03 00:10:20.244285 | TASK [ensure-podman : Fetch podman version] 2026-03-03 00:10:20.792098 | controller | Client: Podman Engine 2026-03-03 00:10:20.792199 | controller | Version: 4.6.2 2026-03-03 00:10:20.792244 | controller | API Version: 4.6.2 2026-03-03 00:10:20.792305 | controller | Go Version: go1.19.12 2026-03-03 00:10:20.792371 | controller | Built: Mon Aug 28 19:38:31 2023 2026-03-03 00:10:20.792436 | controller | OS/Arch: linux/amd64 2026-03-03 00:10:21.295390 | controller | ok: Runtime: 0:00:00.189501 2026-03-03 00:10:21.302932 | 2026-03-03 00:10:21.303024 | TASK [ensure-podman : Print podman version installed] 2026-03-03 00:10:21.338489 | Podman version: Client: Podman Engine 2026-03-03 00:10:21.338705 | Version: 4.6.2 2026-03-03 00:10:21.338752 | API Version: 4.6.2 2026-03-03 00:10:21.338782 | Go Version: go1.19.12 2026-03-03 00:10:21.338809 | Built: Mon Aug 28 19:38:31 2023 2026-03-03 00:10:21.338838 | OS/Arch: linux/amd64 2026-03-03 00:10:21.347874 | 2026-03-03 00:10:21.347983 | TASK [ensure-podman : Validate podman engine] 2026-03-03 00:10:21.891113 | controller | skipping: Conditional result was False 2026-03-03 00:10:21.906621 | 2026-03-03 00:10:21.906820 | TASK [ensure-podman : Set up docker compatability socket] 2026-03-03 00:10:21.933992 | controller | skipping: Conditional result was False 2026-03-03 00:10:21.961065 | 2026-03-03 00:10:21.961238 | TASK [Ensure python3.8 is present] 2026-03-03 00:10:21.989060 | controller | skipping: Conditional result was False 2026-03-03 00:10:22.000330 | 2026-03-03 00:10:22.000450 | TASK [Run our-ensure-python role (Fedora only for now)] 2026-03-03 00:10:22.035345 | controller | ok 2026-03-03 00:10:22.062959 | 2026-03-03 00:10:22.063101 | TASK [our-ensure-python : Install the right Python version (rpm)] 2026-03-03 00:10:23.537263 | controller | ok: Nothing to do 2026-03-03 00:10:23.544843 | 2026-03-03 00:10:23.544921 | TASK [our-ensure-python : Also install python3-devel] 2026-03-03 00:10:33.571056 | controller | changed 2026-03-03 00:10:33.594989 | 2026-03-03 00:10:33.595144 | TASK [Run ensure-virtualenv role] 2026-03-03 00:10:33.619451 | controller | ok 2026-03-03 00:10:33.648523 | 2026-03-03 00:10:33.648654 | TASK [ensure-virtualenv : Check if virtualenv is installed] 2026-03-03 00:10:33.863169 | controller | /usr/bin/virtualenv 2026-03-03 00:10:34.181860 | controller | ok: Runtime: 0:00:00.004957 2026-03-03 00:10:34.242880 | 2026-03-03 00:10:34.243061 | LOOP [ensure-virtualenv : Install virtualenv package] 2026-03-03 00:10:34.266182 | controller | skipping: Conditional result was False 2026-03-03 00:10:34.266565 | controller | ok: All items complete 2026-03-03 00:10:34.266604 | 2026-03-03 00:10:34.284257 | 2026-03-03 00:10:34.284414 | TASK [Find the full path of the Python interpreter] 2026-03-03 00:10:34.550569 | controller | /usr/bin/python3 2026-03-03 00:10:34.827450 | controller | ok 2026-03-03 00:10:34.841644 | 2026-03-03 00:10:34.841909 | TASK [Create virtualenv for ansible-test with a specific interpreter] 2026-03-03 00:10:35.864731 | controller | created virtual environment CPython3.11.0.final.0-64 in 543ms 2026-03-03 00:10:35.886738 | controller | creator CPython3Posix(dest=/home/zuul/venv, clear=False, no_vcs_ignore=False, global=False) 2026-03-03 00:10:35.886769 | controller | seeder FromAppData(extra_search_dir=/usr/share/python-wheels,download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/zuul/.local/share/virtualenv) 2026-03-03 00:10:35.886780 | controller | added seed packages: pip==22.2.2, setuptools==62.6.0, wheel==0.37.1 2026-03-03 00:10:35.886793 | controller | activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator 2026-03-03 00:10:35.919192 | controller | changed 2026-03-03 00:10:35.925202 | 2026-03-03 00:10:35.925263 | TASK [Set selinux package] 2026-03-03 00:10:35.955418 | controller | ok 2026-03-03 00:10:35.961124 | 2026-03-03 00:10:35.961186 | TASK [Set selinux package (Fedora)] 2026-03-03 00:10:36.011452 | controller | ok 2026-03-03 00:10:36.017215 | 2026-03-03 00:10:36.017291 | TASK [Install selinux into virtualenv] 2026-03-03 00:10:49.571033 | controller | Collecting selinux-please-lie-to-me 2026-03-03 00:11:01.846821 | controller | Downloading selinux_please_lie_to_me-1.0.1-py2.py3-none-any.whl (3.8 kB) 2026-03-03 00:11:02.180628 | controller | Collecting setuptools<50.0.0 2026-03-03 00:11:02.186645 | controller | Downloading setuptools-49.6.0-py3-none-any.whl (803 kB) 2026-03-03 00:11:02.235335 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 803.3/803.3 kB 18.5 MB/s eta 0:00:00 2026-03-03 00:11:02.315205 | controller | Installing collected packages: setuptools, selinux-please-lie-to-me 2026-03-03 00:11:02.315434 | controller | Attempting uninstall: setuptools 2026-03-03 00:11:02.318104 | controller | Found existing installation: setuptools 62.6.0 2026-03-03 00:11:02.377154 | controller | Uninstalling setuptools-62.6.0: 2026-03-03 00:11:02.385100 | controller | Successfully uninstalled setuptools-62.6.0 2026-03-03 00:11:02.743999 | controller | Successfully installed selinux-please-lie-to-me-1.0.1 setuptools-49.6.0 2026-03-03 00:11:14.188702 | controller | 2026-03-03 00:11:14.270104 | controller | [notice] A new release of pip available: 22.2.2 -> 26.0.1 2026-03-03 00:11:14.270143 | controller | [notice] To update, run: python -m pip install --upgrade pip 2026-03-03 00:11:14.569895 | controller | ok: Runtime: 0:00:38.051663 2026-03-03 00:11:14.580521 | 2026-03-03 00:11:14.580693 | TASK [Install pytest-forked into virtualenv] 2026-03-03 00:11:26.462156 | controller | Collecting pytest-forked 2026-03-03 00:11:36.836860 | controller | Downloading pytest_forked-1.6.0-py3-none-any.whl (4.9 kB) 2026-03-03 00:11:36.880299 | controller | Collecting py 2026-03-03 00:11:36.987927 | controller | Downloading py-1.11.0-py2.py3-none-any.whl (98 kB) 2026-03-03 00:11:37.010907 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.7/98.7 kB 5.1 MB/s eta 0:00:00 2026-03-03 00:11:37.127545 | controller | Collecting pytest>=3.10 2026-03-03 00:11:37.251455 | controller | Downloading pytest-9.0.2-py3-none-any.whl (374 kB) 2026-03-03 00:11:37.269171 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 374.8/374.8 kB 26.4 MB/s eta 0:00:00 2026-03-03 00:11:37.346194 | controller | Collecting iniconfig>=1.0.1 2026-03-03 00:11:37.503577 | controller | Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) 2026-03-03 00:11:37.551541 | controller | Collecting packaging>=22 2026-03-03 00:11:37.668054 | controller | Downloading packaging-26.0-py3-none-any.whl (74 kB) 2026-03-03 00:11:37.676329 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.4/74.4 kB 13.2 MB/s eta 0:00:00 2026-03-03 00:11:37.710219 | controller | Collecting pluggy<2,>=1.5 2026-03-03 00:11:37.865574 | controller | Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-03-03 00:11:37.918204 | controller | Collecting pygments>=2.7.2 2026-03-03 00:11:38.026910 | controller | Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB) 2026-03-03 00:11:38.067238 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 33.9 MB/s eta 0:00:00 2026-03-03 00:11:38.138220 | controller | Installing collected packages: pygments, py, pluggy, packaging, iniconfig, pytest, pytest-forked 2026-03-03 00:11:39.196954 | controller | Successfully installed iniconfig-2.3.0 packaging-26.0 pluggy-1.6.0 py-1.11.0 pygments-2.19.2 pytest-9.0.2 pytest-forked-1.6.0 2026-03-03 00:11:39.205965 | controller | 2026-03-03 00:11:39.283024 | controller | [notice] A new release of pip available: 22.2.2 -> 26.0.1 2026-03-03 00:11:39.283153 | controller | [notice] To update, run: python -m pip install --upgrade pip 2026-03-03 00:11:39.644384 | controller | ok: Runtime: 0:00:24.488781 2026-03-03 00:11:39.653696 | 2026-03-03 00:11:39.653865 | TASK [Update pip] 2026-03-03 00:11:40.188005 | controller | Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (22.2.2) 2026-03-03 00:11:52.611715 | controller | Collecting pip 2026-03-03 00:12:04.812984 | controller | Downloading pip-26.0.1-py3-none-any.whl (1.8 MB) 2026-03-03 00:12:04.877042 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 30.6 MB/s eta 0:00:00 2026-03-03 00:12:04.954158 | controller | Installing collected packages: pip 2026-03-03 00:12:04.954322 | controller | Attempting uninstall: pip 2026-03-03 00:12:04.956473 | controller | Found existing installation: pip 22.2.2 2026-03-03 00:12:05.090710 | controller | Uninstalling pip-22.2.2: 2026-03-03 00:12:05.105487 | controller | Successfully uninstalled pip-22.2.2 2026-03-03 00:12:05.927453 | controller | Successfully installed pip-26.0.1 2026-03-03 00:12:06.214056 | controller | ok: Runtime: 0:00:26.114351 2026-03-03 00:12:06.229879 | 2026-03-03 00:12:06.230103 | TASK [Ensure pip temp directory exists in /var/tmp] 2026-03-03 00:12:06.452282 | controller | changed 2026-03-03 00:12:06.462185 | 2026-03-03 00:12:06.462523 | TASK [Install ansible into virtualenv] 2026-03-03 00:12:06.955731 | controller | Processing ./src/github.com/ansible/ansible 2026-03-03 00:12:06.958270 | controller | Installing build dependencies: started 2026-03-03 00:12:29.687884 | controller | Installing build dependencies: finished with status 'done' 2026-03-03 00:12:29.688514 | controller | Getting requirements to build wheel: started 2026-03-03 00:12:30.428845 | controller | Getting requirements to build wheel: finished with status 'done' 2026-03-03 00:12:30.431041 | controller | Preparing metadata (pyproject.toml): started 2026-03-03 00:12:30.888884 | controller | Preparing metadata (pyproject.toml): finished with status 'done' 2026-03-03 00:12:30.894281 | controller | INFO: pip is looking at multiple versions of ansible-core to determine which version is compatible with other requirements. This could take a while. 2026-03-03 00:12:30.899974 | controller | ERROR: Package 'ansible-core' requires a different Python: 3.11.0 not in '>=3.12' 2026-03-03 00:12:31.020854 | controller | ERROR 2026-03-03 00:12:31.021120 | controller | { 2026-03-03 00:12:31.021183 | controller | "delta": "0:00:24.296073", 2026-03-03 00:12:31.021225 | controller | "end": "2026-03-03 00:12:30.964171", 2026-03-03 00:12:31.021262 | controller | "msg": "non-zero return code", 2026-03-03 00:12:31.021314 | controller | "rc": 1, 2026-03-03 00:12:31.021351 | controller | "start": "2026-03-03 00:12:06.668098" 2026-03-03 00:12:31.021386 | controller | } failure 2026-03-03 00:12:31.024175 | 2026-03-03 00:12:31.024272 | PLAY RECAP 2026-03-03 00:12:31.024354 | controller | ok: 18 changed: 10 unreachable: 0 failed: 1 skipped: 4 rescued: 0 ignored: 0 2026-03-03 00:12:31.024398 | 2026-03-03 00:12:31.159197 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/ansible/ansible-zuul-jobs/playbooks/ansible-test-base/pre.yaml@master] 2026-03-03 00:12:31.160159 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-03-03 00:12:33.351461 | 2026-03-03 00:12:33.352611 | PLAY [all] 2026-03-03 00:12:33.376527 | 2026-03-03 00:12:33.376682 | TASK [fetch-subunit-output : Find stestr or testr executable] 2026-03-03 00:12:33.646887 | controller | changed: non-zero return code 2026-03-03 00:12:33.657460 | 2026-03-03 00:12:33.657616 | TASK [fetch-subunit-output : Get the list of directories with subunit files] 2026-03-03 00:12:33.673630 | controller | skipping: Conditional result was False 2026-03-03 00:12:33.683793 | 2026-03-03 00:12:33.683901 | LOOP [fetch-subunit-output : Find any inflight partial subunit files] 2026-03-03 00:12:33.711410 | 2026-03-03 00:12:33.711621 | LOOP [fetch-subunit-output : Copy any inflight subunit files] 2026-03-03 00:12:33.738103 | 2026-03-03 00:12:33.738339 | TASK [fetch-subunit-output : Create a temporary file to store the subunit stream] 2026-03-03 00:12:33.753463 | controller | skipping: Conditional result was False 2026-03-03 00:12:33.765748 | 2026-03-03 00:12:33.765874 | LOOP [fetch-subunit-output : Generate subunit file] 2026-03-03 00:12:33.789889 | 2026-03-03 00:12:33.790088 | TASK [fetch-subunit-output : Copy the combined subunit file to the zuul work directory] 2026-03-03 00:12:33.814344 | controller | skipping: Conditional result was False 2026-03-03 00:12:33.821643 | 2026-03-03 00:12:33.821738 | TASK [fetch-subunit-output : Remove the temporary file] 2026-03-03 00:12:33.846159 | controller | skipping: Conditional result was False 2026-03-03 00:12:33.854864 | 2026-03-03 00:12:33.854951 | TASK [fetch-subunit-output : Process and fetch subunit results] 2026-03-03 00:12:33.869017 | controller | skipping: Conditional result was False 2026-03-03 00:12:33.900154 | 2026-03-03 00:12:33.900257 | PLAY RECAP 2026-03-03 00:12:33.900302 | controller | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-03-03 00:12:33.900322 | 2026-03-03 00:12:34.032091 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-03-03 00:12:34.033294 | POST-RUN START: [trusted : github.com/ansible/zuul-config/playbooks/base/post.yaml@master] 2026-03-03 00:12:36.080086 | 2026-03-03 00:12:36.080198 | PLAY [all:!appliance*] 2026-03-03 00:12:36.103064 | 2026-03-03 00:12:36.103187 | TASK [unregister the node] 2026-03-03 00:12:36.637964 | controller | skipping: Conditional result was False 2026-03-03 00:12:36.647625 | 2026-03-03 00:12:36.647768 | TASK [include_role : fetch-output] 2026-03-03 00:12:36.706187 | controller | ok 2026-03-03 00:12:36.742996 | 2026-03-03 00:12:36.743093 | TASK [fetch-output : Set log path for multiple nodes] 2026-03-03 00:12:36.818876 | controller | skipping: Conditional result was False 2026-03-03 00:12:36.832422 | 2026-03-03 00:12:36.832575 | TASK [fetch-output : Set log path for single node] 2026-03-03 00:12:36.881144 | controller | ok 2026-03-03 00:12:36.893133 | 2026-03-03 00:12:36.893265 | LOOP [fetch-output : Ensure local output dirs] 2026-03-03 00:12:37.336790 | controller -> localhost | ok: "/var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/logs" 2026-03-03 00:12:37.600954 | controller -> localhost | changed: "/var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/artifacts" 2026-03-03 00:12:37.902743 | controller -> localhost | changed: "/var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/work/docs" 2026-03-03 00:12:37.925426 | 2026-03-03 00:12:37.925590 | LOOP [fetch-output : Collect logs, artifacts and docs] 2026-03-03 00:12:38.622993 | controller | changed: 2026-03-03 00:12:38.623284 | controller | .d..t...... ./ 2026-03-03 00:12:38.623324 | controller | cd+++++++++ controller/ 2026-03-03 00:12:38.623371 | controller | changed: All items complete 2026-03-03 00:12:38.623399 | 2026-03-03 00:12:39.132691 | controller | changed: .d..t...... ./ 2026-03-03 00:12:39.635882 | controller | changed: .d..t...... ./ 2026-03-03 00:12:39.676889 | 2026-03-03 00:12:39.677125 | TASK [include_role : fetch-output-openshift] 2026-03-03 00:12:39.695208 | controller | skipping: Conditional result was False 2026-03-03 00:12:39.705238 | 2026-03-03 00:12:39.705357 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2026-03-03 00:12:39.745619 | controller | skipping: Conditional result was False 2026-03-03 00:12:39.761296 | controller | skipping: Conditional result was False 2026-03-03 00:12:39.824954 | 2026-03-03 00:12:39.825130 | PLAY [localhost] 2026-03-03 00:12:39.841558 | 2026-03-03 00:12:39.841646 | TASK [Run Zuul manifest role] 2026-03-03 00:12:39.863380 | localhost | ok 2026-03-03 00:12:39.883454 | 2026-03-03 00:12:39.883578 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2026-03-03 00:12:40.279221 | localhost | changed 2026-03-03 00:12:40.284036 | 2026-03-03 00:12:40.284121 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2026-03-03 00:12:40.312932 | localhost | ok 2026-03-03 00:12:40.320653 | 2026-03-03 00:12:40.320730 | TASK [Set zuul-log-path fact] 2026-03-03 00:12:40.338046 | localhost | ok 2026-03-03 00:12:40.352494 | 2026-03-03 00:12:40.352611 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-03-03 00:12:40.381039 | localhost | ok 2026-03-03 00:12:40.389183 | 2026-03-03 00:12:40.389253 | LOOP [Set zuul_log_targets (Swift with random Rackspace region)] 2026-03-03 00:12:40.422490 | localhost | ok: 2026-03-03 00:12:40.423266 | localhost | { 2026-03-03 00:12:40.423333 | localhost | "auth": { 2026-03-03 00:12:40.423380 | localhost | "password": "IonWCwcuOFib&&<}wp^:[2G/", 2026-03-03 00:12:40.423414 | localhost | "username": "9LF91O0RK7JU" 2026-03-03 00:12:40.423455 | localhost | }, 2026-03-03 00:12:40.423487 | localhost | "profile": "rackspace", 2026-03-03 00:12:40.423516 | localhost | "project_name": "1251317", 2026-03-03 00:12:40.423544 | localhost | "region_name": "DFW" 2026-03-03 00:12:40.423573 | localhost | } 2026-03-03 00:12:40.423621 | 2026-03-03 00:12:40.444236 | 2026-03-03 00:12:40.444438 | TASK [Run upload-logs-failover role (S3 then Swift)] 2026-03-03 00:12:40.471356 | localhost | Output suppressed because no_log was given 2026-03-03 00:12:40.495046 | 2026-03-03 00:12:40.495188 | TASK [upload-logs-failover : Initialize control vars] 2026-03-03 00:12:40.524216 | localhost | ok 2026-03-03 00:12:40.528710 | 2026-03-03 00:12:40.528775 | LOOP [upload-logs-failover : Perform log upload] 2026-03-03 00:12:40.564653 | localhost | Output suppressed because no_log was given 2026-03-03 00:12:40.602810 | localhost | included: /var/lib/zuul/builds/60629b25443746debee6765f7b9e70df/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/upload-logs-failover/tasks/upload.yaml 2026-03-03 00:12:40.611726 | 2026-03-03 00:12:40.611825 | LOOP [upload-logs-failover : Unpack vars for swift upload] 2026-03-03 00:12:40.698119 | localhost | Output suppressed because no_log was given 2026-03-03 00:12:40.710799 | 2026-03-03 00:12:40.710985 | TASK [Upload logs to swift] 2026-03-03 00:12:40.737458 | localhost | ok 2026-03-03 00:12:40.785253 | 2026-03-03 00:12:40.785419 | TASK [Set zuul-log-path fact] 2026-03-03 00:12:40.810756 | localhost | skipping: Conditional result was False 2026-03-03 00:12:40.819091 | 2026-03-03 00:12:40.819244 | TASK [upload-logs-swift : Ensure logs are readable before uploading] 2026-03-03 00:12:41.253260 | localhost -> localhost | ok: Runtime: 0:00:00.009189 2026-03-03 00:12:41.259110 | 2026-03-03 00:12:41.259179 | TASK [upload-logs-swift : Upload logs to swift]