No config file found; using defaults [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' PLAY [Build a RHEL9.5 cloud image suitable for Zuul] *************************** TASK [Gathering Facts] ********************************************************* ok: [localhost] TASK [base-appliance : Set appliance_archive] ********************************** ok: [localhost] => {"ansible_facts": {"appliance_archive": "/tmp/appliance-1.54.0.tar.xz"}, "changed": false} TASK [base-appliance : Set appliance_path] ************************************* ok: [localhost] => {"ansible_facts": {"appliance_path": "/tmp//tmp/appliance-1.54.0"}, "changed": false} TASK [base-appliance : Remove existing appliance directory to avoid error: virt-customize: error: libguestfs error: cannot find any suitable libguestfs supermin] *** changed: [localhost] => {"changed": true, "path": "/tmp//tmp/appliance-1.54.0", "state": "absent"} TASK [base-appliance : Ensure appliance_path exists] *************************** changed: [localhost] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/tmp//tmp/appliance-1.54.0", "size": 6, "state": "directory", "uid": 0} TASK [base-appliance : Download appliance] ************************************* ok: [localhost] => {"changed": false, "dest": "/tmp/appliance-1.54.0.tar.xz", "elapsed": 0, "gid": 0, "group": "root", "mode": "0644", "msg": "HTTP Error 304: Not Modified", "owner": "root", "size": 197794224, "state": "file", "uid": 0, "url": "https://download.libguestfs.org/binaries/appliance/appliance-1.54.0.tar.xz"} TASK [base-appliance : Unarchive appliance] ************************************ changed: [localhost] => {"changed": true, "dest": "/tmp//tmp/appliance-1.54.0", "extract_results": {"cmd": ["/bin/gtar", "--extract", "-C", "/tmp//tmp/appliance-1.54.0", "-f", "/root/.ansible/tmp/ansible-tmp-1775081835.4957001-6125-67328189433678/source"], "err": "", "out": "", "rc": 0}, "gid": 0, "group": "root", "handler": "TarArchive", "mode": "0755", "owner": "root", "size": 23, "src": "/root/.ansible/tmp/ansible-tmp-1775081835.4957001-6125-67328189433678/source", "state": "directory", "uid": 0} TASK [base-appliance : set_fact] *********************************************** ok: [localhost] => {"ansible_facts": {"virt_customize_env": {"LIBGUESTFS_BACKEND": "direct", "LIBGUESTFS_PATH": "/tmp//tmp/appliance-1.54.0/appliance"}}, "changed": false} TASK [base-local : Set image_tmp_dir] ****************************************** ok: [localhost] => {"ansible_facts": {"image_tmp_dir": "/var/tmp/rhel-9.5-x86_64-kvm.qcow2"}, "changed": false} TASK [base-local : Copy the image] ********************************************* [WARNING]: Consider using the file module with state=directory rather than running 'mkdir'. If you need to use command because file is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message. changed: [localhost] => {"changed": true, "cmd": "mkdir -p /var/tmp/rhel-9.5-x86_64-kvm.qcow2\ncp /var/cache/nodepool/RHEL/rhel-9.5-x86_64-kvm.qcow2 /var/tmp/rhel-9.5-x86_64-kvm.qcow2/\n", "delta": "0:00:02.005777", "end": "2026-04-01 22:18:03.713013", "rc": 0, "start": "2026-04-01 22:18:01.707236", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []} TASK [base-local : Set image_file] ********************************************* ok: [localhost] => {"ansible_facts": {"image_file": "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2"}, "changed": false} TASK [base-local : Set virt_customize_cmd] ************************************* ok: [localhost] => {"ansible_facts": {"virt_customize_cmd": ["virt-customize -m 2048 -a /var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2", "--selinux-relabel"]}, "changed": false} TASK [sshd-config : Prepare sshd_config file] ********************************** changed: [localhost] => {"changed": true, "checksum": "426f750873a82338136ef9ff497829722a2a035c", "dest": "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config", "gid": 0, "group": "root", "md5sum": "0f47734e2af65faf089c7bb0a53ff448", "mode": "0644", "owner": "root", "size": 907, "src": "/root/.ansible/tmp/ansible-tmp-1775081883.9728136-6187-34156706799916/source", "state": "file", "uid": 0} TASK [sshd-config : set_fact] ************************************************** ok: [localhost] => {"ansible_facts": {"cmd": ["--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config:/etc/ssh/'", "--chmod '0600:/etc/ssh/sshd_config'"]}, "changed": false} TASK [sshd-config : Generate ssh host keys] ************************************ skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"} TASK [sshd-config : set_fact] ************************************************** ok: [localhost] => {"ansible_facts": {"virt_customize_cmd": ["virt-customize -m 2048 -a /var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2", "--selinux-relabel", "--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config:/etc/ssh/'", "--chmod '0600:/etc/ssh/sshd_config'"]}, "changed": false} TASK [zuul-user : Prepare the sudoers file] ************************************ changed: [localhost] => {"changed": true, "checksum": "bf0831556e9f0a8ed0d5520b424f992f590ea2e3", "dest": "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul", "gid": 0, "group": "root", "md5sum": "4dca5fc5ab85dbdfff30d6dde7c49c65", "mode": "0644", "owner": "root", "size": 87, "src": "/root/.ansible/tmp/ansible-tmp-1775081885.0720222-6218-60254572381354/source", "state": "file", "uid": 0} TASK [zuul-user : Prepare the authorized_keys file] **************************** changed: [localhost] => {"changed": true, "checksum": "8a762e403cc4ed4e8498b801fcf57c967505132e", "dest": "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys", "gid": 0, "group": "root", "md5sum": "0df0a4d0f345163e88e6dd96d3cb5f35", "mode": "0644", "owner": "root", "size": 395, "src": "/var/lib/nodepool/.ssh/zuul_rsa.pub", "state": "file", "uid": 0} TASK [zuul-user : set_fact] **************************************************** skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"} TASK [zuul-user : set_fact] **************************************************** skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"} TASK [zuul-user : set_fact] **************************************************** ok: [localhost] => {"ansible_facts": {"cmd": ["--run-command 'adduser -m zuul-worker'", "--mkdir '/home/zuul-worker/.ssh'", "--chmod '0700:/home/zuul-worker/.ssh'", "--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys:/home/zuul-worker/.ssh/'", "--chmod '0600:/home/zuul-worker/.ssh/authorized_keys'", "--run-command 'chown -R zuul-worker:zuul-worker /home/zuul-worker/.ssh/'", "--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul:/etc/sudoers.d/'", "--chmod '0440:/etc/sudoers.d/zuul'", "--run-command 'chcon -R -h system_u:object_r:user_home_t:s0 /home/zuul-worker && chcon -R -h system_u:object_r:ssh_home_t:s0 /home/zuul-worker/.ssh'"]}, "changed": false} TASK [zuul-user : set_fact] **************************************************** ok: [localhost] => {"ansible_facts": {"virt_customize_cmd": ["virt-customize -m 2048 -a /var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2", "--selinux-relabel", "--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config:/etc/ssh/'", "--chmod '0600:/etc/ssh/sshd_config'", "--run-command 'adduser -m zuul-worker'", "--mkdir '/home/zuul-worker/.ssh'", "--chmod '0700:/home/zuul-worker/.ssh'", "--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys:/home/zuul-worker/.ssh/'", "--chmod '0600:/home/zuul-worker/.ssh/authorized_keys'", "--run-command 'chown -R zuul-worker:zuul-worker /home/zuul-worker/.ssh/'", "--copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul:/etc/sudoers.d/'", "--chmod '0440:/etc/sudoers.d/zuul'", "--run-command 'chcon -R -h system_u:object_r:user_home_t:s0 /home/zuul-worker && chcon -R -h system_u:object_r:ssh_home_t:s0 /home/zuul-worker/.ssh'"]}, "changed": false} TASK [base-customize : debug] ************************************************** ok: [localhost] => { "msg": "Running: virt-customize -m 2048 -a /var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2 --selinux-relabel --copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config:/etc/ssh/' --chmod '0600:/etc/ssh/sshd_config' --run-command 'adduser -m zuul-worker' --mkdir '/home/zuul-worker/.ssh' --chmod '0700:/home/zuul-worker/.ssh' --copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys:/home/zuul-worker/.ssh/' --chmod '0600:/home/zuul-worker/.ssh/authorized_keys' --run-command 'chown -R zuul-worker:zuul-worker /home/zuul-worker/.ssh/' --copy-in '/var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul:/etc/sudoers.d/' --chmod '0440:/etc/sudoers.d/zuul' --run-command 'chcon -R -h system_u:object_r:user_home_t:s0 /home/zuul-worker && chcon -R -h system_u:object_r:ssh_home_t:s0 /home/zuul-worker/.ssh'" } TASK [base-customize : Run virt-customize] ************************************* changed: [localhost] => {"changed": true, "cmd": ["virt-customize", "-m", "2048", "-a", "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2", "--selinux-relabel", "--copy-in", "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config:/etc/ssh/", "--chmod", "0600:/etc/ssh/sshd_config", "--run-command", "adduser -m zuul-worker", "--mkdir", "/home/zuul-worker/.ssh", "--chmod", "0700:/home/zuul-worker/.ssh", "--copy-in", "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys:/home/zuul-worker/.ssh/", "--chmod", "0600:/home/zuul-worker/.ssh/authorized_keys", "--run-command", "chown -R zuul-worker:zuul-worker /home/zuul-worker/.ssh/", "--copy-in", "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul:/etc/sudoers.d/", "--chmod", "0440:/etc/sudoers.d/zuul", "--run-command", "chcon -R -h system_u:object_r:user_home_t:s0 /home/zuul-worker && chcon -R -h system_u:object_r:ssh_home_t:s0 /home/zuul-worker/.ssh"], "delta": "0:00:48.025405", "end": "2026-04-01 22:18:54.539598", "rc": 0, "start": "2026-04-01 22:18:06.514193", "stderr": "", "stderr_lines": [], "stdout": "[ 0.0] Examining the guest ...\n[ 19.6] Setting a random seed\n[ 19.6] Setting the machine ID in /etc/machine-id\n[ 19.6] Copying: /var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config to /etc/ssh/\n[ 19.7] Changing permissions of /etc/ssh/sshd_config to 0600\n[ 19.7] Running: adduser -m zuul-worker\n[ 21.0] Making directory: /home/zuul-worker/.ssh\n[ 21.0] Changing permissions of /home/zuul-worker/.ssh to 0700\n[ 21.0] Copying: /var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys to /home/zuul-worker/.ssh/\n[ 21.0] Changing permissions of /home/zuul-worker/.ssh/authorized_keys to 0600\n[ 21.0] Running: chown -R zuul-worker:zuul-worker /home/zuul-worker/.ssh/\n[ 21.1] Copying: /var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul to /etc/sudoers.d/\n[ 21.2] Changing permissions of /etc/sudoers.d/zuul to 0440\n[ 21.2] Running: chcon -R -h system_u:object_r:user_home_t:s0 /home/zuul-worker && chcon -R -h system_u:object_r:ssh_home_t:s0 /home/zuul-worker/.ssh\n[ 21.3] SELinux relabelling\n[ 47.8] Finishing off", "stdout_lines": ["[ 0.0] Examining the guest ...", "[ 19.6] Setting a random seed", "[ 19.6] Setting the machine ID in /etc/machine-id", "[ 19.6] Copying: /var/tmp/rhel-9.5-x86_64-kvm.qcow2/sshd_config to /etc/ssh/", "[ 19.7] Changing permissions of /etc/ssh/sshd_config to 0600", "[ 19.7] Running: adduser -m zuul-worker", "[ 21.0] Making directory: /home/zuul-worker/.ssh", "[ 21.0] Changing permissions of /home/zuul-worker/.ssh to 0700", "[ 21.0] Copying: /var/tmp/rhel-9.5-x86_64-kvm.qcow2/authorized_keys to /home/zuul-worker/.ssh/", "[ 21.0] Changing permissions of /home/zuul-worker/.ssh/authorized_keys to 0600", "[ 21.0] Running: chown -R zuul-worker:zuul-worker /home/zuul-worker/.ssh/", "[ 21.1] Copying: /var/tmp/rhel-9.5-x86_64-kvm.qcow2/zuul to /etc/sudoers.d/", "[ 21.2] Changing permissions of /etc/sudoers.d/zuul to 0440", "[ 21.2] Running: chcon -R -h system_u:object_r:user_home_t:s0 /home/zuul-worker && chcon -R -h system_u:object_r:ssh_home_t:s0 /home/zuul-worker/.ssh", "[ 21.3] SELinux relabelling", "[ 47.8] Finishing off"]} TASK [base-finalize : Create raw file] ***************************************** changed: [localhost] => {"changed": true, "cmd": ["qemu-img", "convert", "-O", "raw", "/var/tmp/rhel-9.5-x86_64-kvm.qcow2/rhel-9.5-x86_64-kvm.qcow2", "/var/lib/nodepool/dib/cloud-rhel-9-5-4c44d7cd9f46487ab43d7dcb5cb7f0f1.raw"], "delta": "0:00:07.056261", "end": "2026-04-01 22:19:01.997479", "rc": 0, "start": "2026-04-01 22:18:54.941218", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []} TASK [base-finalize : Create qcow file] **************************************** skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"} TASK [base-cleanup : Remove tmp directory] ************************************* changed: [localhost] => {"changed": true, "path": "/var/tmp/rhel-9.5-x86_64-kvm.qcow2", "state": "absent"} PLAY RECAP ********************************************************************* localhost : ok=23 changed=10 unreachable=0 failed=0 skipped=4 rescued=0 ignored=0 Running: sudo /usr/local/bin/ansible-playbook -v /etc/nodepool/virt_images/cloud-rhel-9-5.yaml -e image_output=/var/lib/nodepool/dib/cloud-rhel-9-5-4c44d7cd9f46487ab43d7dcb5cb7f0f1 -e raw_type=True Exit code: 0