2026-03-10 00:06:38.488569 | Job console starting... 2026-03-10 00:06:38.498665 | Updating repositories 2026-03-10 00:06:41.344232 | Preparing job workspace 2026-03-10 00:06:45.462192 | Running Ansible setup... 2026-03-10 00:06:51.931399 | PRE-RUN START: [trusted : github.com/ansible/zuul-config/playbooks/base/pre.yaml@master] 2026-03-10 00:06:52.513226 | 2026-03-10 00:06:52.513361 | PLAY [localhost] 2026-03-10 00:06:52.522215 | 2026-03-10 00:06:52.522313 | TASK [Gathering Facts] 2026-03-10 00:06:53.516456 | localhost | ok 2026-03-10 00:06:53.538670 | 2026-03-10 00:06:53.538903 | TASK [Setup log path fact] 2026-03-10 00:06:53.561349 | localhost | ok 2026-03-10 00:06:53.580115 | 2026-03-10 00:06:53.580239 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-03-10 00:06:53.610880 | localhost | ok 2026-03-10 00:06:53.619789 | 2026-03-10 00:06:53.619874 | TASK [emit-job-header : Print job information] 2026-03-10 00:06:53.683708 | # Job Information 2026-03-10 00:06:53.684056 | Ansible Version: 2.15.12 2026-03-10 00:06:53.684105 | Job: ansible-test-sanity-docker-milestone 2026-03-10 00:06:53.684139 | Pipeline: periodic 2026-03-10 00:06:53.684168 | Executor: ze03.softwarefactory-project.io 2026-03-10 00:06:53.684196 | Triggered by: https://github.com/ansible-collections/ansible.network 2026-03-10 00:06:53.684230 | Log URL (when completed): https://ansible.softwarefactory-project.io/logs/95e/ansible/95e3d00c89be446592422ba311bd8b49/ 2026-03-10 00:06:53.684260 | Event ID: e6ee9e03205a430c87790b3a203d0d50 2026-03-10 00:06:53.690794 | 2026-03-10 00:06:53.690899 | LOOP [emit-job-header : Print node information] 2026-03-10 00:06:53.816080 | localhost | ok: 2026-03-10 00:06:53.816288 | localhost | # Node Information 2026-03-10 00:06:53.816316 | localhost | Inventory Hostname: controller 2026-03-10 00:06:53.816337 | localhost | Hostname: ip-172-16-159-147 2026-03-10 00:06:53.816355 | localhost | Username: zuul-worker 2026-03-10 00:06:53.816376 | localhost | Distro: Fedora 37 2026-03-10 00:06:53.816394 | localhost | Provider: ansible-us-east-2 2026-03-10 00:06:53.816411 | localhost | Region: us-east-2 2026-03-10 00:06:53.816427 | localhost | Label: ansible-fedora-37-1vcpu 2026-03-10 00:06:53.816443 | localhost | Product Name: t3.small 2026-03-10 00:06:53.816459 | localhost | Interface IP: 52.14.21.241 2026-03-10 00:06:53.852185 | 2026-03-10 00:06:53.852435 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2026-03-10 00:06:54.247590 | localhost -> localhost | changed 2026-03-10 00:06:54.254010 | 2026-03-10 00:06:54.254126 | TASK [log-inventory : Copy ansible inventory to logs dir] 2026-03-10 00:06:55.145314 | localhost -> localhost | changed 2026-03-10 00:06:55.167471 | 2026-03-10 00:06:55.167569 | PLAY [all:!appliance*] 2026-03-10 00:06:55.184422 | 2026-03-10 00:06:55.184540 | TASK [include_role : start-zuul-console] 2026-03-10 00:06:55.204110 | controller | ok 2026-03-10 00:06:55.218746 | 2026-03-10 00:06:55.218865 | TASK [start-zuul-console : Start zuul_console daemon.] 2026-03-10 00:06:55.902968 | controller | ok 2026-03-10 00:06:55.942622 | 2026-03-10 00:06:55.942782 | TASK [use-our-mirror : Retrieve the IP address] 2026-03-10 00:06:57.776555 | controller | ok: Status code was 404 and not [200]: HTTP Error 404: Not Found 2026-03-10 00:06:57.783651 | 2026-03-10 00:06:57.783742 | TASK [use-our-mirror : Ensure the registry service is running on the mirror] 2026-03-10 00:06:57.915250 | controller | skipping: Conditional result was False 2026-03-10 00:06:57.924858 | 2026-03-10 00:06:57.924965 | TASK [use-our-mirror : Write the IP in /etc/hosts] 2026-03-10 00:06:57.950007 | controller | skipping: Conditional result was False 2026-03-10 00:06:57.956766 | 2026-03-10 00:06:57.956883 | TASK [use-our-mirror : Create the podman configuration directory] 2026-03-10 00:06:57.981410 | controller | skipping: Conditional result was False 2026-03-10 00:06:57.989075 | 2026-03-10 00:06:57.989145 | TASK [use-our-mirror : Copy the podman configuration] 2026-03-10 00:06:58.012479 | controller | skipping: Conditional result was False 2026-03-10 00:06:58.019207 | 2026-03-10 00:06:58.019296 | TASK [use-our-mirror : Copy the Yum configuration (main)] 2026-03-10 00:06:58.044088 | controller | skipping: Conditional result was False 2026-03-10 00:06:58.050786 | 2026-03-10 00:06:58.050861 | TASK [use-our-mirror : Copy the Yum configuration (update)] 2026-03-10 00:06:58.075383 | controller | skipping: Conditional result was False 2026-03-10 00:06:58.088188 | 2026-03-10 00:06:58.088274 | TASK [Disable Fedora Modular] 2026-03-10 00:06:58.852983 | controller | changed 2026-03-10 00:06:58.866688 | 2026-03-10 00:06:58.866911 | TASK [Enable EPEL] 2026-03-10 00:06:58.894831 | controller | skipping: Conditional result was False 2026-03-10 00:06:58.909804 | 2026-03-10 00:06:58.910000 | TASK [Register the RHEL node] 2026-03-10 00:06:59.080627 | 2026-03-10 00:06:59.080980 | TASK [Show the subscription-manager status] 2026-03-10 00:06:59.314668 | controller | skipping: Conditional result was False 2026-03-10 00:06:59.331701 | 2026-03-10 00:06:59.331912 | TASK [Enable EPEL on RHEL] 2026-03-10 00:06:59.498518 | controller | skipping: Conditional result was False 2026-03-10 00:06:59.505121 | 2026-03-10 00:06:59.505282 | TASK [Install git and tox] 2026-03-10 00:08:25.076485 | controller | changed 2026-03-10 00:08:25.088011 | 2026-03-10 00:08:25.088158 | TASK [include_role : prepare-workspace] 2026-03-10 00:08:25.121754 | controller | ok 2026-03-10 00:08:25.146441 | 2026-03-10 00:08:25.146563 | TASK [prepare-workspace : Start zuul_console daemon.] 2026-03-10 00:08:25.705963 | controller | ok 2026-03-10 00:08:25.723681 | 2026-03-10 00:08:25.723835 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2026-03-10 00:08:38.596424 | controller | Output suppressed because no_log was given 2026-03-10 00:08:38.617856 | 2026-03-10 00:08:38.617981 | TASK [include_role : prepare-workspace-openshift] 2026-03-10 00:08:38.642957 | controller | skipping: Conditional result was False 2026-03-10 00:08:38.672320 | 2026-03-10 00:08:38.672404 | PLAY [all:!appliance] 2026-03-10 00:08:38.694786 | 2026-03-10 00:08:38.694895 | TASK [Run add-build-sshkey role (RSA)] 2026-03-10 00:08:38.727342 | controller | ok 2026-03-10 00:08:38.751329 | 2026-03-10 00:08:38.751448 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-03-10 00:08:39.030503 | controller -> localhost | ok 2026-03-10 00:08:39.036822 | 2026-03-10 00:08:39.036893 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-03-10 00:08:39.095991 | controller | ok 2026-03-10 00:08:39.111261 | controller | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-03-10 00:08:39.117172 | 2026-03-10 00:08:39.117234 | TASK [add-build-sshkey : Create Temp SSH key] 2026-03-10 00:08:39.642235 | controller -> localhost | Generating public/private rsa key pair. 2026-03-10 00:08:39.642500 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/95e3d00c89be446592422ba311bd8b49_id_rsa. 2026-03-10 00:08:39.642546 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/95e3d00c89be446592422ba311bd8b49_id_rsa.pub. 2026-03-10 00:08:39.642581 | controller -> localhost | The key fingerprint is: 2026-03-10 00:08:39.642614 | controller -> localhost | SHA256:2JP028Gn1MiWA0qjmVFPXo8X+mvNLtKh5Cnwf+UcvOM zuul-build-sshkey 2026-03-10 00:08:39.642645 | controller -> localhost | The key's randomart image is: 2026-03-10 00:08:39.642678 | controller -> localhost | +---[RSA 2048]----+ 2026-03-10 00:08:39.642713 | controller -> localhost | | . . . . | 2026-03-10 00:08:39.642775 | controller -> localhost | | . + . + . | 2026-03-10 00:08:39.642811 | controller -> localhost | | . + + o o | 2026-03-10 00:08:39.642844 | controller -> localhost | | X = + * | 2026-03-10 00:08:39.642875 | controller -> localhost | | = S . X = | 2026-03-10 00:08:39.642911 | controller -> localhost | | .. =.=.*.| 2026-03-10 00:08:39.642949 | controller -> localhost | | o.oo+o==| 2026-03-10 00:08:39.642981 | controller -> localhost | | o =.++o| 2026-03-10 00:08:39.643013 | controller -> localhost | | o.o.Eo| 2026-03-10 00:08:39.643044 | controller -> localhost | +----[SHA256]-----+ 2026-03-10 00:08:39.643110 | controller -> localhost | ok: Runtime: 0:00:00.083422 2026-03-10 00:08:39.652936 | 2026-03-10 00:08:39.653063 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-03-10 00:08:39.677323 | controller | ok 2026-03-10 00:08:39.693318 | controller | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-03-10 00:08:39.707939 | 2026-03-10 00:08:39.708091 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-03-10 00:08:39.735105 | controller | skipping: Conditional result was False 2026-03-10 00:08:39.742305 | 2026-03-10 00:08:39.742402 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-03-10 00:08:40.461705 | controller | changed 2026-03-10 00:08:40.474278 | 2026-03-10 00:08:40.474372 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-03-10 00:08:40.823180 | controller | ok 2026-03-10 00:08:40.829053 | 2026-03-10 00:08:40.829122 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-03-10 00:08:42.149949 | controller | changed 2026-03-10 00:08:42.158964 | 2026-03-10 00:08:42.159067 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-03-10 00:08:43.499005 | controller | changed 2026-03-10 00:08:43.506601 | 2026-03-10 00:08:43.506719 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-03-10 00:08:43.522160 | controller | skipping: Conditional result was False 2026-03-10 00:08:43.530747 | 2026-03-10 00:08:43.530878 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-03-10 00:08:43.851354 | controller -> localhost | changed 2026-03-10 00:08:43.862376 | 2026-03-10 00:08:43.862486 | TASK [add-build-sshkey : Add back temp key] 2026-03-10 00:08:44.153247 | controller -> localhost | Identity added: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/95e3d00c89be446592422ba311bd8b49_id_rsa (zuul-build-sshkey) 2026-03-10 00:08:44.153519 | controller -> localhost | ok: Runtime: 0:00:00.008437 2026-03-10 00:08:44.160258 | 2026-03-10 00:08:44.160345 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-03-10 00:08:44.607879 | controller | ok 2026-03-10 00:08:44.613472 | 2026-03-10 00:08:44.613556 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-03-10 00:08:44.638351 | controller | skipping: Conditional result was False 2026-03-10 00:08:44.663965 | 2026-03-10 00:08:44.664111 | TASK [Run add-build-sshkey role (ECDSA)] 2026-03-10 00:08:44.687481 | controller | ok 2026-03-10 00:08:44.715121 | 2026-03-10 00:08:44.715303 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-03-10 00:08:44.932707 | controller -> localhost | ok 2026-03-10 00:08:44.939133 | 2026-03-10 00:08:44.939233 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-03-10 00:08:44.970069 | controller | ok 2026-03-10 00:08:44.984814 | controller | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-03-10 00:08:44.992649 | 2026-03-10 00:08:44.992765 | TASK [add-build-sshkey : Create Temp SSH key] 2026-03-10 00:08:45.294393 | controller -> localhost | Generating public/private ecdsa key pair. 2026-03-10 00:08:45.294610 | controller -> localhost | Your identification has been saved in /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/95e3d00c89be446592422ba311bd8b49_id_ecdsa. 2026-03-10 00:08:45.294642 | controller -> localhost | Your public key has been saved in /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/95e3d00c89be446592422ba311bd8b49_id_ecdsa.pub. 2026-03-10 00:08:45.294675 | controller -> localhost | The key fingerprint is: 2026-03-10 00:08:45.294696 | controller -> localhost | SHA256:MDvqMMGgXqXmoENELRyNPPIDU7KG2O5Lt6otTEaF4qI zuul-build-sshkey 2026-03-10 00:08:45.294715 | controller -> localhost | The key's randomart image is: 2026-03-10 00:08:45.294756 | controller -> localhost | +---[ECDSA 521]---+ 2026-03-10 00:08:45.294777 | controller -> localhost | |++B | 2026-03-10 00:08:45.294794 | controller -> localhost | |O@ + | 2026-03-10 00:08:45.294812 | controller -> localhost | |O*= .o | 2026-03-10 00:08:45.294828 | controller -> localhost | |=*o o + | 2026-03-10 00:08:45.294845 | controller -> localhost | |=o+= o S | 2026-03-10 00:08:45.294861 | controller -> localhost | |E+=. . . | 2026-03-10 00:08:45.294877 | controller -> localhost | |*.=.o | 2026-03-10 00:08:45.294895 | controller -> localhost | |.= * . | 2026-03-10 00:08:45.294912 | controller -> localhost | |.o+.o | 2026-03-10 00:08:45.294928 | controller -> localhost | +----[SHA256]-----+ 2026-03-10 00:08:45.294980 | controller -> localhost | ok: Runtime: 0:00:00.007784 2026-03-10 00:08:45.301413 | 2026-03-10 00:08:45.301494 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-03-10 00:08:45.344838 | controller | ok 2026-03-10 00:08:45.352102 | controller | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-03-10 00:08:45.360992 | 2026-03-10 00:08:45.361101 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-03-10 00:08:45.385219 | controller | skipping: Conditional result was False 2026-03-10 00:08:45.392017 | 2026-03-10 00:08:45.392107 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-03-10 00:08:45.871536 | controller | changed 2026-03-10 00:08:45.877720 | 2026-03-10 00:08:45.877823 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-03-10 00:08:46.251287 | controller | ok 2026-03-10 00:08:46.264264 | 2026-03-10 00:08:46.264428 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-03-10 00:08:47.631045 | controller | changed 2026-03-10 00:08:47.643769 | 2026-03-10 00:08:47.643934 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-03-10 00:08:48.990416 | controller | changed 2026-03-10 00:08:49.003982 | 2026-03-10 00:08:49.004165 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-03-10 00:08:49.031884 | controller | skipping: Conditional result was False 2026-03-10 00:08:49.045620 | 2026-03-10 00:08:49.045850 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-03-10 00:08:49.299907 | controller -> localhost | changed 2026-03-10 00:08:49.316624 | 2026-03-10 00:08:49.316783 | TASK [add-build-sshkey : Add back temp key] 2026-03-10 00:08:49.638440 | controller -> localhost | Identity added: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/95e3d00c89be446592422ba311bd8b49_id_ecdsa (zuul-build-sshkey) 2026-03-10 00:08:49.638662 | controller -> localhost | ok: Runtime: 0:00:00.010986 2026-03-10 00:08:49.645683 | 2026-03-10 00:08:49.645839 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-03-10 00:08:49.978812 | controller | ok 2026-03-10 00:08:49.992535 | 2026-03-10 00:08:49.992711 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-03-10 00:08:50.030760 | controller | skipping: Conditional result was False 2026-03-10 00:08:50.059224 | 2026-03-10 00:08:50.059420 | TASK [include_role : remove-zuul-sshkey] 2026-03-10 00:08:50.085180 | controller | skipping: Conditional result was False 2026-03-10 00:08:50.094094 | 2026-03-10 00:08:50.094219 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2026-03-10 00:08:50.429586 | controller | ok: "logs" 2026-03-10 00:08:50.430056 | controller | ok: All items complete 2026-03-10 00:08:50.430122 | 2026-03-10 00:08:50.726963 | controller | ok: "artifacts" 2026-03-10 00:08:51.023098 | controller | ok: "docs" 2026-03-10 00:08:51.082368 | 2026-03-10 00:08:51.082501 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2026-03-10 00:08:51.428946 | controller | changed: "logs" 2026-03-10 00:08:51.720804 | controller | changed: "artifacts" 2026-03-10 00:08:52.021356 | controller | changed: "docs" 2026-03-10 00:08:52.058836 | 2026-03-10 00:08:52.058941 | PLAY RECAP 2026-03-10 00:08:52.058989 | controller | ok: 30 changed: 16 unreachable: 0 failed: 0 skipped: 18 rescued: 0 ignored: 0 2026-03-10 00:08:52.059040 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-03-10 00:08:52.059063 | 2026-03-10 00:08:52.175635 | PRE-RUN END RESULT_NORMAL: [trusted : github.com/ansible/zuul-config/playbooks/base/pre.yaml@master] 2026-03-10 00:08:52.176515 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-03-10 00:08:52.789172 | 2026-03-10 00:08:52.789373 | PLAY [all] 2026-03-10 00:08:52.812211 | 2026-03-10 00:08:52.812346 | TASK [Install binary dependencies] 2026-03-10 00:08:52.865316 | controller | ok 2026-03-10 00:08:52.891199 | 2026-03-10 00:08:52.891364 | TASK [bindep : Include find tasks] 2026-03-10 00:08:52.922551 | controller | ok 2026-03-10 00:08:52.930559 | controller | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep/tasks/find.yaml 2026-03-10 00:08:52.936933 | 2026-03-10 00:08:52.937002 | TASK [bindep : Look for bindep.txt] 2026-03-10 00:08:53.458988 | controller | ok 2026-03-10 00:08:53.467446 | 2026-03-10 00:08:53.467542 | TASK [bindep : Define bindep_file fact] 2026-03-10 00:08:53.493498 | controller | skipping: Conditional result was False 2026-03-10 00:08:53.505015 | 2026-03-10 00:08:53.505146 | TASK [bindep : Look for other-requirements.txt] 2026-03-10 00:08:53.847207 | controller | ok 2026-03-10 00:08:53.856708 | 2026-03-10 00:08:53.856893 | TASK [bindep : Define bindep_file fact] 2026-03-10 00:08:53.893408 | controller | skipping: Conditional result was False 2026-03-10 00:08:53.901878 | 2026-03-10 00:08:53.902038 | TASK [bindep : Look for bindep fallback file] 2026-03-10 00:08:53.926942 | controller | skipping: Conditional result was False 2026-03-10 00:08:53.935583 | 2026-03-10 00:08:53.935770 | TASK [bindep : Define bindep_file fact] 2026-03-10 00:08:53.973567 | controller | skipping: Conditional result was False 2026-03-10 00:08:53.979916 | 2026-03-10 00:08:53.980025 | TASK [bindep : Include bindep tasks] 2026-03-10 00:08:54.004696 | controller | skipping: Conditional result was False 2026-03-10 00:08:54.014193 | 2026-03-10 00:08:54.014311 | TASK [bindep : Include install tasks] 2026-03-10 00:08:54.049297 | controller | skipping: Conditional result was False 2026-03-10 00:08:54.058351 | 2026-03-10 00:08:54.058517 | LOOP [bindep : Include package tasks] 2026-03-10 00:08:54.138756 | 2026-03-10 00:08:54.139103 | TASK [Run test-setup role] 2026-03-10 00:08:54.163084 | controller | ok 2026-03-10 00:08:54.189437 | 2026-03-10 00:08:54.189577 | TASK [test-setup : Check if project's tools/test-setup.sh exists] 2026-03-10 00:08:54.505978 | controller | ok 2026-03-10 00:08:54.512154 | 2026-03-10 00:08:54.512227 | TASK [test-setup : Run tools/test-setup.sh] 2026-03-10 00:08:54.655381 | controller | skipping: Conditional result was False 2026-03-10 00:08:54.689595 | 2026-03-10 00:08:54.689720 | PLAY RECAP 2026-03-10 00:08:54.689797 | controller | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-03-10 00:08:54.689825 | 2026-03-10 00:08:54.820160 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-03-10 00:08:54.821256 | PRE-RUN START: [untrusted : github.com/ansible/ansible-zuul-jobs/playbooks/ansible-test-base/pre.yaml@master] 2026-03-10 00:08:55.531936 | 2026-03-10 00:08:55.532112 | PLAY [controller] 2026-03-10 00:08:55.560886 | 2026-03-10 00:08:55.561043 | TASK [Create the /root directory] 2026-03-10 00:08:56.313045 | controller | ok 2026-03-10 00:08:56.335947 | 2026-03-10 00:08:56.336119 | TASK [Install glibc-langpack-en] 2026-03-10 00:09:04.398712 | controller | ok: Nothing to do 2026-03-10 00:09:04.406499 | 2026-03-10 00:09:04.406612 | TASK [Ensure controller directory exists] 2026-03-10 00:09:04.863460 | controller | changed 2026-03-10 00:09:04.877607 | 2026-03-10 00:09:04.877815 | TASK [Install container runtime] 2026-03-10 00:09:04.940838 | controller | ok 2026-03-10 00:09:04.976741 | 2026-03-10 00:09:04.976862 | LOOP [ensure-podman : Find distribution installation] 2026-03-10 00:09:05.018137 | controller | ok: "/var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-podman/tasks/RedHat.yaml" 2026-03-10 00:09:05.025297 | controller | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-podman/tasks/RedHat.yaml 2026-03-10 00:09:05.032186 | 2026-03-10 00:09:05.032272 | TASK [ensure-podman : Install podman (RedHat)] 2026-03-10 00:10:23.102744 | controller | changed 2026-03-10 00:10:23.111018 | 2026-03-10 00:10:23.111160 | TASK [ensure-podman : Fetch podman version] 2026-03-10 00:10:23.906158 | controller | Client: Podman Engine 2026-03-10 00:10:23.933110 | controller | Version: 4.6.2 2026-03-10 00:10:23.933173 | controller | API Version: 4.6.2 2026-03-10 00:10:23.933190 | controller | Go Version: go1.19.12 2026-03-10 00:10:23.933222 | controller | Built: Mon Aug 28 19:38:31 2023 2026-03-10 00:10:23.933240 | controller | OS/Arch: linux/amd64 2026-03-10 00:10:24.263422 | controller | ok: Runtime: 0:00:00.220211 2026-03-10 00:10:24.277358 | 2026-03-10 00:10:24.277554 | TASK [ensure-podman : Print podman version installed] 2026-03-10 00:10:24.300517 | Podman version: Client: Podman Engine 2026-03-10 00:10:24.300686 | Version: 4.6.2 2026-03-10 00:10:24.300716 | API Version: 4.6.2 2026-03-10 00:10:24.300783 | Go Version: go1.19.12 2026-03-10 00:10:24.300805 | Built: Mon Aug 28 19:38:31 2023 2026-03-10 00:10:24.300824 | OS/Arch: linux/amd64 2026-03-10 00:10:24.306579 | 2026-03-10 00:10:24.306650 | TASK [ensure-podman : Validate podman engine] 2026-03-10 00:10:24.449172 | controller | skipping: Conditional result was False 2026-03-10 00:10:24.459514 | 2026-03-10 00:10:24.459642 | TASK [ensure-podman : Set up docker compatability socket] 2026-03-10 00:10:24.484780 | controller | skipping: Conditional result was False 2026-03-10 00:10:24.500745 | 2026-03-10 00:10:24.500890 | TASK [Ensure python3.8 is present] 2026-03-10 00:10:24.526197 | controller | skipping: Conditional result was False 2026-03-10 00:10:24.535486 | 2026-03-10 00:10:24.535612 | TASK [Run our-ensure-python role (Fedora only for now)] 2026-03-10 00:10:24.563643 | controller | ok 2026-03-10 00:10:24.592066 | 2026-03-10 00:10:24.592211 | TASK [our-ensure-python : Install the right Python version (rpm)] 2026-03-10 00:10:28.556788 | controller | ok: Nothing to do 2026-03-10 00:10:28.573330 | 2026-03-10 00:10:28.573504 | TASK [our-ensure-python : Also install python3-devel] 2026-03-10 00:10:41.624499 | controller | changed 2026-03-10 00:10:41.651659 | 2026-03-10 00:10:41.651913 | TASK [Run ensure-virtualenv role] 2026-03-10 00:10:41.676187 | controller | ok 2026-03-10 00:10:41.711770 | 2026-03-10 00:10:41.711904 | TASK [ensure-virtualenv : Check if virtualenv is installed] 2026-03-10 00:10:42.088950 | controller | /usr/bin/virtualenv 2026-03-10 00:10:42.351417 | controller | ok: Runtime: 0:00:00.004446 2026-03-10 00:10:42.366597 | 2026-03-10 00:10:42.367230 | LOOP [ensure-virtualenv : Install virtualenv package] 2026-03-10 00:10:42.397936 | controller | skipping: Conditional result was False 2026-03-10 00:10:42.398545 | controller | ok: All items complete 2026-03-10 00:10:42.398585 | 2026-03-10 00:10:42.490520 | 2026-03-10 00:10:42.490661 | TASK [Find the full path of the Python interpreter] 2026-03-10 00:10:42.922473 | controller | /usr/bin/python3 2026-03-10 00:10:43.139636 | controller | ok 2026-03-10 00:10:43.150651 | 2026-03-10 00:10:43.150850 | TASK [Create virtualenv for ansible-test with a specific interpreter] 2026-03-10 00:10:44.602472 | controller | created virtual environment CPython3.11.0.final.0-64 in 760ms 2026-03-10 00:10:44.646171 | controller | creator CPython3Posix(dest=/home/zuul-worker/venv, clear=False, no_vcs_ignore=False, global=False) 2026-03-10 00:10:44.646230 | 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-worker/.local/share/virtualenv) 2026-03-10 00:10:44.646247 | controller | added seed packages: pip==22.2.2, setuptools==62.6.0, wheel==0.37.1 2026-03-10 00:10:44.646271 | controller | activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator 2026-03-10 00:10:44.808863 | controller | changed 2026-03-10 00:10:44.817039 | 2026-03-10 00:10:44.817155 | TASK [Set selinux package] 2026-03-10 00:10:44.850880 | controller | ok 2026-03-10 00:10:44.857848 | 2026-03-10 00:10:44.857961 | TASK [Set selinux package (Fedora)] 2026-03-10 00:10:44.911542 | controller | ok 2026-03-10 00:10:44.918570 | 2026-03-10 00:10:44.918659 | TASK [Install selinux into virtualenv] 2026-03-10 00:10:47.595186 | controller | Collecting selinux-please-lie-to-me 2026-03-10 00:10:47.685099 | controller | Downloading selinux_please_lie_to_me-1.0.1-py2.py3-none-any.whl (3.8 kB) 2026-03-10 00:10:48.224041 | controller | Collecting setuptools<50.0.0 2026-03-10 00:10:48.237683 | controller | Downloading setuptools-49.6.0-py3-none-any.whl (803 kB) 2026-03-10 00:10:48.365608 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 803.3/803.3 kB 6.5 MB/s eta 0:00:00 2026-03-10 00:10:48.517164 | controller | Installing collected packages: setuptools, selinux-please-lie-to-me 2026-03-10 00:10:48.517460 | controller | Attempting uninstall: setuptools 2026-03-10 00:10:48.522331 | controller | Found existing installation: setuptools 62.6.0 2026-03-10 00:10:48.634228 | controller | Uninstalling setuptools-62.6.0: 2026-03-10 00:10:48.649379 | controller | Successfully uninstalled setuptools-62.6.0 2026-03-10 00:10:49.412255 | controller | Successfully installed selinux-please-lie-to-me-1.0.1 setuptools-49.6.0 2026-03-10 00:10:49.618768 | controller | 2026-03-10 00:10:49.827197 | controller | [notice] A new release of pip available: 22.2.2 -> 26.0.1 2026-03-10 00:10:49.827243 | controller | [notice] To update, run: python -m pip install --upgrade pip 2026-03-10 00:10:50.118812 | controller | ok: Runtime: 0:00:04.411994 2026-03-10 00:10:50.131459 | 2026-03-10 00:10:50.131612 | TASK [Install pytest-forked into virtualenv] 2026-03-10 00:10:51.368179 | controller | Collecting pytest-forked 2026-03-10 00:10:51.454493 | controller | Downloading pytest_forked-1.6.0-py3-none-any.whl (4.9 kB) 2026-03-10 00:10:51.517006 | controller | Collecting py 2026-03-10 00:10:51.529103 | controller | Downloading py-1.11.0-py2.py3-none-any.whl (98 kB) 2026-03-10 00:10:51.564934 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.7/98.7 kB 3.3 MB/s eta 0:00:00 2026-03-10 00:10:51.739483 | controller | Collecting pytest>=3.10 2026-03-10 00:10:51.751849 | controller | Downloading pytest-9.0.2-py3-none-any.whl (374 kB) 2026-03-10 00:10:51.810966 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 374.8/374.8 kB 6.6 MB/s eta 0:00:00 2026-03-10 00:10:51.867828 | controller | Collecting iniconfig>=1.0.1 2026-03-10 00:10:51.879955 | controller | Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) 2026-03-10 00:10:51.947342 | controller | Collecting packaging>=22 2026-03-10 00:10:51.959475 | controller | Downloading packaging-26.0-py3-none-any.whl (74 kB) 2026-03-10 00:10:51.973944 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.4/74.4 kB 5.7 MB/s eta 0:00:00 2026-03-10 00:10:52.022061 | controller | Collecting pluggy<2,>=1.5 2026-03-10 00:10:52.034054 | controller | Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-03-10 00:10:52.107741 | controller | Collecting pygments>=2.7.2 2026-03-10 00:10:52.120964 | controller | Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB) 2026-03-10 00:10:52.231529 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 11.4 MB/s eta 0:00:00 2026-03-10 00:10:52.362378 | controller | Installing collected packages: pygments, py, pluggy, packaging, iniconfig, pytest, pytest-forked 2026-03-10 00:10:54.620761 | 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-10 00:10:54.637662 | controller | 2026-03-10 00:10:54.814374 | controller | [notice] A new release of pip available: 22.2.2 -> 26.0.1 2026-03-10 00:10:54.814418 | controller | [notice] To update, run: python -m pip install --upgrade pip 2026-03-10 00:10:55.308295 | controller | ok: Runtime: 0:00:04.169227 2026-03-10 00:10:55.316077 | 2026-03-10 00:10:55.316168 | TASK [Update pip] 2026-03-10 00:10:56.424698 | controller | Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (22.2.2) 2026-03-10 00:10:56.705850 | controller | Collecting pip 2026-03-10 00:10:56.803913 | controller | Downloading pip-26.0.1-py3-none-any.whl (1.8 MB) 2026-03-10 00:10:56.961407 | controller | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 11.6 MB/s eta 0:00:00 2026-03-10 00:10:57.111636 | controller | Installing collected packages: pip 2026-03-10 00:10:57.112102 | controller | Attempting uninstall: pip 2026-03-10 00:10:57.116546 | controller | Found existing installation: pip 22.2.2 2026-03-10 00:10:57.374395 | controller | Uninstalling pip-22.2.2: 2026-03-10 00:10:57.417766 | controller | Successfully uninstalled pip-22.2.2 2026-03-10 00:10:59.141128 | controller | Successfully installed pip-26.0.1 2026-03-10 00:10:59.454375 | controller | ok: Runtime: 0:00:03.497062 2026-03-10 00:10:59.471356 | 2026-03-10 00:10:59.471896 | TASK [Ensure pip temp directory exists in /var/tmp] 2026-03-10 00:11:00.025915 | controller | changed 2026-03-10 00:11:00.032629 | 2026-03-10 00:11:00.032896 | TASK [Install ansible into virtualenv] 2026-03-10 00:11:01.118837 | controller | Processing ./src/github.com/ansible/ansible 2026-03-10 00:11:01.123639 | controller | Installing build dependencies: started 2026-03-10 00:11:02.873388 | controller | Installing build dependencies: finished with status 'done' 2026-03-10 00:11:04.511813 | controller | Getting requirements to build wheel: started 2026-03-10 00:11:04.511879 | controller | Getting requirements to build wheel: finished with status 'done' 2026-03-10 00:11:04.512073 | controller | Preparing metadata (pyproject.toml): started 2026-03-10 00:11:05.444818 | controller | Preparing metadata (pyproject.toml): finished with status 'done' 2026-03-10 00:11:05.449119 | 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-10 00:11:05.453738 | controller | ERROR: Package 'ansible-core' requires a different Python: 3.11.0 not in '>=3.12' 2026-03-10 00:11:05.683445 | controller | ERROR 2026-03-10 00:11:05.683814 | controller | { 2026-03-10 00:11:05.683900 | controller | "delta": "0:00:05.127152", 2026-03-10 00:11:05.683949 | controller | "end": "2026-03-10 00:11:05.595947", 2026-03-10 00:11:05.683991 | controller | "msg": "non-zero return code", 2026-03-10 00:11:05.684049 | controller | "rc": 1, 2026-03-10 00:11:05.684089 | controller | "start": "2026-03-10 00:11:00.468795" 2026-03-10 00:11:05.684127 | controller | } failure 2026-03-10 00:11:05.687589 | 2026-03-10 00:11:05.687747 | PLAY RECAP 2026-03-10 00:11:05.687814 | controller | ok: 18 changed: 10 unreachable: 0 failed: 1 skipped: 4 rescued: 0 ignored: 0 2026-03-10 00:11:05.687843 | 2026-03-10 00:11:05.820008 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/ansible/ansible-zuul-jobs/playbooks/ansible-test-base/pre.yaml@master] 2026-03-10 00:11:05.822269 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-03-10 00:11:06.405656 | 2026-03-10 00:11:06.405802 | PLAY [all] 2026-03-10 00:11:06.427844 | 2026-03-10 00:11:06.427974 | TASK [fetch-subunit-output : Find stestr or testr executable] 2026-03-10 00:11:07.276391 | controller | changed: non-zero return code 2026-03-10 00:11:07.282774 | 2026-03-10 00:11:07.282868 | TASK [fetch-subunit-output : Get the list of directories with subunit files] 2026-03-10 00:11:07.308844 | controller | skipping: Conditional result was False 2026-03-10 00:11:07.318984 | 2026-03-10 00:11:07.319139 | LOOP [fetch-subunit-output : Find any inflight partial subunit files] 2026-03-10 00:11:07.354522 | 2026-03-10 00:11:07.354777 | LOOP [fetch-subunit-output : Copy any inflight subunit files] 2026-03-10 00:11:07.389808 | 2026-03-10 00:11:07.390041 | TASK [fetch-subunit-output : Create a temporary file to store the subunit stream] 2026-03-10 00:11:07.416652 | controller | skipping: Conditional result was False 2026-03-10 00:11:07.425606 | 2026-03-10 00:11:07.425767 | LOOP [fetch-subunit-output : Generate subunit file] 2026-03-10 00:11:07.461200 | 2026-03-10 00:11:07.461400 | TASK [fetch-subunit-output : Copy the combined subunit file to the zuul work directory] 2026-03-10 00:11:07.477764 | controller | skipping: Conditional result was False 2026-03-10 00:11:07.485094 | 2026-03-10 00:11:07.485219 | TASK [fetch-subunit-output : Remove the temporary file] 2026-03-10 00:11:07.500107 | controller | skipping: Conditional result was False 2026-03-10 00:11:07.511151 | 2026-03-10 00:11:07.511267 | TASK [fetch-subunit-output : Process and fetch subunit results] 2026-03-10 00:11:07.525992 | controller | skipping: Conditional result was False 2026-03-10 00:11:07.554229 | 2026-03-10 00:11:07.554326 | PLAY RECAP 2026-03-10 00:11:07.554367 | controller | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-03-10 00:11:07.554390 | 2026-03-10 00:11:07.665339 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-03-10 00:11:07.666290 | POST-RUN START: [trusted : github.com/ansible/zuul-config/playbooks/base/post.yaml@master] 2026-03-10 00:11:08.273451 | 2026-03-10 00:11:08.273590 | PLAY [all:!appliance*] 2026-03-10 00:11:08.296513 | 2026-03-10 00:11:08.296632 | TASK [unregister the node] 2026-03-10 00:11:08.432533 | controller | skipping: Conditional result was False 2026-03-10 00:11:08.438906 | 2026-03-10 00:11:08.438998 | TASK [include_role : fetch-output] 2026-03-10 00:11:08.489436 | controller | ok 2026-03-10 00:11:08.511798 | 2026-03-10 00:11:08.511932 | TASK [fetch-output : Set log path for multiple nodes] 2026-03-10 00:11:08.556903 | controller | skipping: Conditional result was False 2026-03-10 00:11:08.567570 | 2026-03-10 00:11:08.567693 | TASK [fetch-output : Set log path for single node] 2026-03-10 00:11:08.602750 | controller | ok 2026-03-10 00:11:08.611913 | 2026-03-10 00:11:08.612076 | LOOP [fetch-output : Ensure local output dirs] 2026-03-10 00:11:09.086428 | controller -> localhost | ok: "/var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/logs" 2026-03-10 00:11:09.335878 | controller -> localhost | changed: "/var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/artifacts" 2026-03-10 00:11:09.568099 | controller -> localhost | changed: "/var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/work/docs" 2026-03-10 00:11:09.587055 | 2026-03-10 00:11:09.587197 | LOOP [fetch-output : Collect logs, artifacts and docs] 2026-03-10 00:11:10.877437 | controller | changed: 2026-03-10 00:11:10.877748 | controller | .d..t...... ./ 2026-03-10 00:11:10.877811 | controller | cd+++++++++ controller/ 2026-03-10 00:11:10.877889 | controller | changed: All items complete 2026-03-10 00:11:10.877945 | 2026-03-10 00:11:11.933632 | controller | changed: .d..t...... ./ 2026-03-10 00:11:12.983660 | controller | changed: .d..t...... ./ 2026-03-10 00:11:13.003368 | 2026-03-10 00:11:13.003478 | TASK [include_role : fetch-output-openshift] 2026-03-10 00:11:13.018016 | controller | skipping: Conditional result was False 2026-03-10 00:11:13.024368 | 2026-03-10 00:11:13.024448 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2026-03-10 00:11:13.052017 | controller | skipping: Conditional result was False 2026-03-10 00:11:13.065772 | controller | skipping: Conditional result was False 2026-03-10 00:11:13.100680 | 2026-03-10 00:11:13.100813 | PLAY [localhost] 2026-03-10 00:11:13.115041 | 2026-03-10 00:11:13.115160 | TASK [Run Zuul manifest role] 2026-03-10 00:11:13.133683 | localhost | ok 2026-03-10 00:11:13.147817 | 2026-03-10 00:11:13.147940 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2026-03-10 00:11:13.540795 | localhost | changed 2026-03-10 00:11:13.551297 | 2026-03-10 00:11:13.551429 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2026-03-10 00:11:13.600534 | localhost | ok 2026-03-10 00:11:13.620545 | 2026-03-10 00:11:13.620718 | TASK [Set zuul-log-path fact] 2026-03-10 00:11:13.642622 | localhost | ok 2026-03-10 00:11:13.661057 | 2026-03-10 00:11:13.661172 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-03-10 00:11:13.692889 | localhost | ok 2026-03-10 00:11:13.707143 | 2026-03-10 00:11:13.707271 | LOOP [Set zuul_log_targets (Swift with random Rackspace region)] 2026-03-10 00:11:13.738600 | localhost | ok: 2026-03-10 00:11:13.738810 | localhost | { 2026-03-10 00:11:13.738846 | localhost | "auth": { 2026-03-10 00:11:13.738880 | localhost | "password": "IonWCwcuOFib&&<}wp^:[2G/", 2026-03-10 00:11:13.738906 | localhost | "username": "9LF91O0RK7JU" 2026-03-10 00:11:13.738930 | localhost | }, 2026-03-10 00:11:13.738953 | localhost | "profile": "rackspace", 2026-03-10 00:11:13.738976 | localhost | "region_name": "IAD" 2026-03-10 00:11:13.738998 | localhost | } 2026-03-10 00:11:13.739031 | 2026-03-10 00:11:13.750140 | 2026-03-10 00:11:13.750240 | TASK [Run upload-logs-failover role (S3 then Swift)] 2026-03-10 00:11:13.771396 | localhost | Output suppressed because no_log was given 2026-03-10 00:11:13.789967 | 2026-03-10 00:11:13.790183 | TASK [upload-logs-failover : Initialize control vars] 2026-03-10 00:11:13.821411 | localhost | ok 2026-03-10 00:11:13.828177 | 2026-03-10 00:11:13.828277 | LOOP [upload-logs-failover : Perform log upload] 2026-03-10 00:11:13.865080 | localhost | Output suppressed because no_log was given 2026-03-10 00:11:13.876546 | localhost | included: /var/lib/zuul/builds/95e3d00c89be446592422ba311bd8b49/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/upload-logs-failover/tasks/upload.yaml 2026-03-10 00:11:13.926358 | 2026-03-10 00:11:13.926518 | LOOP [upload-logs-failover : Unpack vars for swift upload] 2026-03-10 00:11:14.033314 | localhost | Output suppressed because no_log was given 2026-03-10 00:11:14.040224 | 2026-03-10 00:11:14.040342 | TASK [Upload logs to swift] 2026-03-10 00:11:14.058578 | localhost | ok 2026-03-10 00:11:14.085089 | 2026-03-10 00:11:14.085209 | TASK [Set zuul-log-path fact] 2026-03-10 00:11:14.109350 | localhost | skipping: Conditional result was False 2026-03-10 00:11:14.114705 | 2026-03-10 00:11:14.114853 | TASK [upload-logs-swift : Ensure logs are readable before uploading] 2026-03-10 00:11:14.507552 | localhost -> localhost | ok: Runtime: 0:00:00.005831 2026-03-10 00:11:14.513235 | 2026-03-10 00:11:14.513331 | TASK [upload-logs-swift : Upload logs to swift]