2026-02-26 00:31:41.398919 | Job console starting... 2026-02-26 00:31:41.413239 | Updating repositories 2026-02-26 00:31:41.532945 | Preparing job workspace 2026-02-26 00:31:45.323821 | Running Ansible setup... 2026-02-26 00:31:53.760147 | PRE-RUN START: [trusted : github.com/ansible/zuul-config/playbooks/base/pre.yaml@master] 2026-02-26 00:31:54.469086 | 2026-02-26 00:31:54.469225 | PLAY [localhost] 2026-02-26 00:31:54.478095 | 2026-02-26 00:31:54.478192 | TASK [Gathering Facts] 2026-02-26 00:31:55.466638 | localhost | ok 2026-02-26 00:31:55.487485 | 2026-02-26 00:31:55.487704 | TASK [Setup log path fact] 2026-02-26 00:31:55.509371 | localhost | ok 2026-02-26 00:31:55.528636 | 2026-02-26 00:31:55.528824 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-02-26 00:31:55.558837 | localhost | ok 2026-02-26 00:31:55.567549 | 2026-02-26 00:31:55.567654 | TASK [emit-job-header : Print job information] 2026-02-26 00:31:55.596813 | # Job Information 2026-02-26 00:31:55.596976 | Ansible Version: 2.15.12 2026-02-26 00:31:55.597011 | Job: ansible-test-sanity-docker-devel 2026-02-26 00:31:55.597041 | Pipeline: periodic 2026-02-26 00:31:55.597077 | Executor: ze03.softwarefactory-project.io 2026-02-26 00:31:55.597101 | Triggered by: https://github.com/ansible-collections/ansible.network 2026-02-26 00:31:55.597125 | Log URL (when completed): https://ansible.softwarefactory-project.io/logs/dba/ansible/dba71dc67adf4424aba5de86b894870b/ 2026-02-26 00:31:55.597152 | Event ID: 2adb30751d3546bcab5e20cd6f839642 2026-02-26 00:31:55.601978 | 2026-02-26 00:31:55.602055 | LOOP [emit-job-header : Print node information] 2026-02-26 00:31:55.721703 | localhost | ok: 2026-02-26 00:31:55.721923 | localhost | # Node Information 2026-02-26 00:31:55.721953 | localhost | Inventory Hostname: controller 2026-02-26 00:31:55.721973 | localhost | Hostname: np0005630883 2026-02-26 00:31:55.721992 | localhost | Username: zuul 2026-02-26 00:31:55.722015 | localhost | Distro: Fedora 37 2026-02-26 00:31:55.722033 | localhost | Provider: ansible-vexxhost-ams1 2026-02-26 00:31:55.722051 | localhost | Region: ams1 2026-02-26 00:31:55.722067 | localhost | Label: ansible-fedora-37-1vcpu 2026-02-26 00:31:55.722084 | localhost | Product Name: OpenStack Nova 2026-02-26 00:31:55.722124 | localhost | Interface IP: 38.129.16.162 2026-02-26 00:31:55.740631 | 2026-02-26 00:31:55.740806 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2026-02-26 00:31:56.185593 | localhost -> localhost | changed 2026-02-26 00:31:56.194197 | 2026-02-26 00:31:56.194344 | TASK [log-inventory : Copy ansible inventory to logs dir] 2026-02-26 00:31:57.154956 | localhost -> localhost | changed 2026-02-26 00:31:57.178177 | 2026-02-26 00:31:57.178298 | PLAY [all:!appliance*] 2026-02-26 00:31:57.202788 | 2026-02-26 00:31:57.202953 | TASK [include_role : start-zuul-console] 2026-02-26 00:31:57.229118 | controller | ok 2026-02-26 00:31:57.248636 | 2026-02-26 00:31:57.248817 | TASK [start-zuul-console : Start zuul_console daemon.] 2026-02-26 00:31:58.430085 | controller | ok 2026-02-26 00:31:58.448961 | 2026-02-26 00:31:58.449121 | TASK [use-our-mirror : Retrieve the IP address] 2026-02-26 00:32:04.820190 | controller | ok: Status code was 404 and not [200]: HTTP Error 404: Not Found 2026-02-26 00:32:04.828367 | 2026-02-26 00:32:04.828496 | TASK [use-our-mirror : Ensure the registry service is running on the mirror] 2026-02-26 00:32:05.189912 | controller | skipping: Conditional result was False 2026-02-26 00:32:05.199212 | 2026-02-26 00:32:05.199317 | TASK [use-our-mirror : Write the IP in /etc/hosts] 2026-02-26 00:32:05.224438 | controller | skipping: Conditional result was False 2026-02-26 00:32:05.233781 | 2026-02-26 00:32:05.233906 | TASK [use-our-mirror : Create the podman configuration directory] 2026-02-26 00:32:05.260446 | controller | skipping: Conditional result was False 2026-02-26 00:32:05.272661 | 2026-02-26 00:32:05.272895 | TASK [use-our-mirror : Copy the podman configuration] 2026-02-26 00:32:05.300128 | controller | skipping: Conditional result was False 2026-02-26 00:32:05.306819 | 2026-02-26 00:32:05.306902 | TASK [use-our-mirror : Copy the Yum configuration (main)] 2026-02-26 00:32:05.331258 | controller | skipping: Conditional result was False 2026-02-26 00:32:05.338287 | 2026-02-26 00:32:05.338407 | TASK [use-our-mirror : Copy the Yum configuration (update)] 2026-02-26 00:32:05.363582 | controller | skipping: Conditional result was False 2026-02-26 00:32:05.377130 | 2026-02-26 00:32:05.377271 | TASK [Disable Fedora Modular] 2026-02-26 00:32:06.603386 | controller | changed 2026-02-26 00:32:06.622312 | 2026-02-26 00:32:06.622569 | TASK [Enable EPEL] 2026-02-26 00:32:06.661806 | controller | skipping: Conditional result was False 2026-02-26 00:32:06.672316 | 2026-02-26 00:32:06.672457 | TASK [Register the RHEL node] 2026-02-26 00:32:07.061288 | 2026-02-26 00:32:07.061490 | TASK [Show the subscription-manager status] 2026-02-26 00:32:07.441905 | controller | skipping: Conditional result was False 2026-02-26 00:32:07.450170 | 2026-02-26 00:32:07.450314 | TASK [Enable EPEL on RHEL] 2026-02-26 00:32:07.830201 | controller | skipping: Conditional result was False 2026-02-26 00:32:07.837179 | 2026-02-26 00:32:07.837249 | TASK [Install git and tox] 2026-02-26 00:34:35.349115 | controller | changed 2026-02-26 00:34:35.360128 | 2026-02-26 00:34:35.360276 | TASK [include_role : prepare-workspace] 2026-02-26 00:34:35.398490 | controller | ok 2026-02-26 00:34:35.437102 | 2026-02-26 00:34:35.437244 | TASK [prepare-workspace : Start zuul_console daemon.] 2026-02-26 00:34:36.279142 | controller | ok 2026-02-26 00:34:36.288336 | 2026-02-26 00:34:36.288449 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2026-02-26 00:34:52.381709 | controller | Output suppressed because no_log was given 2026-02-26 00:34:52.410575 | 2026-02-26 00:34:52.410769 | TASK [include_role : prepare-workspace-openshift] 2026-02-26 00:34:52.438348 | controller | skipping: Conditional result was False 2026-02-26 00:34:52.472586 | 2026-02-26 00:34:52.472697 | PLAY [all:!appliance] 2026-02-26 00:34:52.498876 | 2026-02-26 00:34:52.499013 | TASK [Run add-build-sshkey role (RSA)] 2026-02-26 00:34:52.532830 | controller | ok 2026-02-26 00:34:52.548303 | 2026-02-26 00:34:52.548399 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-02-26 00:34:52.799531 | controller -> localhost | ok 2026-02-26 00:34:52.807063 | 2026-02-26 00:34:52.807176 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-02-26 00:34:52.830670 | controller | ok 2026-02-26 00:34:52.853386 | controller | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-02-26 00:34:52.860544 | 2026-02-26 00:34:52.860645 | TASK [add-build-sshkey : Create Temp SSH key] 2026-02-26 00:34:53.379484 | controller -> localhost | Generating public/private rsa key pair. 2026-02-26 00:34:53.379743 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/dba71dc67adf4424aba5de86b894870b_id_rsa. 2026-02-26 00:34:53.379799 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/dba71dc67adf4424aba5de86b894870b_id_rsa.pub. 2026-02-26 00:34:53.379832 | controller -> localhost | The key fingerprint is: 2026-02-26 00:34:53.379879 | controller -> localhost | SHA256:dVPwAo7DChXiTx0JLGE59UV8fR4yfCJoUZZC0p3q6o8 zuul-build-sshkey 2026-02-26 00:34:53.379910 | controller -> localhost | The key's randomart image is: 2026-02-26 00:34:53.379939 | controller -> localhost | +---[RSA 2048]----+ 2026-02-26 00:34:53.379963 | controller -> localhost | | +==++*Oo=o. | 2026-02-26 00:34:53.379982 | controller -> localhost | | o+o.+oXo*.B.o.| 2026-02-26 00:34:53.380001 | controller -> localhost | | oo. B =.= *o.| 2026-02-26 00:34:53.380019 | controller -> localhost | | + . + . o .| 2026-02-26 00:34:53.380036 | controller -> localhost | | o S | 2026-02-26 00:34:53.380063 | controller -> localhost | | . | 2026-02-26 00:34:53.380086 | controller -> localhost | | . | 2026-02-26 00:34:53.380105 | controller -> localhost | | .. | 2026-02-26 00:34:53.380124 | controller -> localhost | | .E.. | 2026-02-26 00:34:53.380144 | controller -> localhost | +----[SHA256]-----+ 2026-02-26 00:34:53.380187 | controller -> localhost | ok: Runtime: 0:00:00.080138 2026-02-26 00:34:53.388246 | 2026-02-26 00:34:53.388372 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-02-26 00:34:53.421059 | controller | ok 2026-02-26 00:34:53.432585 | controller | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-02-26 00:34:53.445128 | 2026-02-26 00:34:53.445279 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-02-26 00:34:53.461640 | controller | skipping: Conditional result was False 2026-02-26 00:34:53.470572 | 2026-02-26 00:34:53.470943 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-02-26 00:34:54.677384 | controller | changed 2026-02-26 00:34:54.684402 | 2026-02-26 00:34:54.684482 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-02-26 00:34:55.383578 | controller | ok 2026-02-26 00:34:55.390702 | 2026-02-26 00:34:55.390824 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-02-26 00:34:58.611676 | controller | changed 2026-02-26 00:34:58.628040 | 2026-02-26 00:34:58.628223 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-02-26 00:35:01.858374 | controller | changed 2026-02-26 00:35:01.864489 | 2026-02-26 00:35:01.864559 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-02-26 00:35:01.889622 | controller | skipping: Conditional result was False 2026-02-26 00:35:01.896257 | 2026-02-26 00:35:01.896329 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-02-26 00:35:02.348106 | controller -> localhost | changed 2026-02-26 00:35:02.360467 | 2026-02-26 00:35:02.360565 | TASK [add-build-sshkey : Add back temp key] 2026-02-26 00:35:02.700452 | controller -> localhost | Identity added: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/dba71dc67adf4424aba5de86b894870b_id_rsa (zuul-build-sshkey) 2026-02-26 00:35:02.700800 | controller -> localhost | ok: Runtime: 0:00:00.011247 2026-02-26 00:35:02.709670 | 2026-02-26 00:35:02.709888 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-02-26 00:35:03.727642 | controller | ok 2026-02-26 00:35:03.736262 | 2026-02-26 00:35:03.736392 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-02-26 00:35:03.774717 | controller | skipping: Conditional result was False 2026-02-26 00:35:03.799800 | 2026-02-26 00:35:03.799984 | TASK [Run add-build-sshkey role (ECDSA)] 2026-02-26 00:35:03.835260 | controller | ok 2026-02-26 00:35:03.857949 | 2026-02-26 00:35:03.858120 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-02-26 00:35:04.140868 | controller -> localhost | ok 2026-02-26 00:35:04.160225 | 2026-02-26 00:35:04.160460 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-02-26 00:35:04.245515 | controller | ok 2026-02-26 00:35:04.257128 | controller | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-02-26 00:35:04.264439 | 2026-02-26 00:35:04.264538 | TASK [add-build-sshkey : Create Temp SSH key] 2026-02-26 00:35:04.576567 | controller -> localhost | Generating public/private ecdsa key pair. 2026-02-26 00:35:04.576814 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/dba71dc67adf4424aba5de86b894870b_id_ecdsa. 2026-02-26 00:35:04.576844 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/dba71dc67adf4424aba5de86b894870b_id_ecdsa.pub. 2026-02-26 00:35:04.576876 | controller -> localhost | The key fingerprint is: 2026-02-26 00:35:04.576898 | controller -> localhost | SHA256:X4FnBPFtps1UrfN0WLf+MRbMAlgkIZp5UhguljI37tI zuul-build-sshkey 2026-02-26 00:35:04.576920 | controller -> localhost | The key's randomart image is: 2026-02-26 00:35:04.576938 | controller -> localhost | +---[ECDSA 521]---+ 2026-02-26 00:35:04.576955 | controller -> localhost | | .oo oB=. o| 2026-02-26 00:35:04.576972 | controller -> localhost | | o.= ...= . .+| 2026-02-26 00:35:04.576990 | controller -> localhost | | o * * . . * B+o| 2026-02-26 00:35:04.577007 | controller -> localhost | | * o o o X+=o| 2026-02-26 00:35:04.577024 | controller -> localhost | | . S o =+o| 2026-02-26 00:35:04.577040 | controller -> localhost | | o . . =.| 2026-02-26 00:35:04.577057 | controller -> localhost | | . E . . +| 2026-02-26 00:35:04.577073 | controller -> localhost | | . .| 2026-02-26 00:35:04.577090 | controller -> localhost | | | 2026-02-26 00:35:04.577106 | controller -> localhost | +----[SHA256]-----+ 2026-02-26 00:35:04.577159 | controller -> localhost | ok: Runtime: 0:00:00.008857 2026-02-26 00:35:04.585062 | 2026-02-26 00:35:04.585141 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-02-26 00:35:04.618567 | controller | ok 2026-02-26 00:35:04.629998 | controller | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-02-26 00:35:04.639594 | 2026-02-26 00:35:04.639692 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-02-26 00:35:04.666156 | controller | skipping: Conditional result was False 2026-02-26 00:35:04.674500 | 2026-02-26 00:35:04.674711 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-02-26 00:35:05.749113 | controller | changed 2026-02-26 00:35:05.762103 | 2026-02-26 00:35:05.762292 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-02-26 00:35:06.629401 | controller | ok 2026-02-26 00:35:06.641581 | 2026-02-26 00:35:06.641778 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-02-26 00:35:10.066658 | controller | changed 2026-02-26 00:35:10.077356 | 2026-02-26 00:35:10.077509 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-02-26 00:35:13.217328 | controller | changed 2026-02-26 00:35:13.224235 | 2026-02-26 00:35:13.224349 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-02-26 00:35:13.249948 | controller | skipping: Conditional result was False 2026-02-26 00:35:13.258805 | 2026-02-26 00:35:13.258970 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-02-26 00:35:13.532846 | controller -> localhost | changed 2026-02-26 00:35:13.546270 | 2026-02-26 00:35:13.546460 | TASK [add-build-sshkey : Add back temp key] 2026-02-26 00:35:13.849201 | controller -> localhost | Identity added: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/dba71dc67adf4424aba5de86b894870b_id_ecdsa (zuul-build-sshkey) 2026-02-26 00:35:13.849452 | controller -> localhost | ok: Runtime: 0:00:00.007845 2026-02-26 00:35:13.856952 | 2026-02-26 00:35:13.857042 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-02-26 00:35:14.637119 | controller | ok 2026-02-26 00:35:14.643583 | 2026-02-26 00:35:14.643687 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-02-26 00:35:14.668941 | controller | skipping: Conditional result was False 2026-02-26 00:35:14.683875 | 2026-02-26 00:35:14.684025 | TASK [include_role : remove-zuul-sshkey] 2026-02-26 00:35:14.698711 | controller | skipping: Conditional result was False 2026-02-26 00:35:14.706894 | 2026-02-26 00:35:14.707019 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2026-02-26 00:35:15.456635 | controller | ok: "logs" 2026-02-26 00:35:15.457305 | controller | ok: All items complete 2026-02-26 00:35:15.457371 | 2026-02-26 00:35:16.167271 | controller | ok: "artifacts" 2026-02-26 00:35:16.865834 | controller | ok: "docs" 2026-02-26 00:35:16.884861 | 2026-02-26 00:35:16.885027 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2026-02-26 00:35:17.623581 | controller | changed: "logs" 2026-02-26 00:35:18.292317 | controller | changed: "artifacts" 2026-02-26 00:35:18.940513 | controller | changed: "docs" 2026-02-26 00:35:18.984971 | 2026-02-26 00:35:18.985113 | PLAY RECAP 2026-02-26 00:35:18.985184 | controller | ok: 30 changed: 16 unreachable: 0 failed: 0 skipped: 18 rescued: 0 ignored: 0 2026-02-26 00:35:18.985224 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-02-26 00:35:18.985251 | 2026-02-26 00:35:19.207702 | PRE-RUN END RESULT_NORMAL: [trusted : github.com/ansible/zuul-config/playbooks/base/pre.yaml@master] 2026-02-26 00:35:19.209125 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-02-26 00:35:19.880636 | 2026-02-26 00:35:19.880812 | PLAY [all] 2026-02-26 00:35:19.905800 | 2026-02-26 00:35:19.905965 | TASK [Install binary dependencies] 2026-02-26 00:35:19.960017 | controller | ok 2026-02-26 00:35:19.989261 | 2026-02-26 00:35:19.989659 | TASK [bindep : Include find tasks] 2026-02-26 00:35:20.034183 | controller | ok 2026-02-26 00:35:20.045639 | controller | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep/tasks/find.yaml 2026-02-26 00:35:20.055260 | 2026-02-26 00:35:20.055401 | TASK [bindep : Look for bindep.txt] 2026-02-26 00:35:21.094154 | controller | ok 2026-02-26 00:35:21.103920 | 2026-02-26 00:35:21.104040 | TASK [bindep : Define bindep_file fact] 2026-02-26 00:35:21.131109 | controller | skipping: Conditional result was False 2026-02-26 00:35:21.141873 | 2026-02-26 00:35:21.142011 | TASK [bindep : Look for other-requirements.txt] 2026-02-26 00:35:21.830877 | controller | ok 2026-02-26 00:35:21.842828 | 2026-02-26 00:35:21.843043 | TASK [bindep : Define bindep_file fact] 2026-02-26 00:35:21.890390 | controller | skipping: Conditional result was False 2026-02-26 00:35:21.898668 | 2026-02-26 00:35:21.899210 | TASK [bindep : Look for bindep fallback file] 2026-02-26 00:35:21.937983 | controller | skipping: Conditional result was False 2026-02-26 00:35:21.948814 | 2026-02-26 00:35:21.949022 | TASK [bindep : Define bindep_file fact] 2026-02-26 00:35:21.975987 | controller | skipping: Conditional result was False 2026-02-26 00:35:21.986786 | 2026-02-26 00:35:21.986968 | TASK [bindep : Include bindep tasks] 2026-02-26 00:35:22.013489 | controller | skipping: Conditional result was False 2026-02-26 00:35:22.024285 | 2026-02-26 00:35:22.024437 | TASK [bindep : Include install tasks] 2026-02-26 00:35:22.051472 | controller | skipping: Conditional result was False 2026-02-26 00:35:22.058699 | 2026-02-26 00:35:22.058867 | LOOP [bindep : Include package tasks] 2026-02-26 00:35:22.148306 | 2026-02-26 00:35:22.148503 | TASK [Run test-setup role] 2026-02-26 00:35:22.170268 | controller | ok 2026-02-26 00:35:22.189855 | 2026-02-26 00:35:22.190013 | TASK [test-setup : Check if project's tools/test-setup.sh exists] 2026-02-26 00:35:22.928377 | controller | ok 2026-02-26 00:35:22.936151 | 2026-02-26 00:35:22.936257 | TASK [test-setup : Run tools/test-setup.sh] 2026-02-26 00:35:23.300298 | controller | skipping: Conditional result was False 2026-02-26 00:35:23.341566 | 2026-02-26 00:35:23.341742 | PLAY RECAP 2026-02-26 00:35:23.341817 | controller | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-02-26 00:35:23.341856 | 2026-02-26 00:35:23.574644 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-02-26 00:35:23.575613 | PRE-RUN START: [untrusted : github.com/ansible/ansible-zuul-jobs/playbooks/ansible-test-base/pre.yaml@master] 2026-02-26 00:35:24.259319 | 2026-02-26 00:35:24.259501 | PLAY [controller] 2026-02-26 00:35:24.282477 | 2026-02-26 00:35:24.282636 | TASK [Create the /root directory] 2026-02-26 00:35:25.374581 | controller | ok 2026-02-26 00:35:25.381819 | 2026-02-26 00:35:25.382014 | TASK [Install glibc-langpack-en] 2026-02-26 00:35:34.355834 | controller | ok: Nothing to do 2026-02-26 00:35:34.369938 | 2026-02-26 00:35:34.370124 | TASK [Ensure controller directory exists] 2026-02-26 00:35:35.275754 | controller | changed 2026-02-26 00:35:35.285229 | 2026-02-26 00:35:35.285383 | TASK [Install container runtime] 2026-02-26 00:35:35.338699 | controller | ok 2026-02-26 00:35:35.378923 | 2026-02-26 00:35:35.379077 | LOOP [ensure-podman : Find distribution installation] 2026-02-26 00:35:35.403413 | controller | ok: "/var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-podman/tasks/RedHat.yaml" 2026-02-26 00:35:35.412640 | controller | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-podman/tasks/RedHat.yaml 2026-02-26 00:35:35.420409 | 2026-02-26 00:35:35.420524 | TASK [ensure-podman : Install podman (RedHat)] 2026-02-26 00:37:56.779760 | controller | changed 2026-02-26 00:37:56.797864 | 2026-02-26 00:37:56.798075 | TASK [ensure-podman : Fetch podman version] 2026-02-26 00:37:58.226390 | controller | Client: Podman Engine 2026-02-26 00:37:58.272995 | controller | Version: 4.6.2 2026-02-26 00:37:58.273128 | controller | API Version: 4.6.2 2026-02-26 00:37:58.273142 | controller | Go Version: go1.19.12 2026-02-26 00:37:58.273167 | controller | Built: Mon Aug 28 19:38:31 2023 2026-02-26 00:37:58.273175 | controller | OS/Arch: linux/amd64 2026-02-26 00:37:58.678058 | controller | ok: Runtime: 0:00:00.454175 2026-02-26 00:37:58.695515 | 2026-02-26 00:37:58.695759 | TASK [ensure-podman : Print podman version installed] 2026-02-26 00:37:58.732951 | Podman version: Client: Podman Engine 2026-02-26 00:37:58.733215 | Version: 4.6.2 2026-02-26 00:37:58.733264 | API Version: 4.6.2 2026-02-26 00:37:58.733297 | Go Version: go1.19.12 2026-02-26 00:37:58.733324 | Built: Mon Aug 28 19:38:31 2023 2026-02-26 00:37:58.733353 | OS/Arch: linux/amd64 2026-02-26 00:37:58.742104 | 2026-02-26 00:37:58.742250 | TASK [ensure-podman : Validate podman engine] 2026-02-26 00:37:59.108161 | controller | skipping: Conditional result was False 2026-02-26 00:37:59.119107 | 2026-02-26 00:37:59.119260 | TASK [ensure-podman : Set up docker compatability socket] 2026-02-26 00:37:59.145903 | controller | skipping: Conditional result was False 2026-02-26 00:37:59.160106 | 2026-02-26 00:37:59.160242 | TASK [Ensure python3.8 is present] 2026-02-26 00:37:59.176513 | controller | skipping: Conditional result was False 2026-02-26 00:37:59.185261 | 2026-02-26 00:37:59.185374 | TASK [Run our-ensure-python role (Fedora only for now)] 2026-02-26 00:37:59.208207 | controller | ok 2026-02-26 00:37:59.236446 | 2026-02-26 00:37:59.236644 | TASK [our-ensure-python : Install the right Python version (rpm)] 2026-02-26 00:38:03.812112 | controller | ok: Nothing to do 2026-02-26 00:38:03.820175 | 2026-02-26 00:38:03.820340 | TASK [our-ensure-python : Also install python3-devel] 2026-02-26 00:38:22.572347 | controller | changed 2026-02-26 00:38:22.590300 | 2026-02-26 00:38:22.590470 | TASK [Run ensure-virtualenv role] 2026-02-26 00:38:22.615146 | controller | ok 2026-02-26 00:38:22.648430 | 2026-02-26 00:38:22.648640 | TASK [ensure-virtualenv : Check if virtualenv is installed] 2026-02-26 00:38:23.510918 | controller | /usr/bin/virtualenv 2026-02-26 00:38:24.082414 | controller | ok: Runtime: 0:00:00.011746 2026-02-26 00:38:24.089543 | 2026-02-26 00:38:24.089618 | LOOP [ensure-virtualenv : Install virtualenv package] 2026-02-26 00:38:24.129177 | controller | skipping: Conditional result was False 2026-02-26 00:38:24.129794 | controller | ok: All items complete 2026-02-26 00:38:24.129869 | 2026-02-26 00:38:24.148707 | 2026-02-26 00:38:24.148916 | TASK [Find the full path of the Python interpreter] 2026-02-26 00:38:25.002111 | controller | /usr/bin/python3 2026-02-26 00:38:25.508154 | controller | ok 2026-02-26 00:38:25.517470 | 2026-02-26 00:38:25.517587 | TASK [Create virtualenv for ansible-test with a specific interpreter] 2026-02-26 00:38:27.596808 | controller | created virtual environment CPython3.11.0.final.0-64 in 1022ms 2026-02-26 00:38:27.684601 | controller | creator CPython3Posix(dest=/home/zuul/venv, clear=False, no_vcs_ignore=False, global=False) 2026-02-26 00:38:27.684676 | 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-02-26 00:38:27.684692 | controller | added seed packages: pip==22.2.2, setuptools==62.6.0, wheel==0.37.1 2026-02-26 00:38:27.684718 | controller | activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator 2026-02-26 00:38:27.890170 | controller | changed 2026-02-26 00:38:27.898140 | 2026-02-26 00:38:27.898291 | TASK [Set selinux package] 2026-02-26 00:38:27.931711 | controller | ok 2026-02-26 00:38:27.939038 | 2026-02-26 00:38:27.939166 | TASK [Set selinux package (Fedora)] 2026-02-26 00:38:27.985022 | controller | ok 2026-02-26 00:38:27.993897 | 2026-02-26 00:38:27.993978 | TASK [Install selinux into virtualenv] 2026-02-26 00:38:31.800857 | controller | Collecting selinux-please-lie-to-me 2026-02-26 00:38:31.883547 | controller | Downloading selinux_please_lie_to_me-1.0.1-py2.py3-none-any.whl (3.8 kB) 2026-02-26 00:38:32.533858 | controller | Collecting setuptools<50.0.0 2026-02-26 00:38:32.542948 | controller | Downloading setuptools-49.6.0-py3-none-any.whl (803 kB) 2026-02-26 00:38:32.622538 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 803.3/803.3 kB 11.4 MB/s eta 0:00:00 2026-02-26 00:38:32.801988 | controller | Installing collected packages: setuptools, selinux-please-lie-to-me 2026-02-26 00:38:32.805183 | controller | Attempting uninstall: setuptools 2026-02-26 00:38:32.809162 | controller | Found existing installation: setuptools 62.6.0 2026-02-26 00:38:32.943314 | controller | Uninstalling setuptools-62.6.0: 2026-02-26 00:38:32.961935 | controller | Successfully uninstalled setuptools-62.6.0 2026-02-26 00:38:34.059636 | controller | Successfully installed selinux-please-lie-to-me-1.0.1 setuptools-49.6.0 2026-02-26 00:38:34.341802 | controller | 2026-02-26 00:38:34.915213 | controller | [notice] A new release of pip available: 22.2.2 -> 26.0.1 2026-02-26 00:38:34.915268 | controller | [notice] To update, run: python -m pip install --upgrade pip 2026-02-26 00:38:35.403527 | controller | ok: Runtime: 0:00:06.066816 2026-02-26 00:38:35.419300 | 2026-02-26 00:38:35.419549 | TASK [Install pytest-forked into virtualenv] 2026-02-26 00:38:37.208562 | controller | Collecting pytest-forked 2026-02-26 00:38:37.293453 | controller | Downloading pytest_forked-1.6.0-py3-none-any.whl (4.9 kB) 2026-02-26 00:38:37.362813 | controller | Collecting py 2026-02-26 00:38:37.371293 | controller | Downloading py-1.11.0-py2.py3-none-any.whl (98 kB) 2026-02-26 00:38:37.418943 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.7/98.7 kB 2.5 MB/s eta 0:00:00 2026-02-26 00:38:37.661644 | controller | Collecting pytest>=3.10 2026-02-26 00:38:37.672324 | controller | Downloading pytest-9.0.2-py3-none-any.whl (374 kB) 2026-02-26 00:38:37.708868 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 374.8/374.8 kB 13.3 MB/s eta 0:00:00 2026-02-26 00:38:37.766071 | controller | Collecting iniconfig>=1.0.1 2026-02-26 00:38:37.772445 | controller | Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) 2026-02-26 00:38:37.871491 | controller | Collecting packaging>=22 2026-02-26 00:38:37.876490 | controller | Downloading packaging-26.0-py3-none-any.whl (74 kB) 2026-02-26 00:38:37.899214 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.4/74.4 kB 3.4 MB/s eta 0:00:00 2026-02-26 00:38:37.960359 | controller | Collecting pluggy<2,>=1.5 2026-02-26 00:38:37.965240 | controller | Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-02-26 00:38:38.045289 | controller | Collecting pygments>=2.7.2 2026-02-26 00:38:38.051495 | controller | Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB) 2026-02-26 00:38:38.088426 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 37.3 MB/s eta 0:00:00 2026-02-26 00:38:38.214371 | controller | Installing collected packages: pygments, py, pluggy, packaging, iniconfig, pytest, pytest-forked 2026-02-26 00:38:41.183405 | 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-02-26 00:38:41.203787 | controller | 2026-02-26 00:38:41.516464 | controller | [notice] A new release of pip available: 22.2.2 -> 26.0.1 2026-02-26 00:38:41.516528 | controller | [notice] To update, run: python -m pip install --upgrade pip 2026-02-26 00:38:41.810984 | controller | ok: Runtime: 0:00:05.214346 2026-02-26 00:38:41.819316 | 2026-02-26 00:38:41.819425 | TASK [Update pip] 2026-02-26 00:38:43.364983 | controller | Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (22.2.2) 2026-02-26 00:38:43.664055 | controller | Collecting pip 2026-02-26 00:38:43.754778 | controller | Downloading pip-26.0.1-py3-none-any.whl (1.8 MB) 2026-02-26 00:38:43.853707 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 19.8 MB/s eta 0:00:00 2026-02-26 00:38:44.000707 | controller | Installing collected packages: pip 2026-02-26 00:38:44.000899 | controller | Attempting uninstall: pip 2026-02-26 00:38:44.005740 | controller | Found existing installation: pip 22.2.2 2026-02-26 00:38:44.299611 | controller | Uninstalling pip-22.2.2: 2026-02-26 00:38:44.332662 | controller | Successfully uninstalled pip-22.2.2 2026-02-26 00:38:46.578300 | controller | Successfully installed pip-26.0.1 2026-02-26 00:38:47.191610 | controller | ok: Runtime: 0:00:04.348528 2026-02-26 00:38:47.207460 | 2026-02-26 00:38:47.207683 | TASK [Ensure pip temp directory exists in /var/tmp] 2026-02-26 00:38:48.238701 | controller | changed 2026-02-26 00:38:48.248291 | 2026-02-26 00:38:48.248449 | TASK [Install ansible into virtualenv] 2026-02-26 00:38:49.784707 | controller | Processing ./src/github.com/ansible/ansible 2026-02-26 00:38:49.791271 | controller | Installing build dependencies: started 2026-02-26 00:38:52.068874 | controller | Installing build dependencies: finished with status 'done' 2026-02-26 00:38:53.978810 | controller | Getting requirements to build wheel: started 2026-02-26 00:38:53.978890 | controller | Getting requirements to build wheel: finished with status 'done' 2026-02-26 00:38:53.980556 | controller | Preparing metadata (pyproject.toml): started 2026-02-26 00:38:55.153705 | controller | Preparing metadata (pyproject.toml): finished with status 'done' 2026-02-26 00:38:55.157802 | 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-02-26 00:38:55.165156 | controller | ERROR: Package 'ansible-core' requires a different Python: 3.11.0 not in '>=3.12' 2026-02-26 00:38:55.639092 | controller | ERROR 2026-02-26 00:38:55.639478 | controller | { 2026-02-26 00:38:55.639546 | controller | "delta": "0:00:06.385264", 2026-02-26 00:38:55.639590 | controller | "end": "2026-02-26 00:38:55.452627", 2026-02-26 00:38:55.639629 | controller | "msg": "non-zero return code", 2026-02-26 00:38:55.639684 | controller | "rc": 1, 2026-02-26 00:38:55.639722 | controller | "start": "2026-02-26 00:38:49.067363" 2026-02-26 00:38:55.639806 | controller | } failure 2026-02-26 00:38:55.643060 | 2026-02-26 00:38:55.643190 | PLAY RECAP 2026-02-26 00:38:55.643305 | controller | ok: 18 changed: 10 unreachable: 0 failed: 1 skipped: 4 rescued: 0 ignored: 0 2026-02-26 00:38:55.643366 | 2026-02-26 00:38:55.888913 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/ansible/ansible-zuul-jobs/playbooks/ansible-test-base/pre.yaml@master] 2026-02-26 00:38:55.890512 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-02-26 00:38:56.563010 | 2026-02-26 00:38:56.563389 | PLAY [all] 2026-02-26 00:38:56.589444 | 2026-02-26 00:38:56.589655 | TASK [fetch-subunit-output : Find stestr or testr executable] 2026-02-26 00:38:58.460869 | controller | changed: non-zero return code 2026-02-26 00:38:58.476700 | 2026-02-26 00:38:58.476985 | TASK [fetch-subunit-output : Get the list of directories with subunit files] 2026-02-26 00:38:58.508099 | controller | skipping: Conditional result was False 2026-02-26 00:38:58.527197 | 2026-02-26 00:38:58.527505 | LOOP [fetch-subunit-output : Find any inflight partial subunit files] 2026-02-26 00:38:58.581381 | 2026-02-26 00:38:58.581701 | LOOP [fetch-subunit-output : Copy any inflight subunit files] 2026-02-26 00:38:58.617236 | 2026-02-26 00:38:58.617474 | TASK [fetch-subunit-output : Create a temporary file to store the subunit stream] 2026-02-26 00:38:58.644101 | controller | skipping: Conditional result was False 2026-02-26 00:38:58.654898 | 2026-02-26 00:38:58.655078 | LOOP [fetch-subunit-output : Generate subunit file] 2026-02-26 00:38:58.691215 | 2026-02-26 00:38:58.691474 | TASK [fetch-subunit-output : Copy the combined subunit file to the zuul work directory] 2026-02-26 00:38:58.719244 | controller | skipping: Conditional result was False 2026-02-26 00:38:58.729467 | 2026-02-26 00:38:58.729667 | TASK [fetch-subunit-output : Remove the temporary file] 2026-02-26 00:38:58.746436 | controller | skipping: Conditional result was False 2026-02-26 00:38:58.758250 | 2026-02-26 00:38:58.758442 | TASK [fetch-subunit-output : Process and fetch subunit results] 2026-02-26 00:38:58.776396 | controller | skipping: Conditional result was False 2026-02-26 00:38:58.821137 | 2026-02-26 00:38:58.821319 | PLAY RECAP 2026-02-26 00:38:58.821403 | controller | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-02-26 00:38:58.821428 | 2026-02-26 00:38:59.022161 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-02-26 00:38:59.023248 | POST-RUN START: [trusted : github.com/ansible/zuul-config/playbooks/base/post.yaml@master] 2026-02-26 00:38:59.841154 | 2026-02-26 00:38:59.841548 | PLAY [all:!appliance*] 2026-02-26 00:38:59.867694 | 2026-02-26 00:38:59.867938 | TASK [unregister the node] 2026-02-26 00:39:00.225825 | controller | skipping: Conditional result was False 2026-02-26 00:39:00.233604 | 2026-02-26 00:39:00.233832 | TASK [include_role : fetch-output] 2026-02-26 00:39:00.267806 | controller | ok 2026-02-26 00:39:00.292323 | 2026-02-26 00:39:00.292651 | TASK [fetch-output : Set log path for multiple nodes] 2026-02-26 00:39:00.351377 | controller | skipping: Conditional result was False 2026-02-26 00:39:00.359980 | 2026-02-26 00:39:00.360321 | TASK [fetch-output : Set log path for single node] 2026-02-26 00:39:00.404509 | controller | ok 2026-02-26 00:39:00.411033 | 2026-02-26 00:39:00.411189 | LOOP [fetch-output : Ensure local output dirs] 2026-02-26 00:39:00.903145 | controller -> localhost | ok: "/var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/logs" 2026-02-26 00:39:01.215184 | controller -> localhost | changed: "/var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/artifacts" 2026-02-26 00:39:01.481694 | controller -> localhost | changed: "/var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/work/docs" 2026-02-26 00:39:01.491002 | 2026-02-26 00:39:01.491080 | LOOP [fetch-output : Collect logs, artifacts and docs] 2026-02-26 00:39:03.821336 | controller | changed: 2026-02-26 00:39:03.821755 | controller | .d..t...... ./ 2026-02-26 00:39:03.821828 | controller | cd+++++++++ controller/ 2026-02-26 00:39:03.821900 | controller | changed: All items complete 2026-02-26 00:39:03.821947 | 2026-02-26 00:39:05.935121 | controller | changed: .d..t...... ./ 2026-02-26 00:39:08.096071 | controller | changed: .d..t...... ./ 2026-02-26 00:39:08.124982 | 2026-02-26 00:39:08.125159 | TASK [include_role : fetch-output-openshift] 2026-02-26 00:39:08.151478 | controller | skipping: Conditional result was False 2026-02-26 00:39:08.162957 | 2026-02-26 00:39:08.163281 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2026-02-26 00:39:08.229300 | controller | skipping: Conditional result was False 2026-02-26 00:39:08.243557 | controller | skipping: Conditional result was False 2026-02-26 00:39:08.293935 | 2026-02-26 00:39:08.294096 | PLAY [localhost] 2026-02-26 00:39:08.313581 | 2026-02-26 00:39:08.313825 | TASK [Run Zuul manifest role] 2026-02-26 00:39:08.335558 | localhost | ok 2026-02-26 00:39:08.349307 | 2026-02-26 00:39:08.349397 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2026-02-26 00:39:08.799924 | localhost | changed 2026-02-26 00:39:08.805225 | 2026-02-26 00:39:08.805317 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2026-02-26 00:39:08.847116 | localhost | ok 2026-02-26 00:39:08.856933 | 2026-02-26 00:39:08.857082 | TASK [Set zuul-log-path fact] 2026-02-26 00:39:08.915747 | localhost | ok 2026-02-26 00:39:08.930349 | 2026-02-26 00:39:08.930499 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-02-26 00:39:08.976890 | localhost | ok 2026-02-26 00:39:08.992643 | 2026-02-26 00:39:08.992870 | LOOP [Set zuul_log_targets (Swift with random Rackspace region)] 2026-02-26 00:39:09.042949 | localhost | ok: 2026-02-26 00:39:09.043306 | localhost | { 2026-02-26 00:39:09.043347 | localhost | "auth": { 2026-02-26 00:39:09.043382 | localhost | "password": "IonWCwcuOFib&&<}wp^:[2G/", 2026-02-26 00:39:09.043411 | localhost | "username": "9LF91O0RK7JU" 2026-02-26 00:39:09.043436 | localhost | }, 2026-02-26 00:39:09.043461 | localhost | "profile": "rackspace", 2026-02-26 00:39:09.043484 | localhost | "region_name": "IAD" 2026-02-26 00:39:09.043507 | localhost | } 2026-02-26 00:39:09.043548 | 2026-02-26 00:39:09.058802 | 2026-02-26 00:39:09.058971 | TASK [Run upload-logs-failover role (S3 then Swift)] 2026-02-26 00:39:09.083253 | localhost | Output suppressed because no_log was given 2026-02-26 00:39:09.102258 | 2026-02-26 00:39:09.102424 | TASK [upload-logs-failover : Initialize control vars] 2026-02-26 00:39:09.132876 | localhost | ok 2026-02-26 00:39:09.137530 | 2026-02-26 00:39:09.137595 | LOOP [upload-logs-failover : Perform log upload] 2026-02-26 00:39:09.175825 | localhost | Output suppressed because no_log was given 2026-02-26 00:39:09.184036 | localhost | included: /var/lib/zuul/builds/dba71dc67adf4424aba5de86b894870b/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/upload-logs-failover/tasks/upload.yaml 2026-02-26 00:39:09.191444 | 2026-02-26 00:39:09.191516 | LOOP [upload-logs-failover : Unpack vars for swift upload] 2026-02-26 00:39:09.290685 | localhost | Output suppressed because no_log was given 2026-02-26 00:39:09.298023 | 2026-02-26 00:39:09.298131 | TASK [Upload logs to swift] 2026-02-26 00:39:09.330821 | localhost | ok 2026-02-26 00:39:09.357674 | 2026-02-26 00:39:09.357799 | TASK [Set zuul-log-path fact] 2026-02-26 00:39:09.384151 | localhost | skipping: Conditional result was False 2026-02-26 00:39:09.390827 | 2026-02-26 00:39:09.390958 | TASK [upload-logs-swift : Ensure logs are readable before uploading] 2026-02-26 00:39:09.849993 | localhost -> localhost | ok: Runtime: 0:00:00.006858 2026-02-26 00:39:09.856477 | 2026-02-26 00:39:09.856635 | TASK [upload-logs-swift : Upload logs to swift]