[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T15:55:44.284191Z",
                    "start": "2026-04-13T15:55:41.213623Z"
                },
                "id": "0242ac17-0011-2daa-be16-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_date_time": {
                                    "date": "2026-04-13",
                                    "day": "13",
                                    "epoch": "1776095742",
                                    "epoch_int": "1776095742",
                                    "hour": "15",
                                    "iso8601": "2026-04-13T15:55:42Z",
                                    "iso8601_basic": "20260413T155542517409",
                                    "iso8601_basic_short": "20260413T155542",
                                    "iso8601_micro": "2026-04-13T15:55:42.517409Z",
                                    "minute": "55",
                                    "month": "04",
                                    "second": "42",
                                    "time": "15:55:42",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "15",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.11"
                                    ],
                                    "options": {
                                        "edns0": true,
                                        "ndots": "0",
                                        "trust-ad": true
                                    },
                                    "search": [
                                        "openstacklocal"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 0,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work",
                                    "HOSTNAME": "0a8996d2b663",
                                    "LANG": "C.UTF-8",
                                    "PATH": "/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "PYTHON_SHA256": "8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78",
                                    "PYTHON_VERSION": "3.11.14",
                                    "SSH_AGENT_PID": "4052894",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-uNBDAutN0nWk/agent.4052892",
                                    "TMP": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "0a8996d2b663",
                                "ansible_hostname": "0a8996d2b663",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 2.853515625,
                                    "1m": 2.7802734375,
                                    "5m": 2.5009765625
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 4941,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 17053,
                                        "used": 15037
                                    },
                                    "real": {
                                        "free": 4941,
                                        "total": 32090,
                                        "used": 27149
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 192626337,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 71314380,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 58746323,
                                        "inode_total": 67108864,
                                        "inode_used": 8362541,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 788997476352,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 8479448,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 32122132,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 16523742,
                                        "inode_total": 20643840,
                                        "inode_used": 4120098,
                                        "mount": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 34731819008,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "0a8996d2b663",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": [
                                        "tty1",
                                        "ttyS0"
                                    ],
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_processor": [
                                    "0",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "1",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "2",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "3",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "4",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "5",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "6",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "7",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "8",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "9",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "10",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "11",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "12",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "13",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "14",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "15",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 16,
                                "ansible_processor_nproc": 16,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 16,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/local/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 14,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        14,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.14",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 0,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": "N/A",
                                "ansible_system_capabilities_enforced": "N/A",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 39759472,
                                "ansible_user_dir": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work",
                                "ansible_user_gecos": "root",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "root",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 0,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "host",
                                "ansible_virtualization_tech_guest": [],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "kvm",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:42.709661Z",
                            "start": "2026-04-13T15:55:41.221824Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:42.733502Z",
                            "start": "2026-04-13T15:55:42.715088Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "7f8/oss/7f85cd87f76140cf97eb7649f6742399"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:42.781086Z",
                            "start": "2026-04-13T15:55:42.748058Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.16\nJob: atmosphere-molecule-aio-openvswitch\nPipeline: check\nExecutor: 0a8996d2b663\nTriggered by: https://github.com/vexxhost/atmosphere/pull/3818\nEvent ID: 1e8c0ed0-3751-11f1-932f-a98e648804e1\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:42.832314Z",
                            "start": "2026-04-13T15:55:42.788276Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000009",
                        "name": "Print job information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": false,
                                    "failed": false,
                                    "msg": "# Node Information\nInventory Hostname: instance\nHostname: np0000165527\nUsername: zuul\nDistro: Ubuntu 22.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-jammy-16\nProduct Name: OpenStack Nova\nInterface IP: 199.204.45.69\n",
                                    "zj_item": "instance"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:42.937093Z",
                            "start": "2026-04-13T15:55:42.837133Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/zuul-info",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:43.431102Z",
                            "start": "2026-04-13T15:55:42.947413Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "e06c0e5b60043c44a7b16bafe07f5c0b95b356cd",
                            "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "e06c0e5b60043c44a7b16bafe07f5c0b95b356cd",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/zuul-info",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/.ansible/tmp/ansible-tmp-1776095743.464564-84-193353129725209/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8f6b2320c7921fda78dd9702f8b8883f",
                            "mode": "0644",
                            "owner": "root",
                            "size": 40137,
                            "src": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/.ansible/tmp/ansible-tmp-1776095743.464564-84-193353129725209/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:44.284191Z",
                            "start": "2026-04-13T15:55:43.436207Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T15:55:51.609654Z",
                    "start": "2026-04-13T15:55:44.294748Z"
                },
                "id": "0242ac17-0011-2daa-be16-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "stat",
                            "changed": false,
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:44.530586Z",
                            "start": "2026-04-13T15:55:44.303111Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:44.572926Z",
                            "start": "2026-04-13T15:55:44.539146Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.741668",
                            "end": "2026-04-13 15:55:45.683375",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-2daa-be16-00000000009c-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 15:55:44.941707",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa.pub\nThe key fingerprint is:\nSHA256:IMyEX4GxINZv4IZkLIChQPeGfGO+ypSXygbmnCt4TcQ zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|X+oooo..         |\n|*=+B+..          |\n|= o=BB.          |\n| . oE+..         |\n|  ....  S        |\n| o  o o          |\n|= o= +           |\n|o+=.=            |\n|.oo=             |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:IMyEX4GxINZv4IZkLIChQPeGfGO+ypSXygbmnCt4TcQ zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|X+oooo..         |",
                                "|*=+B+..          |",
                                "|= o=BB.          |",
                                "| . oE+..         |",
                                "|  ....  S        |",
                                "| o  o o          |",
                                "|= o= +           |",
                                "|o+=.=            |",
                                "|.oo=             |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0011-2daa-be16-00000000009c-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:45.816197Z",
                            "start": "2026-04-13T15:55:44.592225Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:45.868375Z",
                            "start": "2026-04-13T15:55:45.821420Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:45.910500Z",
                            "start": "2026-04-13T15:55:45.885367Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2M7qIiJfLPxyqUKuVlxNGHvCbDokK18bK7xdHUpaOUegIIinPkhq88HAsKKMFIWu5ImqbrnB/HhBSnt79t8QPvZG8g8zm8XMhFuWkmwaynTvqdwLoIxZfPf5XN7KSj1TWVBiLztJ4iK7aJ/Pi51uQ9rtTOTe+NH/W5FcmwnktlSlejp2k+tY5Oo9L7JUIsRInotzWJZJ3HqzfVAQd3eoCUFeZxXqrPUtbCpOkVvnPqXLLAtaTjG49MOHzY5+hSKYTryP89eYLeMuwD8sLW19L0t5i3wWl6MxKbB7BcjPgH8Pyi1awx5JAkoPa3x7ojnePf3dKRJB5qKLMa5h1/fjjJGiFHJwNxAszeDzp6M18rnq8gd/7MJmAQQI+IOe2+LsMH9fWAazImZXt1Uy1reaIUNUr7sTrJeRndOeKKcr/+8YZhDMvKRinDYkdf/eyUBePl6O5JwTZQS/83wepr5c6bBTCu7NONpdcRbsKwRuf42DgQ0IuyLN4ERguMXJh6l8= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2M7qIiJfLPxyqUKuVlxNGHvCbDokK18bK7xdHUpaOUegIIinPkhq88HAsKKMFIWu5ImqbrnB/HhBSnt79t8QPvZG8g8zm8XMhFuWkmwaynTvqdwLoIxZfPf5XN7KSj1TWVBiLztJ4iK7aJ/Pi51uQ9rtTOTe+NH/W5FcmwnktlSlejp2k+tY5Oo9L7JUIsRInotzWJZJ3HqzfVAQd3eoCUFeZxXqrPUtbCpOkVvnPqXLLAtaTjG49MOHzY5+hSKYTryP89eYLeMuwD8sLW19L0t5i3wWl6MxKbB7BcjPgH8Pyi1awx5JAkoPa3x7ojnePf3dKRJB5qKLMa5h1/fjjJGiFHJwNxAszeDzp6M18rnq8gd/7MJmAQQI+IOe2+LsMH9fWAazImZXt1Uy1reaIUNUr7sTrJeRndOeKKcr/+8YZhDMvKRinDYkdf/eyUBePl6O5JwTZQS/83wepr5c6bBTCu7NONpdcRbsKwRuf42DgQ0IuyLN4ERguMXJh6l8= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:46.339450Z",
                            "start": "2026-04-13T15:55:45.919888Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:46.520404Z",
                            "start": "2026-04-13T15:55:46.345621Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "ffa7af19f36335381cdcef3cb371e28917a79618",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "7f85cd87f76140cf97eb7649f6742399_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "ffa7af19f36335381cdcef3cb371e28917a79618",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 384,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095746.5740583-190-15823280921267/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "719d7a988048df4d24f8226ea6a96979",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095746.5740583-190-15823280921267/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:47.010800Z",
                            "start": "2026-04-13T15:55:46.532823Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "697876d3ef473393bb6f645401827ae8daa7325e",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "7f85cd87f76140cf97eb7649f6742399_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "697876d3ef473393bb6f645401827ae8daa7325e",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa.pub",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095747.0495572-200-90133379881182/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "d55ec8ae703c2c5b2436aa8eee2db7d4",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095747.0495572-200-90133379881182/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:47.480269Z",
                            "start": "2026-04-13T15:55:47.015345Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:47.512843Z",
                            "start": "2026-04-13T15:55:47.488404Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:47.928490Z",
                            "start": "2026-04-13T15:55:47.524737Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa"
                            ],
                            "delta": "0:00:00.013200",
                            "end": "2026-04-13 15:55:48.220933",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-2daa-be16-0000000000ab-0-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 15:55:48.207733",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/7f85cd87f76140cf97eb7649f6742399_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0011-2daa-be16-0000000000ab-0-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:48.270840Z",
                            "start": "2026-04-13T15:55:47.975463Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:48.622587Z",
                            "start": "2026-04-13T15:55:48.284372Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:48.655998Z",
                            "start": "2026-04-13T15:55:48.630658Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:48.966421Z",
                            "start": "2026-04-13T15:55:48.676566Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:50.572653Z",
                            "start": "2026-04-13T15:55:48.978749Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:51.091261Z",
                            "start": "2026-04-13T15:55:50.582833Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-2daa-be16-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:51.609654Z",
                            "start": "2026-04-13T15:55:51.101814Z"
                        },
                        "id": "0242ac17-0011-2daa-be16-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T15:55:55.792109Z",
                    "start": "2026-04-13T15:55:52.745952Z"
                },
                "id": "0242ac17-0011-71b8-209c-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.unarchive",
                            "changed": true,
                            "dest": "/usr/local/bin",
                            "extract_results": {
                                "cmd": [
                                    "/usr/bin/tar",
                                    "--extract",
                                    "-C",
                                    "/usr/local/bin",
                                    "-z",
                                    "--show-transformed-names",
                                    "--strip-components=1",
                                    "-f",
                                    "/home/zuul/.ansible/tmp/ansible-tmp-1776095752.8115332-5-177008136793179/uv-x86_64-unknown-linux-gnu9fcomo2q.tar.gz"
                                ],
                                "err": "",
                                "out": "",
                                "rc": 0
                            },
                            "gid": 0,
                            "group": "root",
                            "handler": "TgzArchive",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "copy": true,
                                    "creates": "/usr/local/bin/uv",
                                    "decrypt": true,
                                    "dest": "/usr/local/bin",
                                    "exclude": [],
                                    "extra_opts": [
                                        "--strip-components=1"
                                    ],
                                    "group": null,
                                    "include": [],
                                    "io_buffer_size": 65536,
                                    "keep_newer": false,
                                    "list_files": false,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": true,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "https://github.com/astral-sh/uv/releases/download/0.8.13/uv-x86_64-unknown-linux-gnu.tar.gz",
                                    "unsafe_writes": false,
                                    "validate_certs": true
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "size": 4096,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095752.8115332-5-177008136793179/uv-x86_64-unknown-linux-gnu9fcomo2q.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-71b8-209c-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:55.247299Z",
                            "start": "2026-04-13T15:55:52.769505Z"
                        },
                        "id": "0242ac17-0011-71b8-209c-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.018694",
                            "end": "2026-04-13 15:55:55.167998",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-71b8-209c-000000000008-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 15:55:55.149304",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0011-71b8-209c-000000000008-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-71b8-209c-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:55:55.792109Z",
                            "start": "2026-04-13T15:55:55.274250Z"
                        },
                        "id": "0242ac17-0011-71b8-209c-000000000008",
                        "name": "Print version"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T15:56:13.182264Z",
                    "start": "2026-04-13T15:55:56.604290Z"
                },
                "id": "0242ac17-0011-5c20-5470-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1776095768,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.\nNeed to get 357 kB of archives.\nAfter this operation, 1087 kB of additional disk space will be used.\nGet:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]\nGet:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]\nGet:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]\nFetched 357 kB in 1s (414 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 30906 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.7.1-2build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...\r\nUnpacking jq (1.6-2.1ubuntu3.1) ...\r\nSetting up libonig5:amd64 (6.9.7.1-2build1) ...\r\nSetting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...\r\nSetting up jq (1.6-2.1ubuntu3.1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.13) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.",
                                "Need to get 357 kB of archives.",
                                "After this operation, 1087 kB of additional disk space will be used.",
                                "Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libonig5 amd64 6.9.7.1-2build1 [172 kB]",
                                "Get:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]",
                                "Get:3 http://nova.clouds.archive.ubuntu.com/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]",
                                "Fetched 357 kB in 1s (414 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 30906 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.7.1-2build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...",
                                "Unpacking jq (1.6-2.1ubuntu3.1) ...",
                                "Setting up libonig5:amd64 (6.9.7.1-2build1) ...",
                                "Setting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...",
                                "Setting up jq (1.6-2.1ubuntu3.1) ...",
                                "Processing triggers for libc-bin (2.35-0ubuntu3.13) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:13.182264Z",
                            "start": "2026-04-13T15:55:56.615550Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-000000000004",
                        "name": "Install \"jq\" for log collection"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T15:56:22.194299Z",
                    "start": "2026-04-13T15:56:13.186551Z"
                },
                "id": "0242ac17-0011-5c20-5470-000000000005",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "command",
                            "changed": false,
                            "cmd": "go version",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "go version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-5c20-5470-00000000000a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "[Errno 2] No such file or directory: b'go'",
                            "rc": 2,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": []
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5c20-5470-000000000008",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:13.738570Z",
                            "start": "2026-04-13T15:56:13.219002Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-00000000000a",
                        "name": "Check installed go version"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "install-go.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5c20-5470-000000000008",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:13.806997Z",
                            "start": "2026-04-13T15:56:13.744108Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-00000000000b",
                        "name": "Skip if correct version of go is installed"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "tempfile",
                            "changed": true,
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "path": null,
                                    "prefix": "ansible.",
                                    "state": "directory",
                                    "suffix": ""
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/tmp/ansible.j28q1nux",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5c20-5470-000000000008",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:14.137438Z",
                            "start": "2026-04-13T15:56:13.821017Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-000000000032",
                        "name": "Create temp directory"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "accept_ranges": "bytes",
                            "action": "uri",
                            "age": "0",
                            "alt_svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
                            "cache_control": "no-transform,public,max-age=86400",
                            "changed": false,
                            "connection": "close",
                            "content": "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717",
                            "content_disposition": "attachment",
                            "content_length": "64",
                            "content_security_policy": "default-src 'none'",
                            "content_type": "text/plain; charset=utf-8",
                            "cookies": {},
                            "cookies_string": "",
                            "date": "Mon, 13 Apr 2026 15:56:14 GMT",
                            "elapsed": 0,
                            "etag": "\"45f04c8\"",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "body": null,
                                    "body_format": "raw",
                                    "ca_path": null,
                                    "ciphers": null,
                                    "client_cert": null,
                                    "client_key": null,
                                    "creates": null,
                                    "decompress": true,
                                    "dest": null,
                                    "follow_redirects": "safe",
                                    "force": false,
                                    "force_basic_auth": false,
                                    "group": null,
                                    "headers": {},
                                    "http_agent": "ansible-httpget",
                                    "method": "GET",
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": false,
                                    "removes": null,
                                    "return_content": true,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "status_code": [
                                        200
                                    ],
                                    "timeout": 30,
                                    "unix_socket": null,
                                    "unredirected_headers": [],
                                    "unsafe_writes": false,
                                    "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz.sha256",
                                    "url_password": null,
                                    "url_username": null,
                                    "use_gssapi": false,
                                    "use_netrc": true,
                                    "use_proxy": true,
                                    "validate_certs": true
                                }
                            },
                            "last_modified": "Thu, 05 Jun 2025 18:37:01 GMT",
                            "msg": "OK (64 bytes)",
                            "redirected": false,
                            "server": "downloads",
                            "status": 200,
                            "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz.sha256",
                            "vary": "Accept-Encoding",
                            "x_content_type_options": "nosniff",
                            "x_frame_options": "SAMEORIGIN",
                            "x_identity_content_length": "64",
                            "x_xss_protection": "0"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5c20-5470-000000000008",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:14.796894Z",
                            "start": "2026-04-13T15:56:14.144605Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-000000000033",
                        "name": "Get archive checksum"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "get_url",
                            "changed": true,
                            "checksum_dest": null,
                            "checksum_src": "2c5e1671fad559a306e25abdb9a94e7cd086257f",
                            "dest": "/tmp/ansible.j28q1nux/go1.24.4.linux-amd64.tar.gz",
                            "elapsed": 0,
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "sha256:77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717",
                                    "ciphers": null,
                                    "client_cert": null,
                                    "client_key": null,
                                    "decompress": true,
                                    "dest": "/tmp/ansible.j28q1nux/go1.24.4.linux-amd64.tar.gz",
                                    "force": false,
                                    "force_basic_auth": false,
                                    "group": null,
                                    "headers": null,
                                    "http_agent": "ansible-httpget",
                                    "mode": null,
                                    "owner": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "timeout": 10,
                                    "tmp_dest": null,
                                    "unredirected_headers": [],
                                    "unsafe_writes": false,
                                    "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz",
                                    "url_password": null,
                                    "url_username": null,
                                    "use_gssapi": false,
                                    "use_netrc": true,
                                    "use_proxy": true,
                                    "validate_certs": true
                                }
                            },
                            "md5sum": "90a6481a5ac733d86d3fc0f96bde3cf7",
                            "mode": "0664",
                            "msg": "OK (78559214 bytes)",
                            "owner": "zuul",
                            "size": 78559214,
                            "src": "/home/zuul/.ansible/tmp/ansible-moduletmp-1776095775.2080603-jta2fhsd/tmppf0qjk1l",
                            "state": "file",
                            "status_code": 200,
                            "uid": 1000,
                            "url": "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5c20-5470-000000000008",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:16.315069Z",
                            "start": "2026-04-13T15:56:14.805643Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-000000000034",
                        "name": "Download go archive"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "unarchive",
                            "changed": true,
                            "dest": "/usr/local",
                            "extract_results": {
                                "cmd": [
                                    "/usr/bin/tar",
                                    "--extract",
                                    "-C",
                                    "/usr/local",
                                    "-z",
                                    "-f",
                                    "/tmp/ansible.j28q1nux/go1.24.4.linux-amd64.tar.gz"
                                ],
                                "err": "",
                                "out": "",
                                "rc": 0
                            },
                            "gid": 0,
                            "group": "root",
                            "handler": "TgzArchive",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "copy": true,
                                    "creates": null,
                                    "decrypt": true,
                                    "dest": "/usr/local",
                                    "exclude": [],
                                    "extra_opts": [],
                                    "group": null,
                                    "include": [],
                                    "io_buffer_size": 65536,
                                    "keep_newer": false,
                                    "list_files": false,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": true,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/tmp/ansible.j28q1nux/go1.24.4.linux-amd64.tar.gz",
                                    "unsafe_writes": false,
                                    "validate_certs": true
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "size": 4096,
                            "src": "/tmp/ansible.j28q1nux/go1.24.4.linux-amd64.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-5c20-5470-000000000008",
                        "name": "ensure-go",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/ensure-go"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:22.194299Z",
                            "start": "2026-04-13T15:56:16.320412Z"
                        },
                        "id": "0242ac17-0011-5c20-5470-000000000035",
                        "name": "Install go"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 7,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T16:04:37.389411Z",
                    "start": "2026-04-13T15:56:22.930678Z"
                },
                "id": "0242ac17-0011-cee4-9ae4-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "e06c0e5b60043c44a7b16bafe07f5c0b95b356cd",
                            "dest": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "e06c0e5b60043c44a7b16bafe07f5c0b95b356cd",
                                    "content": null,
                                    "dest": "src/github.com/vexxhost/atmosphere",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095782.982731-5-210166626339541/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8f6b2320c7921fda78dd9702f8b8883f",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 40137,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1776095782.982731-5-210166626339541/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:23.818150Z",
                            "start": "2026-04-13T15:56:22.943133Z"
                        },
                        "id": "0242ac17-0011-cee4-9ae4-000000000004",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "after": null,
                                    "attributes": null,
                                    "backup": false,
                                    "before": null,
                                    "encoding": "utf-8",
                                    "group": null,
                                    "mode": null,
                                    "owner": null,
                                    "path": "src/github.com/vexxhost/atmosphere/inventory.yaml",
                                    "regexp": "(^\\s*ansible_host:\\s*).*$",
                                    "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "msg": "1 replacements made",
                            "rc": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T15:56:24.141765Z",
                            "start": "2026-04-13T15:56:23.824468Z"
                        },
                        "id": "0242ac17-0011-cee4-9ae4-000000000005",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "aio"
                            ],
                            "delta": "0:08:12.568108",
                            "end": "2026-04-13 16:04:37.047516",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s aio",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-cee4-9ae4-000000000006-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 2,
                            "start": "2026-04-13 15:56:24.479408",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Using CPython 3.10.12 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\n   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nDownloading netaddr (2.2MiB)\nDownloading openstacksdk (1.7MiB)\nDownloading kubernetes (1.9MiB)\nDownloading ansible-core (2.1MiB)\nDownloading cryptography (4.2MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading setuptools (1.1MiB)\nDownloading rjsonnet (1.2MiB)\nDownloading pygments (1.2MiB)\n   Building pyperclip==1.9.0\n Downloading rjsonnet\n Downloading pydantic-core\n Downloading netaddr\n Downloading pygments\n Downloading cryptography\n Downloading setuptools\n Downloading kubernetes\n Downloading ansible-core\n Downloading openstacksdk\n      Built pyperclip==1.9.0\n      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere\nInstalled 83 packages in 52ms\nWARNING  Molecule scenarios should migrate to 'extensions/molecule'\nINFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [aio > prerun] Performing prerun with role_name_check=0...\nINFO     [aio > dependency] Executing\nWARNING  [aio > dependency] Missing roles requirements file: requirements.yml\nWARNING  [aio > dependency] Missing collections requirements file: collections.yml\nWARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [aio > cleanup] Executing\nWARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > destroy] Executing\nWARNING  [aio > destroy] Skipping, '--destroy=never' requested.\nINFO     [aio > destroy] Executed: Successful\nINFO     [aio > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nINFO     [aio > syntax] Executed: Successful\nINFO     [aio > create] Executing\nWARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [aio > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 13 April 2026  15:57:10 +0000 (0:00:00.025)       0:00:00.025 **********\n[WARNING]: Platform linux on host instance is using the discovered Python\ninterpreter at /usr/bin/python3.10, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.17/reference_appendices/interpreter_discovery.html for more information.\nok: [instance]\n\nTASK [Configure short hostname] ************************************************\nMonday 13 April 2026  15:57:11 +0000 (0:00:01.151)       0:00:01.177 **********\nchanged: [instance]\n\nTASK [Ensure hostname inside hosts file] ***************************************\nMonday 13 April 2026  15:57:12 +0000 (0:00:00.652)       0:00:01.830 **********\n[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created\nwith a mode of 0700, this may cause issues when running as another user. To\navoid this, create the remote_tmp dir with the correct permissions manually\nchanged: [instance]\n\nTASK [Install \"dirmngr\" for GPG keyserver operations] **************************\nMonday 13 April 2026  15:57:12 +0000 (0:00:00.292)       0:00:02.123 **********\nok: [instance]\n\nTASK [Purge \"snapd\" package] ***************************************************\nMonday 13 April 2026  15:57:13 +0000 (0:00:01.317)       0:00:03.440 **********\nok: [instance]\n\nPLAY [Generate workspace for Atmosphere] ***************************************\n\nTASK [Create folders for workspace] ********************************************\nMonday 13 April 2026  15:57:14 +0000 (0:00:00.689)       0:00:04.129 **********\nchanged: [localhost] => (item=group_vars)\nchanged: [localhost] => (item=group_vars/all)\nchanged: [localhost] => (item=group_vars/controllers)\nchanged: [localhost] => (item=group_vars/cephs)\nchanged: [localhost] => (item=group_vars/computes)\nchanged: [localhost] => (item=host_vars)\n\nPLAY [Generate Ceph control plane configuration for workspace] *****************\n\nTASK [Ensure the Ceph control plane configuration file exists] *****************\nMonday 13 April 2026  15:57:15 +0000 (0:00:01.032)       0:00:05.161 **********\nchanged: [localhost]\n\nTASK [Load the current Ceph control plane configuration into a variable] *******\nMonday 13 April 2026  15:57:15 +0000 (0:00:00.189)       0:00:05.351 **********\nok: [localhost]\n\nTASK [Generate Ceph control plane values for missing variables] ****************\nMonday 13 April 2026  15:57:15 +0000 (0:00:00.029)       0:00:05.380 **********\nok: [localhost] => (item={'key': 'ceph_fsid', 'value': 'bc643195-bb4b-5f45-a1ad-5f0b032aea26'})\nok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})\n\nTASK [Write new Ceph control plane configuration file to disk] *****************\nMonday 13 April 2026  15:57:15 +0000 (0:00:00.047)       0:00:05.428 **********\nchanged: [localhost]\n\nPLAY [Generate Ceph OSD configuration for workspace] ***************************\n\nTASK [Ensure the Ceph OSDs configuration file exists] **************************\nMonday 13 April 2026  15:57:16 +0000 (0:00:00.563)       0:00:05.991 **********\nchanged: [localhost]\n\nTASK [Load the current Ceph OSDs configuration into a variable] ****************\nMonday 13 April 2026  15:57:16 +0000 (0:00:00.175)       0:00:06.167 **********\nok: [localhost]\n\nTASK [Generate Ceph OSDs values for missing variables] *************************\nMonday 13 April 2026  15:57:16 +0000 (0:00:00.028)       0:00:06.196 **********\nok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})\n\nTASK [Write new Ceph OSDs configuration file to disk] **************************\nMonday 13 April 2026  15:57:16 +0000 (0:00:00.032)       0:00:06.228 **********\nchanged: [localhost]\n\nPLAY [Generate Kubernetes configuration for workspace] *************************\n\nTASK [Ensure the Kubernetes configuration file exists] *************************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.366)       0:00:06.595 **********\nchanged: [localhost]\n\nTASK [Load the current Kubernetes configuration into a variable] ***************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.181)       0:00:06.776 **********\nok: [localhost]\n\nTASK [Generate Kubernetes values for missing variables] ************************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.027)       0:00:06.804 **********\nok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})\nok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})\n\nTASK [Write new Kubernetes configuration file to disk] *************************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.041)       0:00:06.845 **********\nchanged: [localhost]\n\nPLAY [Generate Keepalived configuration for workspace] *************************\n\nTASK [Ensure the Keeaplived configuration file exists] *************************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.358)       0:00:07.204 **********\nchanged: [localhost]\n\nTASK [Load the current Keepalived configuration into a variable] ***************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.173)       0:00:07.377 **********\nok: [localhost]\n\nTASK [Generate Keepalived values for missing variables] ************************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.027)       0:00:07.405 **********\nok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})\nok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})\n\nTASK [Write new Keepalived configuration file to disk] *************************\nMonday 13 April 2026  15:57:17 +0000 (0:00:00.036)       0:00:07.441 **********\nchanged: [localhost]\n\nPLAY [Generate endpoints for workspace] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 13 April 2026  15:57:18 +0000 (0:00:00.358)       0:00:07.799 **********\nok: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nMonday 13 April 2026  15:57:18 +0000 (0:00:00.710)       0:00:08.509 **********\nchanged: [localhost]\n\nTASK [Load the current endpoints into a variable] ******************************\nMonday 13 April 2026  15:57:19 +0000 (0:00:00.180)       0:00:08.689 **********\nok: [localhost]\n\nTASK [Generate endpoint skeleton for missing variables] ************************\nMonday 13 April 2026  15:57:19 +0000 (0:00:00.028)       0:00:08.718 **********\nok: [localhost] => (item=keycloak_host)\nok: [localhost] => (item=kube_prometheus_stack_grafana_host)\nok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)\nok: [localhost] => (item=kube_prometheus_stack_prometheus_host)\nok: [localhost] => (item=openstack_helm_endpoints_region_name)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_registry_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_host)\nok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)\n\nTASK [Write new endpoints file to disk] ****************************************\nMonday 13 April 2026  15:57:19 +0000 (0:00:00.793)       0:00:09.512 **********\nchanged: [localhost]\n\nTASK [Ensure the endpoints file exists] ****************************************\nMonday 13 April 2026  15:57:20 +0000 (0:00:00.386)       0:00:09.899 **********\nchanged: [localhost]\n\nPLAY [Generate Neutron configuration for workspace] ****************************\n\nTASK [Ensure the Neutron configuration file exists] ****************************\nMonday 13 April 2026  15:57:20 +0000 (0:00:00.191)       0:00:10.091 **********\nchanged: [localhost]\n\nTASK [Load the current Neutron configuration into a variable] ******************\nMonday 13 April 2026  15:57:20 +0000 (0:00:00.172)       0:00:10.263 **********\nok: [localhost]\n\nTASK [Generate Neutron values for missing variables] ***************************\nMonday 13 April 2026  15:57:20 +0000 (0:00:00.024)       0:00:10.288 **********\nok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})\n\nTASK [Write new Neutron configuration file to disk] ****************************\nMonday 13 April 2026  15:57:20 +0000 (0:00:00.034)       0:00:10.322 **********\nchanged: [localhost]\n\nPLAY [Generate Nova configuration for workspace] *******************************\n\nTASK [Ensure the Nova configuration file exists] *******************************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.361)       0:00:10.683 **********\nchanged: [localhost]\n\nTASK [Load the current Nova configuration into a variable] *********************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.167)       0:00:10.851 **********\nok: [localhost]\n\nTASK [Generate Nova values for missing variables] ******************************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.024)       0:00:10.876 **********\nok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})\n\nTASK [Write new Nova configuration file to disk] *******************************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.034)       0:00:10.910 **********\nchanged: [localhost]\n\nPLAY [Generate secrets for workspace] ******************************************\n\nTASK [Ensure the secrets file exists] ******************************************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.347)       0:00:11.258 **********\nchanged: [localhost]\n\nTASK [Load the current secrets into a variable] ********************************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.173)       0:00:11.431 **********\nok: [localhost]\n\nTASK [Generate secrets for missing variables] **********************************\nMonday 13 April 2026  15:57:21 +0000 (0:00:00.031)       0:00:11.462 **********\nok: [localhost] => (item=heat_auth_encryption_key)\nok: [localhost] => (item=keepalived_password)\nok: [localhost] => (item=keycloak_admin_password)\nok: [localhost] => (item=keycloak_database_password)\nok: [localhost] => (item=keystone_keycloak_client_secret)\nok: [localhost] => (item=keystone_oidc_crypto_passphrase)\nok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)\nok: [localhost] => (item=octavia_heartbeat_key)\nok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)\nok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)\nok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)\nok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)\nok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)\n\nTASK [Generate base64 encoded secrets] *****************************************\nMonday 13 April 2026  15:57:22 +0000 (0:00:00.392)       0:00:11.855 **********\nok: [localhost] => (item=barbican_kek)\n\nTASK [Generate temporary files for generating keys for missing variables] ******\nMonday 13 April 2026  15:57:22 +0000 (0:00:00.048)       0:00:11.903 **********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Generate SSH keys for missing variables] *********************************\nMonday 13 April 2026  15:57:22 +0000 (0:00:00.383)       0:00:12.287 **********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Set values for SSH keys] *************************************************\nMonday 13 April 2026  15:57:26 +0000 (0:00:03.754)       0:00:16.042 **********\nok: [localhost] => (item=manila_ssh_key)\nok: [localhost] => (item=nova_ssh_key)\n\nTASK [Delete the temporary files generated for SSH keys] ***********************\nMonday 13 April 2026  15:57:26 +0000 (0:00:00.057)       0:00:16.099 **********\nchanged: [localhost] => (item=manila_ssh_key)\nchanged: [localhost] => (item=nova_ssh_key)\n\nTASK [Write new secrets file to disk] ******************************************\nMonday 13 April 2026  15:57:26 +0000 (0:00:00.365)       0:00:16.464 **********\nchanged: [localhost]\n\nTASK [Encrypt secrets file with Vault password] ********************************\nMonday 13 April 2026  15:57:27 +0000 (0:00:00.368)       0:00:16.833 **********\nskipping: [localhost]\n\nPLAY [Setup networking] ********************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 13 April 2026  15:57:27 +0000 (0:00:00.037)       0:00:16.871 **********\nok: [instance]\n\nTASK [Create bridge for management network] ************************************\nMonday 13 April 2026  15:57:28 +0000 (0:00:00.702)       0:00:17.574 **********\nok: [instance]\n\nTASK [Create fake interface for management bridge] *****************************\nMonday 13 April 2026  15:57:28 +0000 (0:00:00.350)       0:00:17.924 **********\nok: [instance]\n\nTASK [Assign dummy interface to management bridge] *****************************\nMonday 13 April 2026  15:57:28 +0000 (0:00:00.209)       0:00:18.134 **********\nok: [instance]\n\nTASK [Assign IP address for management bridge] *********************************\nMonday 13 April 2026  15:57:28 +0000 (0:00:00.192)       0:00:18.327 **********\nok: [instance]\n\nTASK [Bring up interfaces] *****************************************************\nMonday 13 April 2026  15:57:28 +0000 (0:00:00.210)       0:00:18.538 **********\nok: [instance] => (item=br-mgmt)\nok: [instance] => (item=dummy0)\n\nPLAY [Create devices for Ceph] *************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 13 April 2026  15:57:29 +0000 (0:00:00.383)       0:00:18.921 **********\nok: [instance]\n\nTASK [Install depedencies] *****************************************************\nMonday 13 April 2026  15:57:30 +0000 (0:00:00.697)       0:00:19.619 **********\nchanged: [instance]\n\nTASK [Start up service] ********************************************************\nMonday 13 April 2026  15:57:50 +0000 (0:00:20.507)       0:00:40.126 **********\nok: [instance]\n\nTASK [Generate lvm.conf] *******************************************************\nMonday 13 April 2026  15:57:51 +0000 (0:00:00.545)       0:00:40.671 **********\nok: [instance]\n\nTASK [Write /etc/lvm/lvm.conf] *************************************************\nMonday 13 April 2026  15:57:51 +0000 (0:00:00.215)       0:00:40.887 **********\nchanged: [instance]\n\nTASK [Get list of all loopback devices] ****************************************\nMonday 13 April 2026  15:57:51 +0000 (0:00:00.449)       0:00:41.336 **********\nok: [instance]\n\nTASK [Fail if there is any existing loopback devices] **************************\nMonday 13 April 2026  15:57:51 +0000 (0:00:00.188)       0:00:41.525 **********\nskipping: [instance]\n\nTASK [Create devices for Ceph] *************************************************\nMonday 13 April 2026  15:57:51 +0000 (0:00:00.024)       0:00:41.549 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Set permissions on loopback devices] *************************************\nMonday 13 April 2026  15:57:52 +0000 (0:00:00.546)       0:00:42.096 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Start loop devices] ******************************************************\nMonday 13 April 2026  15:57:53 +0000 (0:00:00.539)       0:00:42.635 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a volume group for each loop device] ******************************\nMonday 13 April 2026  15:57:53 +0000 (0:00:00.679)       0:00:43.314 **********\nchanged: [instance] => (item=osd0)\nchanged: [instance] => (item=osd1)\nchanged: [instance] => (item=osd2)\n\nTASK [Create a logical volume for each loop device] ****************************\nMonday 13 April 2026  15:57:56 +0000 (0:00:03.025)       0:00:46.339 **********\nchanged: [instance] => (item=ceph-instance-osd0)\nchanged: [instance] => (item=ceph-instance-osd1)\nchanged: [instance] => (item=ceph-instance-osd2)\n\nPLAY [controllers] *************************************************************\n\nTASK [Gathering Facts] *********************************************************\nMonday 13 April 2026  15:57:58 +0000 (0:00:01.920)       0:00:48.260 **********\nok: [instance]\n\nTASK [Set masquerade rule] *****************************************************\nMonday 13 April 2026  15:57:59 +0000 (0:00:00.919)       0:00:49.179 **********\nchanged: [instance]\n\nPLAY RECAP *********************************************************************\ninstance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\nlocalhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0\n\nMonday 13 April 2026  15:58:00 +0000 (0:00:00.463)       0:00:49.643 **********\n===============================================================================\nInstall depedencies ---------------------------------------------------- 20.51s\nGenerate SSH keys for missing variables --------------------------------- 3.75s\nCreate a volume group for each loop device ------------------------------ 3.03s\nCreate a logical volume for each loop device ---------------------------- 1.92s\nInstall \"dirmngr\" for GPG keyserver operations -------------------------- 1.32s\nGathering Facts --------------------------------------------------------- 1.15s\nCreate folders for workspace -------------------------------------------- 1.03s\nGathering Facts --------------------------------------------------------- 0.92s\nGenerate endpoint skeleton for missing variables ------------------------ 0.79s\nGathering Facts --------------------------------------------------------- 0.71s\nGathering Facts --------------------------------------------------------- 0.70s\nGathering Facts --------------------------------------------------------- 0.70s\nPurge \"snapd\" package --------------------------------------------------- 0.69s\nStart loop devices ------------------------------------------------------ 0.68s\nConfigure short hostname ------------------------------------------------ 0.65s\nWrite new Ceph control plane configuration file to disk ----------------- 0.56s\nCreate devices for Ceph ------------------------------------------------- 0.55s\nStart up service -------------------------------------------------------- 0.55s\nSet permissions on loopback devices ------------------------------------- 0.54s\nSet masquerade rule ----------------------------------------------------- 0.46s\nINFO     [aio > prepare] Executed: Successful\nINFO     [aio > converge] Executing\n\nPLAY [localhost] ***************************************************************\n\nTASK [Build atmosphere binary] *************************************************\nMonday 13 April 2026  15:58:00 +0000 (0:00:00.010)       0:00:00.010 **********\nok: [localhost]\n\nTASK [Deploy with parallel orchestrator] ***************************************\nMonday 13 April 2026  15:58:07 +0000 (0:00:06.670)       0:00:06.680 **********\nfatal: [localhost]: FAILED! => {\"changed\": false, \"cmd\": [\"/home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/../../bin/atmosphere\", \"deploy\", \"--inventory\", \"/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml\"], \"delta\": \"0:06:29.112271\", \"end\": \"2026-04-13 16:04:36.857425\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-13 15:58:07.745154\", \"stderr\": \"Error: component kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\\nUsage:\\n  atmosphere deploy [flags]\\n\\nFlags:\\n      --concurrency int    Max concurrent deployments per wave (0 = unlimited)\\n  -h, --help               help for deploy\\n  -i, --inventory string   Path to Ansible inventory file (required)\\n  -t, --tags string        Comma-separated list of component tags to deploy\\n\\ncomponent kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\", \"stderr_lines\": [\"Error: component kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\", \"Usage:\", \"  atmosphere deploy [flags]\", \"\", \"Flags:\", \"      --concurrency int    Max concurrent deployments per wave (0 = unlimited)\", \"  -h, --help               help for deploy\", \"  -i, --inventory string   Path to Ansible inventory file (required)\", \"  -t, --tags string        Comma-separated list of component tags to deploy\", \"\", \"component kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\"], \"stdout\": \"==> Starting parallel deployment\\n==> [ceph] Starting deployment\\n==> [kubernetes] Starting deployment\\n==> [lpfc] Starting deployment\\n==> [udev] Starting deployment\\n==> [iscsi] Starting deployment\\n==> [multipathd] Starting deployment\\n[udev] \\n[udev] PLAY [controllers:computes] ****************************************************\\n[udev] \\n[udev] TASK [Gathering Facts] *********************************************************\\n[udev] Monday 13 April 2026  15:58:08 +0000 (0:00:00.011)       0:00:00.011 ********** \\n[lpfc] \\n[lpfc] PLAY [controllers:computes] ****************************************************\\n[lpfc] \\n[lpfc] TASK [Gathering Facts] *********************************************************\\n[lpfc] Monday 13 April 2026  15:58:08 +0000 (0:00:00.012)       0:00:00.012 ********** \\n[ceph] \\n[ceph] PLAY [all] *********************************************************************\\n[ceph] \\n[ceph] TASK [Gathering Facts] *********************************************************\\n[ceph] Monday 13 April 2026  15:58:08 +0000 (0:00:00.021)       0:00:00.021 ********** \\n[udev] [WARNING]: Platform linux on host instance is using the discovered Python\\n[udev] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[udev] interpreter could change the meaning of that path. See\\n[udev] https://docs.ansible.com/ansible-\\n[udev] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[udev] ok: [instance]\\n[udev] \\n[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray] ***\\n[udev] Monday 13 April 2026  15:58:09 +0000 (0:00:01.150)       0:00:01.162 ********** \\n[lpfc] [WARNING]: Platform linux on host instance is using the discovered Python\\n[lpfc] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[lpfc] interpreter could change the meaning of that path. See\\n[lpfc] https://docs.ansible.com/ansible-\\n[lpfc] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[lpfc] ok: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded] ********\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:01.155)       0:00:01.168 ********** \\n[lpfc] ok: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Install the configuration file] ***************\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.288)       0:00:01.457 ********** \\n[ceph] [WARNING]: Platform linux on host instance is using the discovered Python\\n[ceph] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[ceph] interpreter could change the meaning of that path. See\\n[ceph] https://docs.ansible.com/ansible-\\n[ceph] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Get the values for the module parameters] *****\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.026)       0:00:01.483 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Fail if atmosphere_ceph_enabled is set] **********************************\\n[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:01.179)       0:00:01.201 ********** \\n[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \\n[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \\n[lpfc] skipping: [instance] => (item=lpfc_max_luns) \\n[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly] ***\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.040)       0:00:01.524 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\\n[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.039)       0:00:01.240 ********** \\n[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \\n[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \\n[lpfc] skipping: [instance] => (item=lpfc_max_luns) \\n[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed] ***\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.034)       0:00:01.559 ********** \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [Reboot the system if the configuration file has changed] *****************\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.023)       0:00:01.582 ********** \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] PLAY RECAP *********************************************************************\\n[lpfc] instance                   : ok=2    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0   \\n[lpfc] \\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.029)       0:00:01.612 ********** \\n[lpfc] =============================================================================== \\n[lpfc] Gathering Facts --------------------------------------------------------- 1.16s\\n[lpfc] vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded -------- 0.29s\\n[lpfc] vexxhost.atmosphere.lpfc : Get the values for the module parameters ----- 0.04s\\n[lpfc] vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly --- 0.03s\\n[lpfc] Reboot the system if the configuration file has changed ----------------- 0.03s\\n[lpfc] vexxhost.atmosphere.lpfc : Install the configuration file --------------- 0.03s\\n[lpfc] vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed --- 0.02s\\n==> [lpfc] Deployment complete\\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] PLAY [Deploy Ceph monitors & managers] *****************************************\\n[ceph] \\n[ceph] TASK [Gathering Facts] *********************************************************\\n[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.192)       0:00:01.433 ********** \\n[udev] changed: [instance]\\n[udev] \\n[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention] *******\\n[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.656)       0:00:01.818 ********** \\n[udev] changed: [instance]\\n[udev] \\n[udev] RUNNING HANDLER [vexxhost.atmosphere.udev : Reload udev] ***********************\\n[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.498)       0:00:02.316 ********** \\n[udev] ok: [instance]\\n[udev] \\n[udev] PLAY RECAP *********************************************************************\\n[udev] instance                   : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \\n[udev] \\n[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.280)       0:00:02.597 ********** \\n[udev] =============================================================================== \\n[udev] Gathering Facts --------------------------------------------------------- 1.15s\\n[udev] vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray --- 0.66s\\n[udev] vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention ------- 0.50s\\n[udev] vexxhost.atmosphere.udev : Reload udev ---------------------------------- 0.28s\\n==> [udev] Deployment complete\\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  15:58:10 +0000 (0:00:00.932)       0:00:02.366 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.306)       0:00:02.672 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.037)       0:00:02.709 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.320)       0:00:03.030 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.067)       0:00:03.097 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.722)       0:00:03.819 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.049)       0:00:03.869 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.048)       0:00:03.917 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.220)       0:00:04.138 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:01.109)       0:00:05.248 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:00.065)       0:00:05.313 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  15:58:14 +0000 (0:00:00.715)       0:00:06.029 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:02.832)       0:00:08.861 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.034)       0:00:08.896 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.032)       0:00:08.928 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.031)       0:00:08.960 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[ceph] Monday 13 April 2026  15:58:25 +0000 (0:00:08.266)       0:00:17.227 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[ceph] Monday 13 April 2026  15:58:26 +0000 (0:00:00.555)       0:00:17.782 ********** \\n[ceph] changed: [instance] => (item={'path': '/etc/containerd'})\\n[ceph] changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[ceph] changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.918)       0:00:18.701 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.524)       0:00:19.225 ********** \\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\\n[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.008)       0:00:19.234 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\\n[ceph] Monday 13 April 2026  15:58:28 +0000 (0:00:00.920)       0:00:20.155 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.429)       0:00:20.584 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.513)       0:00:21.098 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.201)       0:00:21.299 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.054)       0:00:21.354 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  15:58:30 +0000 (0:00:00.832)       0:00:22.187 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\\n[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:04.275)       0:00:26.462 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\\n[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:00.963)       0:00:27.426 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\\n[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.334)       0:00:27.761 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\\n[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.469)       0:00:28.230 ********** \\n[ceph] changed: [instance] => (item={'path': '/etc/docker'})\\n[ceph] changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\\n[ceph] changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\\n[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.553)       0:00:28.784 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\\n[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.428)       0:00:29.213 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\\n[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.436)       0:00:29.650 ********** \\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\\n[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.011)       0:00:29.661 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\\n[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.687)       0:00:30.349 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\\n[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:01.135)       0:00:31.484 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\\n[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.600)       0:00:32.085 ********** \\n[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\\n[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.054)       0:00:32.139 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\\n[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:04.649)       0:00:36.788 ********** \\n[ceph] ok: [instance] => (item=chronyd)\\n[ceph] ok: [instance] => (item=sshd)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\\n[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:00.638)       0:00:37.427 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\\n[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.279)       0:00:37.706 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\\n[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.201)       0:00:37.908 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\\n[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.502)       0:00:38.410 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\\n[ceph] Monday 13 April 2026  15:58:47 +0000 (0:00:00.331)       0:00:38.742 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\\n[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:01.603)       0:00:40.345 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\\n[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.058)       0:00:40.403 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\\n[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.038)       0:00:40.442 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.477 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Enable \\\"cephadm\\\" mgr module] *************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.037)       0:00:40.514 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Set orchestrator backend to \\\"cephadm\\\"] ***************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.039)       0:00:40.554 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.590 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Generate \\\"cephadm\\\" key] ******************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.038)       0:00:40.629 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.664 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.120)       0:00:40.785 ********** \\n[ceph] ok: [instance] => (item=instance)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.230)       0:00:41.015 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.048)       0:00:41.064 ********** \\n[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Generate temporary file for \\\"ceph.conf\\\"] *************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.062)       0:00:41.126 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Include extra configuration values] ******************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.265)       0:00:41.392 ********** \\n[ceph] changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\\n[ceph] changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\\n[ceph] changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\\n[ceph] Monday 13 April 2026  15:58:50 +0000 (0:00:00.662)       0:00:42.055 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Remove temporary file for \\\"ceph.conf\\\"] ***************\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:02:06.721)       0:02:48.776 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.202)       0:02:48.979 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Install Ceph host] *******************************************************\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.046)       0:02:49.026 ********** \\n[ceph] included: vexxhost.ceph.cephadm_host for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.077)       0:02:49.104 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\\n[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:01.540)       0:02:50.645 ********** \\n[ceph] ok: [instance] => (item=instance)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\\n[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.059)       0:02:50.704 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\\n[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.336)       0:02:51.040 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors] ******************\\n[ceph] Monday 13 April 2026  16:01:01 +0000 (0:00:01.897)       0:02:52.938 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\\n[ceph] Monday 13 April 2026  16:01:03 +0000 (0:00:01.682)       0:02:54.621 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Install Ceph host] *******************************************************\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:11.199)       0:03:05.820 ********** \\n[ceph] included: vexxhost.ceph.cephadm_host for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.075)       0:03:05.896 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.044)       0:03:05.940 ********** \\n[ceph] skipping: [instance] => (item=instance) \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.045)       0:03:05.986 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.270)       0:03:06.256 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers] ******************\\n[ceph] Monday 13 April 2026  16:01:16 +0000 (0:00:01.966)       0:03:08.222 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\\n[ceph] Monday 13 April 2026  16:01:18 +0000 (0:00:01.628)       0:03:09.851 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\\n[ceph] Monday 13 April 2026  16:01:19 +0000 (0:00:01.551)       0:03:11.402 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] PLAY [Deploy Ceph OSDs] ********************************************************\\n[ceph] \\n[ceph] TASK [Gathering Facts] *********************************************************\\n[ceph] Monday 13 April 2026  16:01:22 +0000 (0:00:02.542)       0:03:13.944 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.932)       0:03:14.876 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.215)       0:03:15.092 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.039)       0:03:15.132 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.214)       0:03:15.346 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.065)       0:03:15.411 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.316)       0:03:15.727 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.052)       0:03:15.780 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.048)       0:03:15.828 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.210)       0:03:16.038 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:01.056)       0:03:17.095 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:00.071)       0:03:17.166 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  16:01:26 +0000 (0:00:00.332)       0:03:17.499 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:01.969)       0:03:19.468 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.028)       0:03:19.497 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.029)       0:03:19.527 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.030)       0:03:19.558 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.989)       0:03:20.547 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.414)       0:03:20.962 ********** \\n[ceph] ok: [instance] => (item={'path': '/etc/containerd'})\\n[ceph] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[ceph] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.899)       0:03:21.861 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.467)       0:03:22.329 ********** \\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.006)       0:03:22.336 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.346)       0:03:22.682 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.202)       0:03:22.884 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.048)       0:03:22.933 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.326)       0:03:23.259 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\\n[ceph] Monday 13 April 2026  16:01:34 +0000 (0:00:03.049)       0:03:26.309 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\\n[ceph] Monday 13 April 2026  16:01:35 +0000 (0:00:01.035)       0:03:27.344 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\\n[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.200)       0:03:27.544 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\\n[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.413)       0:03:27.958 ********** \\n[ceph] ok: [instance] => (item={'path': '/etc/docker'})\\n[ceph] ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\\n[ceph] ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.528)       0:03:28.487 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.413)       0:03:28.900 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.409)       0:03:29.309 ********** \\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.007)       0:03:29.316 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\\n[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.364)       0:03:29.680 ********** \\n[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\\n[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.050)       0:03:29.731 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\\n[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.988)       0:03:30.719 ********** \\n[ceph] ok: [instance] => (item=chronyd)\\n[ceph] ok: [instance] => (item=sshd)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\\n[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.644)       0:03:31.363 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:01.283)       0:03:32.647 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.199)       0:03:32.846 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.241)       0:03:33.088 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get monitor status] **********************************\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.212)       0:03:33.300 ********** \\n[ceph] ok: [instance] => (item=instance)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Select admin host] ***********************************\\n[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.218)       0:03:33.519 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\\n[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.047)       0:03:33.566 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\\n[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:04.678)       0:03:38.245 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Install Ceph host] *******************************************************\\n[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.043)       0:03:38.288 ********** \\n[ceph] included: vexxhost.ceph.cephadm_host for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\\n[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.066)       0:03:38.355 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\\n[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.102)       0:03:38.457 ********** \\n[ceph] skipping: [instance] => (item=instance) \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\\n[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.043)       0:03:38.501 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\\n[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.239)       0:03:38.741 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\\n[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:01.996)       0:03:40.737 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\\n[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.028)       0:03:40.766 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\\n[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.031)       0:03:40.797 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\\n[ceph] Monday 13 April 2026  16:01:54 +0000 (0:00:05.276)       0:03:46.074 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Install OSDs] ****************************************\\n[ceph] Monday 13 April 2026  16:02:05 +0000 (0:00:10.413)       0:03:56.487 ********** \\n[ceph] ok: [instance] => (item=/dev/ceph-instance-osd0/data)\\n[ceph] ok: [instance] => (item=/dev/ceph-instance-osd1/data)\\n[ceph] ok: [instance] => (item=/dev/ceph-instance-osd2/data)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get mon dump] ****************************************\\n[ceph] Monday 13 April 2026  16:03:32 +0000 (0:01:27.847)       0:05:24.335 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Mark require osd release] ****************************\\n[ceph] Monday 13 April 2026  16:03:34 +0000 (0:00:01.668)       0:05:26.004 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\\n[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:01.631)       0:05:27.636 ********** \\n[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Set the retry count] *********************************\\n[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.066)       0:05:27.702 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\\n[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.046)       0:05:27.748 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : OSD daemon list] *************************************\\n[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:01.600)       0:05:29.348 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\\n[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:00.048)       0:05:29.396 ********** \\n[ceph] skipping: [instance] => (item=1) \\n[ceph] skipping: [instance] => (item=1) \\n[ceph] skipping: [instance] => (item=1) \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\\n[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.050)       0:05:29.447 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] PLAY [all] *********************************************************************\\n[ceph] \\n[ceph] TASK [Ensure RBD kernel module is loaded] **************************************\\n[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.051)       0:05:29.499 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] PLAY RECAP *********************************************************************\\n[ceph] instance                   : ok=113  changed=27   unreachable=0    failed=0    skipped=28   rescued=0    ignored=0   \\n[ceph] \\n[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.303)       0:05:29.803 ********** \\n[ceph] =============================================================================== \\n[ceph] vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 126.72s\\n[ceph] vexxhost.ceph.osd : Install OSDs --------------------------------------- 87.85s\\n[ceph] vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.20s\\n[ceph] vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.41s\\n[ceph] vexxhost.containers.containerd : Install AppArmor packages -------------- 8.27s\\n[ceph] vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s\\n[ceph] vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 4.68s\\n[ceph] vexxhost.ceph.cephadm : Install packages -------------------------------- 4.65s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 4.28s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 3.05s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 2.83s\\n[ceph] vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.54s\\n[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.00s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 1.97s\\n[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.97s\\n[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.90s\\n[ceph] vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors ------------------ 1.68s\\n[ceph] vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.67s\\n[ceph] vexxhost.ceph.osd : Mark require osd release ---------------------------- 1.63s\\n[ceph] vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers ------------------ 1.63s\\n==> [ceph] Deployment complete\\n[kubernetes] \\n[kubernetes] PLAY [all] *********************************************************************\\n[kubernetes] \\n[kubernetes] TASK [Gathering Facts] *********************************************************\\n[kubernetes] Monday 13 April 2026  16:03:39 +0000 (0:00:00.018)       0:00:00.018 ********** \\n[kubernetes] [WARNING]: Platform linux on host instance is using the discovered Python\\n[kubernetes] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[kubernetes] interpreter could change the meaning of that path. See\\n[kubernetes] https://docs.ansible.com/ansible-\\n[kubernetes] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\\n[kubernetes] Monday 13 April 2026  16:03:40 +0000 (0:00:01.336)       0:00:01.354 ********** \\n[kubernetes] changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\\n[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:03.778)       0:00:05.133 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning] *******\\n[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:00.292)       0:00:05.425 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Run \\\"ethtool\\\" tuning] **********************\\n[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.625)       0:00:06.051 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\\n[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.359)       0:00:06.410 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] PLAY [Configure Kubernetes VIP] ************************************************\\n[kubernetes] \\n[kubernetes] TASK [Gathering Facts] *********************************************************\\n[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.130)       0:00:06.541 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\\n[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.914)       0:00:07.455 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\\n[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.214)       0:00:07.670 ********** \\n[kubernetes] ok: [instance] => (item=/etc/keepalived/keepalived.conf)\\n[kubernetes] ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\\n[kubernetes] ok: [instance] => (item=/etc/haproxy/haproxy.cfg)\\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\\n[kubernetes] Monday 13 April 2026  16:03:47 +0000 (0:00:00.896)       0:00:08.567 ********** \\n[kubernetes] failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/manifests/kube-apiserver.yaml\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\\\", \\\"rc\\\": 257}\\n[kubernetes] failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/controller-manager.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/controller-manager.conf does not exist !\\\", \\\"rc\\\": 257}\\n[kubernetes] failed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/scheduler.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/scheduler.conf does not exist !\\\", \\\"rc\\\": 257}\\n[kubernetes] ...ignoring\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.622)       0:00:09.189 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.189)       0:00:09.379 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.183)       0:00:09.562 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.035)       0:00:09.598 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.042)       0:00:09.640 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\\n[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.578)       0:00:10.219 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\\n[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.190)       0:00:10.409 ********** \\n[kubernetes] \\n[kubernetes] PLAY [Install Kubernetes] ******************************************************\\n[kubernetes] \\n[kubernetes] TASK [Gathering Facts] *********************************************************\\n[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.108)       0:00:10.518 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.917)       0:00:11.435 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.199)       0:00:11.635 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\\n[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.041)       0:00:11.676 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.202)       0:00:11.879 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.056)       0:00:11.935 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.382)       0:00:12.318 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.046)       0:00:12.365 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.217)       0:00:12.583 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:03:52 +0000 (0:00:01.090)       0:00:13.674 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.066)       0:00:13.740 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.350)       0:00:14.091 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:02.060)       0:00:16.152 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.023)       0:00:16.175 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.024)       0:00:16.199 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.027)       0:00:16.226 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.935)       0:00:17.162 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.429)       0:00:17.591 ********** \\n[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\\n[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[kubernetes] Monday 13 April 2026  16:03:57 +0000 (0:00:00.940)       0:00:18.532 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.498)       0:00:19.030 ********** \\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.006)       0:00:19.037 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap] ***\\n[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.571)       0:00:19.608 ********** \\n[kubernetes] fatal: [instance]: FAILED! => {\\\"changed\\\": false, \\\"msg\\\": \\\"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\\\"}\\n[kubernetes] ...ignoring\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.534)       0:00:20.143 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.033)       0:00:20.177 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.030)       0:00:20.208 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.028)       0:00:20.237 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.036)       0:00:20.273 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.040)       0:00:20.313 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.195)       0:00:20.509 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.041)       0:00:20.550 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.689)       0:00:21.239 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.035)       0:00:21.275 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.214)       0:00:21.490 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.047)       0:00:21.537 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.755)       0:00:22.293 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.048)       0:00:22.342 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.033)       0:00:22.375 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.032)       0:00:22.407 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.031)       0:00:22.439 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[kubernetes] Monday 13 April 2026  16:04:02 +0000 (0:00:00.987)       0:00:23.427 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[kubernetes] Monday 13 April 2026  16:04:03 +0000 (0:00:00.428)       0:00:23.856 ********** \\n[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\\n[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.904)       0:00:24.760 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.508)       0:00:25.269 ********** \\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.007)       0:00:25.276 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.351)       0:00:25.628 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.203)       0:00:25.832 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.050)       0:00:25.882 ********** \\n[kubernetes] fatal: [instance]: FAILED! => {\\\"attempts\\\": 4, \\\"censored\\\": \\\"the output has been hidden due to the fact that 'no_log: true' was specified for this result\\\", \\\"changed\\\": false}\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (4 retries left).\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (3 retries left).\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (2 retries left).\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (1 retries left).\\n[kubernetes] \\n[kubernetes] PLAY RECAP *********************************************************************\\n[kubernetes] instance                   : ok=45   changed=6    unreachable=0    failed=1    skipped=15   rescued=0    ignored=2   \\n[kubernetes] \\n[kubernetes] Monday 13 April 2026  16:04:36 +0000 (0:00:31.597)       0:00:57.480 ********** \\n[kubernetes] =============================================================================== \\n[kubernetes] vexxhost.containers.download_artifact : Download item ------------------ 31.60s\\n[kubernetes] vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.78s\\n[kubernetes] vexxhost.containers.download_artifact : Extract archive ----------------- 2.06s\\n[kubernetes] Gathering Facts --------------------------------------------------------- 1.34s\\n[kubernetes] vexxhost.containers.package : Update state for tar ---------------------- 1.09s\\n[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.99s\\n[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.94s\\n[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.94s\\n[kubernetes] Gathering Facts --------------------------------------------------------- 0.92s\\n[kubernetes] Gathering Facts --------------------------------------------------------- 0.91s\\n[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.90s\\n[kubernetes] vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 0.90s\\n[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.76s\\n[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.69s\\n[kubernetes] vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning ------- 0.63s\\n[kubernetes] vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443 ---- 0.62s\\n[kubernetes] vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest --------------- 0.58s\\n[kubernetes] vexxhost.containers.containerd : Enable and start service --------------- 0.57s\\n[kubernetes] vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap --- 0.53s\\n[kubernetes] vexxhost.containers.containerd : Create containerd config file ---------- 0.51s\", \"stdout_lines\": [\"==> Starting parallel deployment\", \"==> [ceph] Starting deployment\", \"==> [kubernetes] Starting deployment\", \"==> [lpfc] Starting deployment\", \"==> [udev] Starting deployment\", \"==> [iscsi] Starting deployment\", \"==> [multipathd] Starting deployment\", \"[udev] \", \"[udev] PLAY [controllers:computes] ****************************************************\", \"[udev] \", \"[udev] TASK [Gathering Facts] *********************************************************\", \"[udev] Monday 13 April 2026  15:58:08 +0000 (0:00:00.011)       0:00:00.011 ********** \", \"[lpfc] \", \"[lpfc] PLAY [controllers:computes] ****************************************************\", \"[lpfc] \", \"[lpfc] TASK [Gathering Facts] *********************************************************\", \"[lpfc] Monday 13 April 2026  15:58:08 +0000 (0:00:00.012)       0:00:00.012 ********** \", \"[ceph] \", \"[ceph] PLAY [all] *********************************************************************\", \"[ceph] \", \"[ceph] TASK [Gathering Facts] *********************************************************\", \"[ceph] Monday 13 April 2026  15:58:08 +0000 (0:00:00.021)       0:00:00.021 ********** \", \"[udev] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[udev] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[udev] interpreter could change the meaning of that path. See\", \"[udev] https://docs.ansible.com/ansible-\", \"[udev] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[udev] ok: [instance]\", \"[udev] \", \"[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray] ***\", \"[udev] Monday 13 April 2026  15:58:09 +0000 (0:00:01.150)       0:00:01.162 ********** \", \"[lpfc] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[lpfc] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[lpfc] interpreter could change the meaning of that path. See\", \"[lpfc] https://docs.ansible.com/ansible-\", \"[lpfc] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[lpfc] ok: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded] ********\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:01.155)       0:00:01.168 ********** \", \"[lpfc] ok: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Install the configuration file] ***************\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.288)       0:00:01.457 ********** \", \"[ceph] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[ceph] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[ceph] interpreter could change the meaning of that path. See\", \"[ceph] https://docs.ansible.com/ansible-\", \"[ceph] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Get the values for the module parameters] *****\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.026)       0:00:01.483 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Fail if atmosphere_ceph_enabled is set] **********************************\", \"[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:01.179)       0:00:01.201 ********** \", \"[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \", \"[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \", \"[lpfc] skipping: [instance] => (item=lpfc_max_luns) \", \"[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly] ***\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.040)       0:00:01.524 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\", \"[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.039)       0:00:01.240 ********** \", \"[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \", \"[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \", \"[lpfc] skipping: [instance] => (item=lpfc_max_luns) \", \"[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed] ***\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.034)       0:00:01.559 ********** \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [Reboot the system if the configuration file has changed] *****************\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.023)       0:00:01.582 ********** \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] PLAY RECAP *********************************************************************\", \"[lpfc] instance                   : ok=2    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0   \", \"[lpfc] \", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.029)       0:00:01.612 ********** \", \"[lpfc] =============================================================================== \", \"[lpfc] Gathering Facts --------------------------------------------------------- 1.16s\", \"[lpfc] vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded -------- 0.29s\", \"[lpfc] vexxhost.atmosphere.lpfc : Get the values for the module parameters ----- 0.04s\", \"[lpfc] vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly --- 0.03s\", \"[lpfc] Reboot the system if the configuration file has changed ----------------- 0.03s\", \"[lpfc] vexxhost.atmosphere.lpfc : Install the configuration file --------------- 0.03s\", \"[lpfc] vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed --- 0.02s\", \"==> [lpfc] Deployment complete\", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] PLAY [Deploy Ceph monitors & managers] *****************************************\", \"[ceph] \", \"[ceph] TASK [Gathering Facts] *********************************************************\", \"[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.192)       0:00:01.433 ********** \", \"[udev] changed: [instance]\", \"[udev] \", \"[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention] *******\", \"[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.656)       0:00:01.818 ********** \", \"[udev] changed: [instance]\", \"[udev] \", \"[udev] RUNNING HANDLER [vexxhost.atmosphere.udev : Reload udev] ***********************\", \"[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.498)       0:00:02.316 ********** \", \"[udev] ok: [instance]\", \"[udev] \", \"[udev] PLAY RECAP *********************************************************************\", \"[udev] instance                   : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \", \"[udev] \", \"[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.280)       0:00:02.597 ********** \", \"[udev] =============================================================================== \", \"[udev] Gathering Facts --------------------------------------------------------- 1.15s\", \"[udev] vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray --- 0.66s\", \"[udev] vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention ------- 0.50s\", \"[udev] vexxhost.atmosphere.udev : Reload udev ---------------------------------- 0.28s\", \"==> [udev] Deployment complete\", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  15:58:10 +0000 (0:00:00.932)       0:00:02.366 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.306)       0:00:02.672 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.037)       0:00:02.709 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.320)       0:00:03.030 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.067)       0:00:03.097 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.722)       0:00:03.819 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.049)       0:00:03.869 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.048)       0:00:03.917 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.220)       0:00:04.138 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:01.109)       0:00:05.248 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:00.065)       0:00:05.313 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  15:58:14 +0000 (0:00:00.715)       0:00:06.029 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:02.832)       0:00:08.861 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.034)       0:00:08.896 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.032)       0:00:08.928 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.031)       0:00:08.960 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[ceph] Monday 13 April 2026  15:58:25 +0000 (0:00:08.266)       0:00:17.227 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[ceph] Monday 13 April 2026  15:58:26 +0000 (0:00:00.555)       0:00:17.782 ********** \", \"[ceph] changed: [instance] => (item={'path': '/etc/containerd'})\", \"[ceph] changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[ceph] changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.918)       0:00:18.701 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.524)       0:00:19.225 ********** \", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\", \"[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.008)       0:00:19.234 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\", \"[ceph] Monday 13 April 2026  15:58:28 +0000 (0:00:00.920)       0:00:20.155 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.429)       0:00:20.584 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.513)       0:00:21.098 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.201)       0:00:21.299 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.054)       0:00:21.354 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  15:58:30 +0000 (0:00:00.832)       0:00:22.187 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\", \"[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:04.275)       0:00:26.462 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\", \"[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:00.963)       0:00:27.426 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\", \"[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.334)       0:00:27.761 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\", \"[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.469)       0:00:28.230 ********** \", \"[ceph] changed: [instance] => (item={'path': '/etc/docker'})\", \"[ceph] changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\", \"[ceph] changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\", \"[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.553)       0:00:28.784 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\", \"[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.428)       0:00:29.213 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\", \"[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.436)       0:00:29.650 ********** \", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\", \"[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.011)       0:00:29.661 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\", \"[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.687)       0:00:30.349 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\", \"[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:01.135)       0:00:31.484 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\", \"[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.600)       0:00:32.085 ********** \", \"[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\", \"[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.054)       0:00:32.139 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\", \"[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:04.649)       0:00:36.788 ********** \", \"[ceph] ok: [instance] => (item=chronyd)\", \"[ceph] ok: [instance] => (item=sshd)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\", \"[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:00.638)       0:00:37.427 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\", \"[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.279)       0:00:37.706 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\", \"[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.201)       0:00:37.908 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\", \"[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.502)       0:00:38.410 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\", \"[ceph] Monday 13 April 2026  15:58:47 +0000 (0:00:00.331)       0:00:38.742 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\", \"[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:01.603)       0:00:40.345 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\", \"[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.058)       0:00:40.403 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\", \"[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.038)       0:00:40.442 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.477 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Enable \\\"cephadm\\\" mgr module] *************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.037)       0:00:40.514 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Set orchestrator backend to \\\"cephadm\\\"] ***************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.039)       0:00:40.554 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.590 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Generate \\\"cephadm\\\" key] ******************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.038)       0:00:40.629 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.664 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.120)       0:00:40.785 ********** \", \"[ceph] ok: [instance] => (item=instance)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.230)       0:00:41.015 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.048)       0:00:41.064 ********** \", \"[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Generate temporary file for \\\"ceph.conf\\\"] *************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.062)       0:00:41.126 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Include extra configuration values] ******************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.265)       0:00:41.392 ********** \", \"[ceph] changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\", \"[ceph] changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\", \"[ceph] changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\", \"[ceph] Monday 13 April 2026  15:58:50 +0000 (0:00:00.662)       0:00:42.055 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Remove temporary file for \\\"ceph.conf\\\"] ***************\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:02:06.721)       0:02:48.776 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.202)       0:02:48.979 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Install Ceph host] *******************************************************\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.046)       0:02:49.026 ********** \", \"[ceph] included: vexxhost.ceph.cephadm_host for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.077)       0:02:49.104 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\", \"[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:01.540)       0:02:50.645 ********** \", \"[ceph] ok: [instance] => (item=instance)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\", \"[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.059)       0:02:50.704 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\", \"[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.336)       0:02:51.040 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors] ******************\", \"[ceph] Monday 13 April 2026  16:01:01 +0000 (0:00:01.897)       0:02:52.938 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\", \"[ceph] Monday 13 April 2026  16:01:03 +0000 (0:00:01.682)       0:02:54.621 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Install Ceph host] *******************************************************\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:11.199)       0:03:05.820 ********** \", \"[ceph] included: vexxhost.ceph.cephadm_host for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.075)       0:03:05.896 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.044)       0:03:05.940 ********** \", \"[ceph] skipping: [instance] => (item=instance) \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.045)       0:03:05.986 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.270)       0:03:06.256 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers] ******************\", \"[ceph] Monday 13 April 2026  16:01:16 +0000 (0:00:01.966)       0:03:08.222 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\", \"[ceph] Monday 13 April 2026  16:01:18 +0000 (0:00:01.628)       0:03:09.851 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\", \"[ceph] Monday 13 April 2026  16:01:19 +0000 (0:00:01.551)       0:03:11.402 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] PLAY [Deploy Ceph OSDs] ********************************************************\", \"[ceph] \", \"[ceph] TASK [Gathering Facts] *********************************************************\", \"[ceph] Monday 13 April 2026  16:01:22 +0000 (0:00:02.542)       0:03:13.944 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.932)       0:03:14.876 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.215)       0:03:15.092 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.039)       0:03:15.132 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.214)       0:03:15.346 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.065)       0:03:15.411 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.316)       0:03:15.727 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.052)       0:03:15.780 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.048)       0:03:15.828 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.210)       0:03:16.038 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:01.056)       0:03:17.095 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:00.071)       0:03:17.166 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  16:01:26 +0000 (0:00:00.332)       0:03:17.499 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:01.969)       0:03:19.468 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.028)       0:03:19.497 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.029)       0:03:19.527 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.030)       0:03:19.558 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.989)       0:03:20.547 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.414)       0:03:20.962 ********** \", \"[ceph] ok: [instance] => (item={'path': '/etc/containerd'})\", \"[ceph] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[ceph] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.899)       0:03:21.861 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.467)       0:03:22.329 ********** \", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.006)       0:03:22.336 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.346)       0:03:22.682 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.202)       0:03:22.884 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.048)       0:03:22.933 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.326)       0:03:23.259 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\", \"[ceph] Monday 13 April 2026  16:01:34 +0000 (0:00:03.049)       0:03:26.309 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\", \"[ceph] Monday 13 April 2026  16:01:35 +0000 (0:00:01.035)       0:03:27.344 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\", \"[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.200)       0:03:27.544 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\", \"[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.413)       0:03:27.958 ********** \", \"[ceph] ok: [instance] => (item={'path': '/etc/docker'})\", \"[ceph] ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\", \"[ceph] ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.528)       0:03:28.487 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.413)       0:03:28.900 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.409)       0:03:29.309 ********** \", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.007)       0:03:29.316 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\", \"[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.364)       0:03:29.680 ********** \", \"[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\", \"[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.050)       0:03:29.731 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\", \"[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.988)       0:03:30.719 ********** \", \"[ceph] ok: [instance] => (item=chronyd)\", \"[ceph] ok: [instance] => (item=sshd)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\", \"[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.644)       0:03:31.363 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:01.283)       0:03:32.647 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.199)       0:03:32.846 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.241)       0:03:33.088 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get monitor status] **********************************\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.212)       0:03:33.300 ********** \", \"[ceph] ok: [instance] => (item=instance)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Select admin host] ***********************************\", \"[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.218)       0:03:33.519 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\", \"[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.047)       0:03:33.566 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\", \"[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:04.678)       0:03:38.245 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Install Ceph host] *******************************************************\", \"[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.043)       0:03:38.288 ********** \", \"[ceph] included: vexxhost.ceph.cephadm_host for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\", \"[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.066)       0:03:38.355 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\", \"[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.102)       0:03:38.457 ********** \", \"[ceph] skipping: [instance] => (item=instance) \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\", \"[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.043)       0:03:38.501 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\", \"[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.239)       0:03:38.741 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\", \"[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:01.996)       0:03:40.737 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\", \"[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.028)       0:03:40.766 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\", \"[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.031)       0:03:40.797 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\", \"[ceph] Monday 13 April 2026  16:01:54 +0000 (0:00:05.276)       0:03:46.074 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Install OSDs] ****************************************\", \"[ceph] Monday 13 April 2026  16:02:05 +0000 (0:00:10.413)       0:03:56.487 ********** \", \"[ceph] ok: [instance] => (item=/dev/ceph-instance-osd0/data)\", \"[ceph] ok: [instance] => (item=/dev/ceph-instance-osd1/data)\", \"[ceph] ok: [instance] => (item=/dev/ceph-instance-osd2/data)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get mon dump] ****************************************\", \"[ceph] Monday 13 April 2026  16:03:32 +0000 (0:01:27.847)       0:05:24.335 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Mark require osd release] ****************************\", \"[ceph] Monday 13 April 2026  16:03:34 +0000 (0:00:01.668)       0:05:26.004 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\", \"[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:01.631)       0:05:27.636 ********** \", \"[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Set the retry count] *********************************\", \"[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.066)       0:05:27.702 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\", \"[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.046)       0:05:27.748 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : OSD daemon list] *************************************\", \"[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:01.600)       0:05:29.348 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\", \"[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:00.048)       0:05:29.396 ********** \", \"[ceph] skipping: [instance] => (item=1) \", \"[ceph] skipping: [instance] => (item=1) \", \"[ceph] skipping: [instance] => (item=1) \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\", \"[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.050)       0:05:29.447 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] PLAY [all] *********************************************************************\", \"[ceph] \", \"[ceph] TASK [Ensure RBD kernel module is loaded] **************************************\", \"[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.051)       0:05:29.499 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] PLAY RECAP *********************************************************************\", \"[ceph] instance                   : ok=113  changed=27   unreachable=0    failed=0    skipped=28   rescued=0    ignored=0   \", \"[ceph] \", \"[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.303)       0:05:29.803 ********** \", \"[ceph] =============================================================================== \", \"[ceph] vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 126.72s\", \"[ceph] vexxhost.ceph.osd : Install OSDs --------------------------------------- 87.85s\", \"[ceph] vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.20s\", \"[ceph] vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.41s\", \"[ceph] vexxhost.containers.containerd : Install AppArmor packages -------------- 8.27s\", \"[ceph] vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s\", \"[ceph] vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 4.68s\", \"[ceph] vexxhost.ceph.cephadm : Install packages -------------------------------- 4.65s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 4.28s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 3.05s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 2.83s\", \"[ceph] vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.54s\", \"[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.00s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 1.97s\", \"[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.97s\", \"[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.90s\", \"[ceph] vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors ------------------ 1.68s\", \"[ceph] vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.67s\", \"[ceph] vexxhost.ceph.osd : Mark require osd release ---------------------------- 1.63s\", \"[ceph] vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers ------------------ 1.63s\", \"==> [ceph] Deployment complete\", \"[kubernetes] \", \"[kubernetes] PLAY [all] *********************************************************************\", \"[kubernetes] \", \"[kubernetes] TASK [Gathering Facts] *********************************************************\", \"[kubernetes] Monday 13 April 2026  16:03:39 +0000 (0:00:00.018)       0:00:00.018 ********** \", \"[kubernetes] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[kubernetes] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[kubernetes] interpreter could change the meaning of that path. See\", \"[kubernetes] https://docs.ansible.com/ansible-\", \"[kubernetes] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\", \"[kubernetes] Monday 13 April 2026  16:03:40 +0000 (0:00:01.336)       0:00:01.354 ********** \", \"[kubernetes] changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\", \"[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:03.778)       0:00:05.133 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning] *******\", \"[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:00.292)       0:00:05.425 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.ethtool : Run \\\"ethtool\\\" tuning] **********************\", \"[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.625)       0:00:06.051 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\", \"[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.359)       0:00:06.410 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] PLAY [Configure Kubernetes VIP] ************************************************\", \"[kubernetes] \", \"[kubernetes] TASK [Gathering Facts] *********************************************************\", \"[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.130)       0:00:06.541 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\", \"[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.914)       0:00:07.455 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\", \"[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.214)       0:00:07.670 ********** \", \"[kubernetes] ok: [instance] => (item=/etc/keepalived/keepalived.conf)\", \"[kubernetes] ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\", \"[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\", \"[kubernetes] ok: [instance] => (item=/etc/haproxy/haproxy.cfg)\", \"[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\", \"[kubernetes] Monday 13 April 2026  16:03:47 +0000 (0:00:00.896)       0:00:08.567 ********** \", \"[kubernetes] failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/manifests/kube-apiserver.yaml\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\\\", \\\"rc\\\": 257}\", \"[kubernetes] failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/controller-manager.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/controller-manager.conf does not exist !\\\", \\\"rc\\\": 257}\", \"[kubernetes] failed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/scheduler.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/scheduler.conf does not exist !\\\", \\\"rc\\\": 257}\", \"[kubernetes] ...ignoring\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.622)       0:00:09.189 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.189)       0:00:09.379 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.183)       0:00:09.562 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.035)       0:00:09.598 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.042)       0:00:09.640 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.578)       0:00:10.219 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\", \"[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.190)       0:00:10.409 ********** \", \"[kubernetes] \", \"[kubernetes] PLAY [Install Kubernetes] ******************************************************\", \"[kubernetes] \", \"[kubernetes] TASK [Gathering Facts] *********************************************************\", \"[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.108)       0:00:10.518 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.917)       0:00:11.435 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.199)       0:00:11.635 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\", \"[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.041)       0:00:11.676 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.202)       0:00:11.879 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.056)       0:00:11.935 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.382)       0:00:12.318 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.046)       0:00:12.365 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.217)       0:00:12.583 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:52 +0000 (0:00:01.090)       0:00:13.674 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.066)       0:00:13.740 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.350)       0:00:14.091 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:02.060)       0:00:16.152 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.023)       0:00:16.175 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.024)       0:00:16.199 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.027)       0:00:16.226 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.935)       0:00:17.162 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.429)       0:00:17.591 ********** \", \"[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\", \"[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[kubernetes] Monday 13 April 2026  16:03:57 +0000 (0:00:00.940)       0:00:18.532 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.498)       0:00:19.030 ********** \", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.006)       0:00:19.037 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap] ***\", \"[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.571)       0:00:19.608 ********** \", \"[kubernetes] fatal: [instance]: FAILED! => {\\\"changed\\\": false, \\\"msg\\\": \\\"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\\\"}\", \"[kubernetes] ...ignoring\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.534)       0:00:20.143 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.033)       0:00:20.177 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.030)       0:00:20.208 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.028)       0:00:20.237 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.036)       0:00:20.273 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.040)       0:00:20.313 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.195)       0:00:20.509 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.041)       0:00:20.550 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.689)       0:00:21.239 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.035)       0:00:21.275 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.214)       0:00:21.490 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.047)       0:00:21.537 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.755)       0:00:22.293 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.048)       0:00:22.342 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.033)       0:00:22.375 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.032)       0:00:22.407 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.031)       0:00:22.439 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[kubernetes] Monday 13 April 2026  16:04:02 +0000 (0:00:00.987)       0:00:23.427 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[kubernetes] Monday 13 April 2026  16:04:03 +0000 (0:00:00.428)       0:00:23.856 ********** \", \"[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\", \"[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.904)       0:00:24.760 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.508)       0:00:25.269 ********** \", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.007)       0:00:25.276 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.351)       0:00:25.628 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.203)       0:00:25.832 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.050)       0:00:25.882 ********** \", \"[kubernetes] fatal: [instance]: FAILED! => {\\\"attempts\\\": 4, \\\"censored\\\": \\\"the output has been hidden due to the fact that 'no_log: true' was specified for this result\\\", \\\"changed\\\": false}\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (4 retries left).\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (3 retries left).\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (2 retries left).\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (1 retries left).\", \"[kubernetes] \", \"[kubernetes] PLAY RECAP *********************************************************************\", \"[kubernetes] instance                   : ok=45   changed=6    unreachable=0    failed=1    skipped=15   rescued=0    ignored=2   \", \"[kubernetes] \", \"[kubernetes] Monday 13 April 2026  16:04:36 +0000 (0:00:31.597)       0:00:57.480 ********** \", \"[kubernetes] =============================================================================== \", \"[kubernetes] vexxhost.containers.download_artifact : Download item ------------------ 31.60s\", \"[kubernetes] vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.78s\", \"[kubernetes] vexxhost.containers.download_artifact : Extract archive ----------------- 2.06s\", \"[kubernetes] Gathering Facts --------------------------------------------------------- 1.34s\", \"[kubernetes] vexxhost.containers.package : Update state for tar ---------------------- 1.09s\", \"[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.99s\", \"[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.94s\", \"[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.94s\", \"[kubernetes] Gathering Facts --------------------------------------------------------- 0.92s\", \"[kubernetes] Gathering Facts --------------------------------------------------------- 0.91s\", \"[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.90s\", \"[kubernetes] vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 0.90s\", \"[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.76s\", \"[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.69s\", \"[kubernetes] vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning ------- 0.63s\", \"[kubernetes] vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443 ---- 0.62s\", \"[kubernetes] vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest --------------- 0.58s\", \"[kubernetes] vexxhost.containers.containerd : Enable and start service --------------- 0.57s\", \"[kubernetes] vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap --- 0.53s\", \"[kubernetes] vexxhost.containers.containerd : Create containerd config file ---------- 0.51s\"]}\n\nPLAY RECAP *********************************************************************\nlocalhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0\n\nMonday 13 April 2026  16:04:36 +0000 (0:06:29.293)       0:06:35.974 **********\n===============================================================================\nDeploy with parallel orchestrator ------------------------------------- 389.29s\nBuild atmosphere binary ------------------------------------------------- 6.67s\nCRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml\nERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m\nERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                            "stdout_lines": [
                                "Using CPython 3.10.12 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "   Building atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Downloading netaddr (2.2MiB)",
                                "Downloading openstacksdk (1.7MiB)",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                "Downloading cryptography (4.2MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading setuptools (1.1MiB)",
                                "Downloading rjsonnet (1.2MiB)",
                                "Downloading pygments (1.2MiB)",
                                "   Building pyperclip==1.9.0",
                                " Downloading rjsonnet",
                                " Downloading pydantic-core",
                                " Downloading netaddr",
                                " Downloading pygments",
                                " Downloading cryptography",
                                " Downloading setuptools",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                " Downloading openstacksdk",
                                "      Built pyperclip==1.9.0",
                                "      Built atmosphere @ file:///home/zuul/src/github.com/vexxhost/atmosphere",
                                "Installed 83 packages in 52ms",
                                "WARNING  Molecule scenarios should migrate to 'extensions/molecule'",
                                "INFO     [aio > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [aio > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [aio > dependency] Executing",
                                "WARNING  [aio > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [aio > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [aio > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [aio > cleanup] Executing",
                                "WARNING  [aio > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > destroy] Executing",
                                "WARNING  [aio > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [aio > destroy] Executed: Successful",
                                "INFO     [aio > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "INFO     [aio > syntax] Executed: Successful",
                                "INFO     [aio > create] Executing",
                                "WARNING  [aio > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [aio > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 13 April 2026  15:57:10 +0000 (0:00:00.025)       0:00:00.025 **********",
                                "[WARNING]: Platform linux on host instance is using the discovered Python",
                                "interpreter at /usr/bin/python3.10, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.17/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [instance]",
                                "",
                                "TASK [Configure short hostname] ************************************************",
                                "Monday 13 April 2026  15:57:11 +0000 (0:00:01.151)       0:00:01.177 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Ensure hostname inside hosts file] ***************************************",
                                "Monday 13 April 2026  15:57:12 +0000 (0:00:00.652)       0:00:01.830 **********",
                                "[WARNING]: Module remote_tmp /root/.ansible/tmp did not exist and was created",
                                "with a mode of 0700, this may cause issues when running as another user. To",
                                "avoid this, create the remote_tmp dir with the correct permissions manually",
                                "changed: [instance]",
                                "",
                                "TASK [Install \"dirmngr\" for GPG keyserver operations] **************************",
                                "Monday 13 April 2026  15:57:12 +0000 (0:00:00.292)       0:00:02.123 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Purge \"snapd\" package] ***************************************************",
                                "Monday 13 April 2026  15:57:13 +0000 (0:00:01.317)       0:00:03.440 **********",
                                "ok: [instance]",
                                "",
                                "PLAY [Generate workspace for Atmosphere] ***************************************",
                                "",
                                "TASK [Create folders for workspace] ********************************************",
                                "Monday 13 April 2026  15:57:14 +0000 (0:00:00.689)       0:00:04.129 **********",
                                "changed: [localhost] => (item=group_vars)",
                                "changed: [localhost] => (item=group_vars/all)",
                                "changed: [localhost] => (item=group_vars/controllers)",
                                "changed: [localhost] => (item=group_vars/cephs)",
                                "changed: [localhost] => (item=group_vars/computes)",
                                "changed: [localhost] => (item=host_vars)",
                                "",
                                "PLAY [Generate Ceph control plane configuration for workspace] *****************",
                                "",
                                "TASK [Ensure the Ceph control plane configuration file exists] *****************",
                                "Monday 13 April 2026  15:57:15 +0000 (0:00:01.032)       0:00:05.161 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph control plane configuration into a variable] *******",
                                "Monday 13 April 2026  15:57:15 +0000 (0:00:00.189)       0:00:05.351 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph control plane values for missing variables] ****************",
                                "Monday 13 April 2026  15:57:15 +0000 (0:00:00.029)       0:00:05.380 **********",
                                "ok: [localhost] => (item={'key': 'ceph_fsid', 'value': 'bc643195-bb4b-5f45-a1ad-5f0b032aea26'})",
                                "ok: [localhost] => (item={'key': 'ceph_mon_public_network', 'value': '10.96.240.0/24'})",
                                "",
                                "TASK [Write new Ceph control plane configuration file to disk] *****************",
                                "Monday 13 April 2026  15:57:15 +0000 (0:00:00.047)       0:00:05.428 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Ceph OSD configuration for workspace] ***************************",
                                "",
                                "TASK [Ensure the Ceph OSDs configuration file exists] **************************",
                                "Monday 13 April 2026  15:57:16 +0000 (0:00:00.563)       0:00:05.991 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Ceph OSDs configuration into a variable] ****************",
                                "Monday 13 April 2026  15:57:16 +0000 (0:00:00.175)       0:00:06.167 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Ceph OSDs values for missing variables] *************************",
                                "Monday 13 April 2026  15:57:16 +0000 (0:00:00.028)       0:00:06.196 **********",
                                "ok: [localhost] => (item={'key': 'ceph_osd_devices', 'value': ['/dev/vdb', '/dev/vdc', '/dev/vdd']})",
                                "",
                                "TASK [Write new Ceph OSDs configuration file to disk] **************************",
                                "Monday 13 April 2026  15:57:16 +0000 (0:00:00.032)       0:00:06.228 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Kubernetes configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Kubernetes configuration file exists] *************************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.366)       0:00:06.595 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Kubernetes configuration into a variable] ***************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.181)       0:00:06.776 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Kubernetes values for missing variables] ************************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.027)       0:00:06.804 **********",
                                "ok: [localhost] => (item={'key': 'kubernetes_hostname', 'value': '10.96.240.10'})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vrid', 'value': 42})",
                                "ok: [localhost] => (item={'key': 'kubernetes_keepalived_vip', 'value': '10.96.240.10'})",
                                "",
                                "TASK [Write new Kubernetes configuration file to disk] *************************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.041)       0:00:06.845 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Keepalived configuration for workspace] *************************",
                                "",
                                "TASK [Ensure the Keeaplived configuration file exists] *************************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.358)       0:00:07.204 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Keepalived configuration into a variable] ***************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.173)       0:00:07.377 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Keepalived values for missing variables] ************************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.027)       0:00:07.405 **********",
                                "ok: [localhost] => (item={'key': 'keepalived_interface', 'value': 'br-ex'})",
                                "ok: [localhost] => (item={'key': 'keepalived_vip', 'value': '10.96.250.10'})",
                                "",
                                "TASK [Write new Keepalived configuration file to disk] *************************",
                                "Monday 13 April 2026  15:57:17 +0000 (0:00:00.036)       0:00:07.441 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate endpoints for workspace] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 13 April 2026  15:57:18 +0000 (0:00:00.358)       0:00:07.799 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Monday 13 April 2026  15:57:18 +0000 (0:00:00.710)       0:00:08.509 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current endpoints into a variable] ******************************",
                                "Monday 13 April 2026  15:57:19 +0000 (0:00:00.180)       0:00:08.689 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate endpoint skeleton for missing variables] ************************",
                                "Monday 13 April 2026  15:57:19 +0000 (0:00:00.028)       0:00:08.718 **********",
                                "ok: [localhost] => (item=keycloak_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_alertmanager_host)",
                                "ok: [localhost] => (item=kube_prometheus_stack_prometheus_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_region_name)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_novnc_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_registry_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_cfn_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_api_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_host)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_api_host)",
                                "",
                                "TASK [Write new endpoints file to disk] ****************************************",
                                "Monday 13 April 2026  15:57:19 +0000 (0:00:00.793)       0:00:09.512 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Ensure the endpoints file exists] ****************************************",
                                "Monday 13 April 2026  15:57:20 +0000 (0:00:00.386)       0:00:09.899 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Neutron configuration for workspace] ****************************",
                                "",
                                "TASK [Ensure the Neutron configuration file exists] ****************************",
                                "Monday 13 April 2026  15:57:20 +0000 (0:00:00.191)       0:00:10.091 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Neutron configuration into a variable] ******************",
                                "Monday 13 April 2026  15:57:20 +0000 (0:00:00.172)       0:00:10.263 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Neutron values for missing variables] ***************************",
                                "Monday 13 April 2026  15:57:20 +0000 (0:00:00.024)       0:00:10.288 **********",
                                "ok: [localhost] => (item={'key': 'neutron_networks', 'value': [{'name': 'public', 'external': True, 'shared': True, 'mtu_size': 1500, 'port_security_enabled': True, 'provider_network_type': 'flat', 'provider_physical_network': 'external', 'subnets': [{'name': 'public-subnet', 'cidr': '10.96.250.0/24', 'gateway_ip': '10.96.250.10', 'allocation_pool_start': '10.96.250.200', 'allocation_pool_end': '10.96.250.220', 'enable_dhcp': True}]}]})",
                                "",
                                "TASK [Write new Neutron configuration file to disk] ****************************",
                                "Monday 13 April 2026  15:57:20 +0000 (0:00:00.034)       0:00:10.322 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate Nova configuration for workspace] *******************************",
                                "",
                                "TASK [Ensure the Nova configuration file exists] *******************************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.361)       0:00:10.683 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current Nova configuration into a variable] *********************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.167)       0:00:10.851 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate Nova values for missing variables] ******************************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.024)       0:00:10.876 **********",
                                "ok: [localhost] => (item={'key': 'nova_flavors', 'value': [{'name': 'm1.tiny', 'ram': 512, 'disk': 1, 'vcpus': 1}, {'name': 'm1.small', 'ram': 2048, 'disk': 20, 'vcpus': 1}, {'name': 'm1.medium', 'ram': 4096, 'disk': 40, 'vcpus': 2}, {'name': 'm1.large', 'ram': 8192, 'disk': 80, 'vcpus': 4}, {'name': 'm1.xlarge', 'ram': 16384, 'disk': 160, 'vcpus': 8}]})",
                                "",
                                "TASK [Write new Nova configuration file to disk] *******************************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.034)       0:00:10.910 **********",
                                "changed: [localhost]",
                                "",
                                "PLAY [Generate secrets for workspace] ******************************************",
                                "",
                                "TASK [Ensure the secrets file exists] ******************************************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.347)       0:00:11.258 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Load the current secrets into a variable] ********************************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.173)       0:00:11.431 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Generate secrets for missing variables] **********************************",
                                "Monday 13 April 2026  15:57:21 +0000 (0:00:00.031)       0:00:11.462 **********",
                                "ok: [localhost] => (item=heat_auth_encryption_key)",
                                "ok: [localhost] => (item=keepalived_password)",
                                "ok: [localhost] => (item=keycloak_admin_password)",
                                "ok: [localhost] => (item=keycloak_database_password)",
                                "ok: [localhost] => (item=keystone_keycloak_client_secret)",
                                "ok: [localhost] => (item=keystone_oidc_crypto_passphrase)",
                                "ok: [localhost] => (item=kube_prometheus_stack_grafana_admin_password)",
                                "ok: [localhost] => (item=octavia_heartbeat_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rabbitmq_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_memcached_secret_key)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_admin_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_keystone_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_glance_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_cinder_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_placement_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_barbican_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_neutron_metadata_secret)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_nova_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_ironic_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_designate_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_octavia_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_magnum_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_trustee_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_stack_user_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_heat_rabbitmq_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_horizon_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_tempest_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_openstack_exporter_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_rgw_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_keystone_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_manila_mariadb_password)",
                                "ok: [localhost] => (item=openstack_helm_endpoints_staffeln_mariadb_password)",
                                "",
                                "TASK [Generate base64 encoded secrets] *****************************************",
                                "Monday 13 April 2026  15:57:22 +0000 (0:00:00.392)       0:00:11.855 **********",
                                "ok: [localhost] => (item=barbican_kek)",
                                "",
                                "TASK [Generate temporary files for generating keys for missing variables] ******",
                                "Monday 13 April 2026  15:57:22 +0000 (0:00:00.048)       0:00:11.903 **********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Generate SSH keys for missing variables] *********************************",
                                "Monday 13 April 2026  15:57:22 +0000 (0:00:00.383)       0:00:12.287 **********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Set values for SSH keys] *************************************************",
                                "Monday 13 April 2026  15:57:26 +0000 (0:00:03.754)       0:00:16.042 **********",
                                "ok: [localhost] => (item=manila_ssh_key)",
                                "ok: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Delete the temporary files generated for SSH keys] ***********************",
                                "Monday 13 April 2026  15:57:26 +0000 (0:00:00.057)       0:00:16.099 **********",
                                "changed: [localhost] => (item=manila_ssh_key)",
                                "changed: [localhost] => (item=nova_ssh_key)",
                                "",
                                "TASK [Write new secrets file to disk] ******************************************",
                                "Monday 13 April 2026  15:57:26 +0000 (0:00:00.365)       0:00:16.464 **********",
                                "changed: [localhost]",
                                "",
                                "TASK [Encrypt secrets file with Vault password] ********************************",
                                "Monday 13 April 2026  15:57:27 +0000 (0:00:00.368)       0:00:16.833 **********",
                                "skipping: [localhost]",
                                "",
                                "PLAY [Setup networking] ********************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 13 April 2026  15:57:27 +0000 (0:00:00.037)       0:00:16.871 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Create bridge for management network] ************************************",
                                "Monday 13 April 2026  15:57:28 +0000 (0:00:00.702)       0:00:17.574 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Create fake interface for management bridge] *****************************",
                                "Monday 13 April 2026  15:57:28 +0000 (0:00:00.350)       0:00:17.924 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign dummy interface to management bridge] *****************************",
                                "Monday 13 April 2026  15:57:28 +0000 (0:00:00.209)       0:00:18.134 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Assign IP address for management bridge] *********************************",
                                "Monday 13 April 2026  15:57:28 +0000 (0:00:00.192)       0:00:18.327 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Bring up interfaces] *****************************************************",
                                "Monday 13 April 2026  15:57:28 +0000 (0:00:00.210)       0:00:18.538 **********",
                                "ok: [instance] => (item=br-mgmt)",
                                "ok: [instance] => (item=dummy0)",
                                "",
                                "PLAY [Create devices for Ceph] *************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 13 April 2026  15:57:29 +0000 (0:00:00.383)       0:00:18.921 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Install depedencies] *****************************************************",
                                "Monday 13 April 2026  15:57:30 +0000 (0:00:00.697)       0:00:19.619 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Start up service] ********************************************************",
                                "Monday 13 April 2026  15:57:50 +0000 (0:00:20.507)       0:00:40.126 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Generate lvm.conf] *******************************************************",
                                "Monday 13 April 2026  15:57:51 +0000 (0:00:00.545)       0:00:40.671 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Write /etc/lvm/lvm.conf] *************************************************",
                                "Monday 13 April 2026  15:57:51 +0000 (0:00:00.215)       0:00:40.887 **********",
                                "changed: [instance]",
                                "",
                                "TASK [Get list of all loopback devices] ****************************************",
                                "Monday 13 April 2026  15:57:51 +0000 (0:00:00.449)       0:00:41.336 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Fail if there is any existing loopback devices] **************************",
                                "Monday 13 April 2026  15:57:51 +0000 (0:00:00.188)       0:00:41.525 **********",
                                "skipping: [instance]",
                                "",
                                "TASK [Create devices for Ceph] *************************************************",
                                "Monday 13 April 2026  15:57:51 +0000 (0:00:00.024)       0:00:41.549 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Set permissions on loopback devices] *************************************",
                                "Monday 13 April 2026  15:57:52 +0000 (0:00:00.546)       0:00:42.096 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Start loop devices] ******************************************************",
                                "Monday 13 April 2026  15:57:53 +0000 (0:00:00.539)       0:00:42.635 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a volume group for each loop device] ******************************",
                                "Monday 13 April 2026  15:57:53 +0000 (0:00:00.679)       0:00:43.314 **********",
                                "changed: [instance] => (item=osd0)",
                                "changed: [instance] => (item=osd1)",
                                "changed: [instance] => (item=osd2)",
                                "",
                                "TASK [Create a logical volume for each loop device] ****************************",
                                "Monday 13 April 2026  15:57:56 +0000 (0:00:03.025)       0:00:46.339 **********",
                                "changed: [instance] => (item=ceph-instance-osd0)",
                                "changed: [instance] => (item=ceph-instance-osd1)",
                                "changed: [instance] => (item=ceph-instance-osd2)",
                                "",
                                "PLAY [controllers] *************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Monday 13 April 2026  15:57:58 +0000 (0:00:01.920)       0:00:48.260 **********",
                                "ok: [instance]",
                                "",
                                "TASK [Set masquerade rule] *****************************************************",
                                "Monday 13 April 2026  15:57:59 +0000 (0:00:00.919)       0:00:49.179 **********",
                                "changed: [instance]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "instance                   : ok=24   changed=10   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "localhost                  : ok=40   changed=21   unreachable=0    failed=0    skipped=1    rescued=0    ignored=0",
                                "",
                                "Monday 13 April 2026  15:58:00 +0000 (0:00:00.463)       0:00:49.643 **********",
                                "===============================================================================",
                                "Install depedencies ---------------------------------------------------- 20.51s",
                                "Generate SSH keys for missing variables --------------------------------- 3.75s",
                                "Create a volume group for each loop device ------------------------------ 3.03s",
                                "Create a logical volume for each loop device ---------------------------- 1.92s",
                                "Install \"dirmngr\" for GPG keyserver operations -------------------------- 1.32s",
                                "Gathering Facts --------------------------------------------------------- 1.15s",
                                "Create folders for workspace -------------------------------------------- 1.03s",
                                "Gathering Facts --------------------------------------------------------- 0.92s",
                                "Generate endpoint skeleton for missing variables ------------------------ 0.79s",
                                "Gathering Facts --------------------------------------------------------- 0.71s",
                                "Gathering Facts --------------------------------------------------------- 0.70s",
                                "Gathering Facts --------------------------------------------------------- 0.70s",
                                "Purge \"snapd\" package --------------------------------------------------- 0.69s",
                                "Start loop devices ------------------------------------------------------ 0.68s",
                                "Configure short hostname ------------------------------------------------ 0.65s",
                                "Write new Ceph control plane configuration file to disk ----------------- 0.56s",
                                "Create devices for Ceph ------------------------------------------------- 0.55s",
                                "Start up service -------------------------------------------------------- 0.55s",
                                "Set permissions on loopback devices ------------------------------------- 0.54s",
                                "Set masquerade rule ----------------------------------------------------- 0.46s",
                                "INFO     [aio > prepare] Executed: Successful",
                                "INFO     [aio > converge] Executing",
                                "",
                                "PLAY [localhost] ***************************************************************",
                                "",
                                "TASK [Build atmosphere binary] *************************************************",
                                "Monday 13 April 2026  15:58:00 +0000 (0:00:00.010)       0:00:00.010 **********",
                                "ok: [localhost]",
                                "",
                                "TASK [Deploy with parallel orchestrator] ***************************************",
                                "Monday 13 April 2026  15:58:07 +0000 (0:00:06.670)       0:00:06.680 **********",
                                "fatal: [localhost]: FAILED! => {\"changed\": false, \"cmd\": [\"/home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/../../bin/atmosphere\", \"deploy\", \"--inventory\", \"/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml\"], \"delta\": \"0:06:29.112271\", \"end\": \"2026-04-13 16:04:36.857425\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2026-04-13 15:58:07.745154\", \"stderr\": \"Error: component kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\\nUsage:\\n  atmosphere deploy [flags]\\n\\nFlags:\\n      --concurrency int    Max concurrent deployments per wave (0 = unlimited)\\n  -h, --help               help for deploy\\n  -i, --inventory string   Path to Ansible inventory file (required)\\n  -t, --tags string        Comma-separated list of component tags to deploy\\n\\ncomponent kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\", \"stderr_lines\": [\"Error: component kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\", \"Usage:\", \"  atmosphere deploy [flags]\", \"\", \"Flags:\", \"      --concurrency int    Max concurrent deployments per wave (0 = unlimited)\", \"  -h, --help               help for deploy\", \"  -i, --inventory string   Path to Ansible inventory file (required)\", \"  -t, --tags string        Comma-separated list of component tags to deploy\", \"\", \"component kubernetes failed: ansible-playbook failed for kubernetes: exit status 2\"], \"stdout\": \"==> Starting parallel deployment\\n==> [ceph] Starting deployment\\n==> [kubernetes] Starting deployment\\n==> [lpfc] Starting deployment\\n==> [udev] Starting deployment\\n==> [iscsi] Starting deployment\\n==> [multipathd] Starting deployment\\n[udev] \\n[udev] PLAY [controllers:computes] ****************************************************\\n[udev] \\n[udev] TASK [Gathering Facts] *********************************************************\\n[udev] Monday 13 April 2026  15:58:08 +0000 (0:00:00.011)       0:00:00.011 ********** \\n[lpfc] \\n[lpfc] PLAY [controllers:computes] ****************************************************\\n[lpfc] \\n[lpfc] TASK [Gathering Facts] *********************************************************\\n[lpfc] Monday 13 April 2026  15:58:08 +0000 (0:00:00.012)       0:00:00.012 ********** \\n[ceph] \\n[ceph] PLAY [all] *********************************************************************\\n[ceph] \\n[ceph] TASK [Gathering Facts] *********************************************************\\n[ceph] Monday 13 April 2026  15:58:08 +0000 (0:00:00.021)       0:00:00.021 ********** \\n[udev] [WARNING]: Platform linux on host instance is using the discovered Python\\n[udev] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[udev] interpreter could change the meaning of that path. See\\n[udev] https://docs.ansible.com/ansible-\\n[udev] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[udev] ok: [instance]\\n[udev] \\n[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray] ***\\n[udev] Monday 13 April 2026  15:58:09 +0000 (0:00:01.150)       0:00:01.162 ********** \\n[lpfc] [WARNING]: Platform linux on host instance is using the discovered Python\\n[lpfc] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[lpfc] interpreter could change the meaning of that path. See\\n[lpfc] https://docs.ansible.com/ansible-\\n[lpfc] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[lpfc] ok: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded] ********\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:01.155)       0:00:01.168 ********** \\n[lpfc] ok: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Install the configuration file] ***************\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.288)       0:00:01.457 ********** \\n[ceph] [WARNING]: Platform linux on host instance is using the discovered Python\\n[ceph] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[ceph] interpreter could change the meaning of that path. See\\n[ceph] https://docs.ansible.com/ansible-\\n[ceph] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Get the values for the module parameters] *****\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.026)       0:00:01.483 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Fail if atmosphere_ceph_enabled is set] **********************************\\n[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:01.179)       0:00:01.201 ********** \\n[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \\n[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \\n[lpfc] skipping: [instance] => (item=lpfc_max_luns) \\n[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly] ***\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.040)       0:00:01.524 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\\n[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.039)       0:00:01.240 ********** \\n[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \\n[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \\n[lpfc] skipping: [instance] => (item=lpfc_max_luns) \\n[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed] ***\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.034)       0:00:01.559 ********** \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] TASK [Reboot the system if the configuration file has changed] *****************\\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.023)       0:00:01.582 ********** \\n[lpfc] skipping: [instance]\\n[lpfc] \\n[lpfc] PLAY RECAP *********************************************************************\\n[lpfc] instance                   : ok=2    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0   \\n[lpfc] \\n[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.029)       0:00:01.612 ********** \\n[lpfc] =============================================================================== \\n[lpfc] Gathering Facts --------------------------------------------------------- 1.16s\\n[lpfc] vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded -------- 0.29s\\n[lpfc] vexxhost.atmosphere.lpfc : Get the values for the module parameters ----- 0.04s\\n[lpfc] vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly --- 0.03s\\n[lpfc] Reboot the system if the configuration file has changed ----------------- 0.03s\\n[lpfc] vexxhost.atmosphere.lpfc : Install the configuration file --------------- 0.03s\\n[lpfc] vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed --- 0.02s\\n==> [lpfc] Deployment complete\\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] PLAY [Deploy Ceph monitors & managers] *****************************************\\n[ceph] \\n[ceph] TASK [Gathering Facts] *********************************************************\\n[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.192)       0:00:01.433 ********** \\n[udev] changed: [instance]\\n[udev] \\n[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention] *******\\n[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.656)       0:00:01.818 ********** \\n[udev] changed: [instance]\\n[udev] \\n[udev] RUNNING HANDLER [vexxhost.atmosphere.udev : Reload udev] ***********************\\n[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.498)       0:00:02.316 ********** \\n[udev] ok: [instance]\\n[udev] \\n[udev] PLAY RECAP *********************************************************************\\n[udev] instance                   : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \\n[udev] \\n[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.280)       0:00:02.597 ********** \\n[udev] =============================================================================== \\n[udev] Gathering Facts --------------------------------------------------------- 1.15s\\n[udev] vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray --- 0.66s\\n[udev] vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention ------- 0.50s\\n[udev] vexxhost.atmosphere.udev : Reload udev ---------------------------------- 0.28s\\n==> [udev] Deployment complete\\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  15:58:10 +0000 (0:00:00.932)       0:00:02.366 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.306)       0:00:02.672 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.037)       0:00:02.709 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.320)       0:00:03.030 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.067)       0:00:03.097 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.722)       0:00:03.819 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.049)       0:00:03.869 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.048)       0:00:03.917 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.220)       0:00:04.138 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:01.109)       0:00:05.248 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:00.065)       0:00:05.313 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  15:58:14 +0000 (0:00:00.715)       0:00:06.029 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:02.832)       0:00:08.861 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.034)       0:00:08.896 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.032)       0:00:08.928 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.031)       0:00:08.960 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[ceph] Monday 13 April 2026  15:58:25 +0000 (0:00:08.266)       0:00:17.227 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[ceph] Monday 13 April 2026  15:58:26 +0000 (0:00:00.555)       0:00:17.782 ********** \\n[ceph] changed: [instance] => (item={'path': '/etc/containerd'})\\n[ceph] changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[ceph] changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.918)       0:00:18.701 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.524)       0:00:19.225 ********** \\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\\n[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.008)       0:00:19.234 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\\n[ceph] Monday 13 April 2026  15:58:28 +0000 (0:00:00.920)       0:00:20.155 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.429)       0:00:20.584 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.513)       0:00:21.098 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.201)       0:00:21.299 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.054)       0:00:21.354 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  15:58:30 +0000 (0:00:00.832)       0:00:22.187 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\\n[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:04.275)       0:00:26.462 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\\n[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:00.963)       0:00:27.426 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\\n[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.334)       0:00:27.761 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\\n[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.469)       0:00:28.230 ********** \\n[ceph] changed: [instance] => (item={'path': '/etc/docker'})\\n[ceph] changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\\n[ceph] changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\\n[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.553)       0:00:28.784 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\\n[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.428)       0:00:29.213 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\\n[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.436)       0:00:29.650 ********** \\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\\n[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.011)       0:00:29.661 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\\n[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.687)       0:00:30.349 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\\n[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:01.135)       0:00:31.484 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\\n[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.600)       0:00:32.085 ********** \\n[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\\n[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.054)       0:00:32.139 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\\n[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:04.649)       0:00:36.788 ********** \\n[ceph] ok: [instance] => (item=chronyd)\\n[ceph] ok: [instance] => (item=sshd)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\\n[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:00.638)       0:00:37.427 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\\n[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.279)       0:00:37.706 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\\n[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.201)       0:00:37.908 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\\n[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.502)       0:00:38.410 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\\n[ceph] Monday 13 April 2026  15:58:47 +0000 (0:00:00.331)       0:00:38.742 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\\n[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:01.603)       0:00:40.345 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\\n[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.058)       0:00:40.403 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\\n[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.038)       0:00:40.442 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.477 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Enable \\\"cephadm\\\" mgr module] *************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.037)       0:00:40.514 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Set orchestrator backend to \\\"cephadm\\\"] ***************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.039)       0:00:40.554 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.590 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Generate \\\"cephadm\\\" key] ******************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.038)       0:00:40.629 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.664 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.120)       0:00:40.785 ********** \\n[ceph] ok: [instance] => (item=instance)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.230)       0:00:41.015 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.048)       0:00:41.064 ********** \\n[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Generate temporary file for \\\"ceph.conf\\\"] *************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.062)       0:00:41.126 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Include extra configuration values] ******************\\n[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.265)       0:00:41.392 ********** \\n[ceph] changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\\n[ceph] changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\\n[ceph] changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\\n[ceph] Monday 13 April 2026  15:58:50 +0000 (0:00:00.662)       0:00:42.055 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Remove temporary file for \\\"ceph.conf\\\"] ***************\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:02:06.721)       0:02:48.776 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.202)       0:02:48.979 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Install Ceph host] *******************************************************\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.046)       0:02:49.026 ********** \\n[ceph] included: vexxhost.ceph.cephadm_host for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\\n[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.077)       0:02:49.104 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\\n[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:01.540)       0:02:50.645 ********** \\n[ceph] ok: [instance] => (item=instance)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\\n[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.059)       0:02:50.704 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\\n[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.336)       0:02:51.040 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors] ******************\\n[ceph] Monday 13 April 2026  16:01:01 +0000 (0:00:01.897)       0:02:52.938 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\\n[ceph] Monday 13 April 2026  16:01:03 +0000 (0:00:01.682)       0:02:54.621 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Install Ceph host] *******************************************************\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:11.199)       0:03:05.820 ********** \\n[ceph] included: vexxhost.ceph.cephadm_host for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.075)       0:03:05.896 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.044)       0:03:05.940 ********** \\n[ceph] skipping: [instance] => (item=instance) \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.045)       0:03:05.986 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\\n[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.270)       0:03:06.256 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers] ******************\\n[ceph] Monday 13 April 2026  16:01:16 +0000 (0:00:01.966)       0:03:08.222 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\\n[ceph] Monday 13 April 2026  16:01:18 +0000 (0:00:01.628)       0:03:09.851 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\\n[ceph] Monday 13 April 2026  16:01:19 +0000 (0:00:01.551)       0:03:11.402 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] PLAY [Deploy Ceph OSDs] ********************************************************\\n[ceph] \\n[ceph] TASK [Gathering Facts] *********************************************************\\n[ceph] Monday 13 April 2026  16:01:22 +0000 (0:00:02.542)       0:03:13.944 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.932)       0:03:14.876 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.215)       0:03:15.092 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.039)       0:03:15.132 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.214)       0:03:15.346 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.065)       0:03:15.411 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.316)       0:03:15.727 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.052)       0:03:15.780 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.048)       0:03:15.828 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.210)       0:03:16.038 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:01.056)       0:03:17.095 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:00.071)       0:03:17.166 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  16:01:26 +0000 (0:00:00.332)       0:03:17.499 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:01.969)       0:03:19.468 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.028)       0:03:19.497 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.029)       0:03:19.527 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.030)       0:03:19.558 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.989)       0:03:20.547 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.414)       0:03:20.962 ********** \\n[ceph] ok: [instance] => (item={'path': '/etc/containerd'})\\n[ceph] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[ceph] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.899)       0:03:21.861 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.467)       0:03:22.329 ********** \\n[ceph] \\n[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.006)       0:03:22.336 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.346)       0:03:22.682 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.202)       0:03:22.884 ********** \\n[ceph] ok: [instance] => {\\n[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\\n[ceph] }\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.048)       0:03:22.933 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.326)       0:03:23.259 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\\n[ceph] Monday 13 April 2026  16:01:34 +0000 (0:00:03.049)       0:03:26.309 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\\n[ceph] Monday 13 April 2026  16:01:35 +0000 (0:00:01.035)       0:03:27.344 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\\n[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.200)       0:03:27.544 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\\n[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.413)       0:03:27.958 ********** \\n[ceph] ok: [instance] => (item={'path': '/etc/docker'})\\n[ceph] ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\\n[ceph] ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.528)       0:03:28.487 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.413)       0:03:28.900 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.409)       0:03:29.309 ********** \\n[ceph] \\n[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\\n[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.007)       0:03:29.316 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\\n[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.364)       0:03:29.680 ********** \\n[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\\n[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.050)       0:03:29.731 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\\n[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.988)       0:03:30.719 ********** \\n[ceph] ok: [instance] => (item=chronyd)\\n[ceph] ok: [instance] => (item=sshd)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\\n[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.644)       0:03:31.363 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:01.283)       0:03:32.647 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.199)       0:03:32.846 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.241)       0:03:33.088 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get monitor status] **********************************\\n[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.212)       0:03:33.300 ********** \\n[ceph] ok: [instance] => (item=instance)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Select admin host] ***********************************\\n[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.218)       0:03:33.519 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\\n[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.047)       0:03:33.566 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\\n[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:04.678)       0:03:38.245 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [Install Ceph host] *******************************************************\\n[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.043)       0:03:38.288 ********** \\n[ceph] included: vexxhost.ceph.cephadm_host for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\\n[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.066)       0:03:38.355 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\\n[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.102)       0:03:38.457 ********** \\n[ceph] skipping: [instance] => (item=instance) \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\\n[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.043)       0:03:38.501 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\\n[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.239)       0:03:38.741 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\\n[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:01.996)       0:03:40.737 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\\n[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.028)       0:03:40.766 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\\n[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.031)       0:03:40.797 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\\n[ceph] Monday 13 April 2026  16:01:54 +0000 (0:00:05.276)       0:03:46.074 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Install OSDs] ****************************************\\n[ceph] Monday 13 April 2026  16:02:05 +0000 (0:00:10.413)       0:03:56.487 ********** \\n[ceph] ok: [instance] => (item=/dev/ceph-instance-osd0/data)\\n[ceph] ok: [instance] => (item=/dev/ceph-instance-osd1/data)\\n[ceph] ok: [instance] => (item=/dev/ceph-instance-osd2/data)\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get mon dump] ****************************************\\n[ceph] Monday 13 April 2026  16:03:32 +0000 (0:01:27.847)       0:05:24.335 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Mark require osd release] ****************************\\n[ceph] Monday 13 April 2026  16:03:34 +0000 (0:00:01.668)       0:05:26.004 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\\n[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:01.631)       0:05:27.636 ********** \\n[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Set the retry count] *********************************\\n[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.066)       0:05:27.702 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\\n[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.046)       0:05:27.748 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : OSD daemon list] *************************************\\n[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:01.600)       0:05:29.348 ********** \\n[ceph] ok: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\\n[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:00.048)       0:05:29.396 ********** \\n[ceph] skipping: [instance] => (item=1) \\n[ceph] skipping: [instance] => (item=1) \\n[ceph] skipping: [instance] => (item=1) \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\\n[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.050)       0:05:29.447 ********** \\n[ceph] skipping: [instance]\\n[ceph] \\n[ceph] PLAY [all] *********************************************************************\\n[ceph] \\n[ceph] TASK [Ensure RBD kernel module is loaded] **************************************\\n[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.051)       0:05:29.499 ********** \\n[ceph] changed: [instance]\\n[ceph] \\n[ceph] PLAY RECAP *********************************************************************\\n[ceph] instance                   : ok=113  changed=27   unreachable=0    failed=0    skipped=28   rescued=0    ignored=0   \\n[ceph] \\n[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.303)       0:05:29.803 ********** \\n[ceph] =============================================================================== \\n[ceph] vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 126.72s\\n[ceph] vexxhost.ceph.osd : Install OSDs --------------------------------------- 87.85s\\n[ceph] vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.20s\\n[ceph] vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.41s\\n[ceph] vexxhost.containers.containerd : Install AppArmor packages -------------- 8.27s\\n[ceph] vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s\\n[ceph] vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 4.68s\\n[ceph] vexxhost.ceph.cephadm : Install packages -------------------------------- 4.65s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 4.28s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 3.05s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 2.83s\\n[ceph] vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.54s\\n[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.00s\\n[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 1.97s\\n[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.97s\\n[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.90s\\n[ceph] vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors ------------------ 1.68s\\n[ceph] vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.67s\\n[ceph] vexxhost.ceph.osd : Mark require osd release ---------------------------- 1.63s\\n[ceph] vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers ------------------ 1.63s\\n==> [ceph] Deployment complete\\n[kubernetes] \\n[kubernetes] PLAY [all] *********************************************************************\\n[kubernetes] \\n[kubernetes] TASK [Gathering Facts] *********************************************************\\n[kubernetes] Monday 13 April 2026  16:03:39 +0000 (0:00:00.018)       0:00:00.018 ********** \\n[kubernetes] [WARNING]: Platform linux on host instance is using the discovered Python\\n[kubernetes] interpreter at /usr/bin/python3.10, but future installation of another Python\\n[kubernetes] interpreter could change the meaning of that path. See\\n[kubernetes] https://docs.ansible.com/ansible-\\n[kubernetes] core/2.17/reference_appendices/interpreter_discovery.html for more information.\\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\\n[kubernetes] Monday 13 April 2026  16:03:40 +0000 (0:00:01.336)       0:00:01.354 ********** \\n[kubernetes] changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\\n[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\\n[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:03.778)       0:00:05.133 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning] *******\\n[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:00.292)       0:00:05.425 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.atmosphere.ethtool : Run \\\"ethtool\\\" tuning] **********************\\n[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.625)       0:00:06.051 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\\n[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.359)       0:00:06.410 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] PLAY [Configure Kubernetes VIP] ************************************************\\n[kubernetes] \\n[kubernetes] TASK [Gathering Facts] *********************************************************\\n[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.130)       0:00:06.541 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\\n[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.914)       0:00:07.455 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\\n[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.214)       0:00:07.670 ********** \\n[kubernetes] ok: [instance] => (item=/etc/keepalived/keepalived.conf)\\n[kubernetes] ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\\n[kubernetes] ok: [instance] => (item=/etc/haproxy/haproxy.cfg)\\n[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\\n[kubernetes] Monday 13 April 2026  16:03:47 +0000 (0:00:00.896)       0:00:08.567 ********** \\n[kubernetes] failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/manifests/kube-apiserver.yaml\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\\\", \\\"rc\\\": 257}\\n[kubernetes] failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/controller-manager.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/controller-manager.conf does not exist !\\\", \\\"rc\\\": 257}\\n[kubernetes] failed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/scheduler.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/scheduler.conf does not exist !\\\", \\\"rc\\\": 257}\\n[kubernetes] ...ignoring\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.622)       0:00:09.189 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.189)       0:00:09.379 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.183)       0:00:09.562 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.035)       0:00:09.598 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\\n[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.042)       0:00:09.640 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\\n[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.578)       0:00:10.219 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\\n[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.190)       0:00:10.409 ********** \\n[kubernetes] \\n[kubernetes] PLAY [Install Kubernetes] ******************************************************\\n[kubernetes] \\n[kubernetes] TASK [Gathering Facts] *********************************************************\\n[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.108)       0:00:10.518 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.917)       0:00:11.435 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.199)       0:00:11.635 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\\n[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.041)       0:00:11.676 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.202)       0:00:11.879 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.056)       0:00:11.935 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.382)       0:00:12.318 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.046)       0:00:12.365 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\\n[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.217)       0:00:12.583 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:03:52 +0000 (0:00:01.090)       0:00:13.674 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.066)       0:00:13.740 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.350)       0:00:14.091 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:02.060)       0:00:16.152 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.023)       0:00:16.175 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.024)       0:00:16.199 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.027)       0:00:16.226 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.935)       0:00:17.162 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.429)       0:00:17.591 ********** \\n[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\\n[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[kubernetes] Monday 13 April 2026  16:03:57 +0000 (0:00:00.940)       0:00:18.532 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.498)       0:00:19.030 ********** \\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.006)       0:00:19.037 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap] ***\\n[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.571)       0:00:19.608 ********** \\n[kubernetes] fatal: [instance]: FAILED! => {\\\"changed\\\": false, \\\"msg\\\": \\\"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\\\"}\\n[kubernetes] ...ignoring\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.534)       0:00:20.143 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.033)       0:00:20.177 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.030)       0:00:20.208 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.028)       0:00:20.237 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.036)       0:00:20.273 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.040)       0:00:20.313 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.195)       0:00:20.509 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.041)       0:00:20.550 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.689)       0:00:21.239 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.035)       0:00:21.275 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.214)       0:00:21.490 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.047)       0:00:21.537 ********** \\n[kubernetes] changed: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.755)       0:00:22.293 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.048)       0:00:22.342 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.033)       0:00:22.375 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.032)       0:00:22.407 ********** \\n[kubernetes] skipping: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\\n[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.031)       0:00:22.439 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\\n[kubernetes] Monday 13 April 2026  16:04:02 +0000 (0:00:00.987)       0:00:23.427 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\\n[kubernetes] Monday 13 April 2026  16:04:03 +0000 (0:00:00.428)       0:00:23.856 ********** \\n[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\\n[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\\n[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.904)       0:00:24.760 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.508)       0:00:25.269 ********** \\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.007)       0:00:25.276 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\\n[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.351)       0:00:25.628 ********** \\n[kubernetes] ok: [instance]\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\\n[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.203)       0:00:25.832 ********** \\n[kubernetes] ok: [instance] => {\\n[kubernetes]     \\\"msg\\\": \\\"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\\\"\\n[kubernetes] }\\n[kubernetes] \\n[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\\n[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.050)       0:00:25.882 ********** \\n[kubernetes] fatal: [instance]: FAILED! => {\\\"attempts\\\": 4, \\\"censored\\\": \\\"the output has been hidden due to the fact that 'no_log: true' was specified for this result\\\", \\\"changed\\\": false}\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (4 retries left).\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (3 retries left).\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (2 retries left).\\n[kubernetes] FAILED - RETRYING: [instance]: Download item (1 retries left).\\n[kubernetes] \\n[kubernetes] PLAY RECAP *********************************************************************\\n[kubernetes] instance                   : ok=45   changed=6    unreachable=0    failed=1    skipped=15   rescued=0    ignored=2   \\n[kubernetes] \\n[kubernetes] Monday 13 April 2026  16:04:36 +0000 (0:00:31.597)       0:00:57.480 ********** \\n[kubernetes] =============================================================================== \\n[kubernetes] vexxhost.containers.download_artifact : Download item ------------------ 31.60s\\n[kubernetes] vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.78s\\n[kubernetes] vexxhost.containers.download_artifact : Extract archive ----------------- 2.06s\\n[kubernetes] Gathering Facts --------------------------------------------------------- 1.34s\\n[kubernetes] vexxhost.containers.package : Update state for tar ---------------------- 1.09s\\n[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.99s\\n[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.94s\\n[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.94s\\n[kubernetes] Gathering Facts --------------------------------------------------------- 0.92s\\n[kubernetes] Gathering Facts --------------------------------------------------------- 0.91s\\n[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.90s\\n[kubernetes] vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 0.90s\\n[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.76s\\n[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.69s\\n[kubernetes] vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning ------- 0.63s\\n[kubernetes] vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443 ---- 0.62s\\n[kubernetes] vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest --------------- 0.58s\\n[kubernetes] vexxhost.containers.containerd : Enable and start service --------------- 0.57s\\n[kubernetes] vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap --- 0.53s\\n[kubernetes] vexxhost.containers.containerd : Create containerd config file ---------- 0.51s\", \"stdout_lines\": [\"==> Starting parallel deployment\", \"==> [ceph] Starting deployment\", \"==> [kubernetes] Starting deployment\", \"==> [lpfc] Starting deployment\", \"==> [udev] Starting deployment\", \"==> [iscsi] Starting deployment\", \"==> [multipathd] Starting deployment\", \"[udev] \", \"[udev] PLAY [controllers:computes] ****************************************************\", \"[udev] \", \"[udev] TASK [Gathering Facts] *********************************************************\", \"[udev] Monday 13 April 2026  15:58:08 +0000 (0:00:00.011)       0:00:00.011 ********** \", \"[lpfc] \", \"[lpfc] PLAY [controllers:computes] ****************************************************\", \"[lpfc] \", \"[lpfc] TASK [Gathering Facts] *********************************************************\", \"[lpfc] Monday 13 April 2026  15:58:08 +0000 (0:00:00.012)       0:00:00.012 ********** \", \"[ceph] \", \"[ceph] PLAY [all] *********************************************************************\", \"[ceph] \", \"[ceph] TASK [Gathering Facts] *********************************************************\", \"[ceph] Monday 13 April 2026  15:58:08 +0000 (0:00:00.021)       0:00:00.021 ********** \", \"[udev] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[udev] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[udev] interpreter could change the meaning of that path. See\", \"[udev] https://docs.ansible.com/ansible-\", \"[udev] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[udev] ok: [instance]\", \"[udev] \", \"[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray] ***\", \"[udev] Monday 13 April 2026  15:58:09 +0000 (0:00:01.150)       0:00:01.162 ********** \", \"[lpfc] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[lpfc] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[lpfc] interpreter could change the meaning of that path. See\", \"[lpfc] https://docs.ansible.com/ansible-\", \"[lpfc] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[lpfc] ok: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded] ********\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:01.155)       0:00:01.168 ********** \", \"[lpfc] ok: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Install the configuration file] ***************\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.288)       0:00:01.457 ********** \", \"[ceph] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[ceph] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[ceph] interpreter could change the meaning of that path. See\", \"[ceph] https://docs.ansible.com/ansible-\", \"[ceph] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Get the values for the module parameters] *****\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.026)       0:00:01.483 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Fail if atmosphere_ceph_enabled is set] **********************************\", \"[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:01.179)       0:00:01.201 ********** \", \"[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \", \"[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \", \"[lpfc] skipping: [instance] => (item=lpfc_max_luns) \", \"[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly] ***\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.040)       0:00:01.524 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\", \"[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.039)       0:00:01.240 ********** \", \"[lpfc] skipping: [instance] => (item=lpfc_lun_queue_depth) \", \"[lpfc] skipping: [instance] => (item=lpfc_sg_seg_cnt) \", \"[lpfc] skipping: [instance] => (item=lpfc_max_luns) \", \"[lpfc] skipping: [instance] => (item=lpfc_enable_fc4_type) \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed] ***\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.034)       0:00:01.559 ********** \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] TASK [Reboot the system if the configuration file has changed] *****************\", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.023)       0:00:01.582 ********** \", \"[lpfc] skipping: [instance]\", \"[lpfc] \", \"[lpfc] PLAY RECAP *********************************************************************\", \"[lpfc] instance                   : ok=2    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0   \", \"[lpfc] \", \"[lpfc] Monday 13 April 2026  15:58:09 +0000 (0:00:00.029)       0:00:01.612 ********** \", \"[lpfc] =============================================================================== \", \"[lpfc] Gathering Facts --------------------------------------------------------- 1.16s\", \"[lpfc] vexxhost.atmosphere.lpfc : Detect if the \\\"lpfc\\\" module is loaded -------- 0.29s\", \"[lpfc] vexxhost.atmosphere.lpfc : Get the values for the module parameters ----- 0.04s\", \"[lpfc] vexxhost.atmosphere.lpfc : Detect if the run-time module parameters are set correctly --- 0.03s\", \"[lpfc] Reboot the system if the configuration file has changed ----------------- 0.03s\", \"[lpfc] vexxhost.atmosphere.lpfc : Install the configuration file --------------- 0.03s\", \"[lpfc] vexxhost.atmosphere.lpfc : Update \\\"initramfs\\\" if the configuration file has changed --- 0.02s\", \"==> [lpfc] Deployment complete\", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] PLAY [Deploy Ceph monitors & managers] *****************************************\", \"[ceph] \", \"[ceph] TASK [Gathering Facts] *********************************************************\", \"[ceph] Monday 13 April 2026  15:58:09 +0000 (0:00:00.192)       0:00:01.433 ********** \", \"[udev] changed: [instance]\", \"[udev] \", \"[udev] TASK [vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention] *******\", \"[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.656)       0:00:01.818 ********** \", \"[udev] changed: [instance]\", \"[udev] \", \"[udev] RUNNING HANDLER [vexxhost.atmosphere.udev : Reload udev] ***********************\", \"[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.498)       0:00:02.316 ********** \", \"[udev] ok: [instance]\", \"[udev] \", \"[udev] PLAY RECAP *********************************************************************\", \"[udev] instance                   : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   \", \"[udev] \", \"[udev] Monday 13 April 2026  15:58:10 +0000 (0:00:00.280)       0:00:02.597 ********** \", \"[udev] =============================================================================== \", \"[udev] Gathering Facts --------------------------------------------------------- 1.15s\", \"[udev] vexxhost.atmosphere.udev : Add udev rules for Pure Storage FlashArray --- 0.66s\", \"[udev] vexxhost.atmosphere.udev : Add udev rules for SCSI Unit Attention ------- 0.50s\", \"[udev] vexxhost.atmosphere.udev : Reload udev ---------------------------------- 0.28s\", \"==> [udev] Deployment complete\", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  15:58:10 +0000 (0:00:00.932)       0:00:02.366 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.306)       0:00:02.672 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.037)       0:00:02.709 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.320)       0:00:03.030 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  15:58:11 +0000 (0:00:00.067)       0:00:03.097 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.722)       0:00:03.819 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.049)       0:00:03.869 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.048)       0:00:03.917 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  15:58:12 +0000 (0:00:00.220)       0:00:04.138 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:01.109)       0:00:05.248 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  15:58:13 +0000 (0:00:00.065)       0:00:05.313 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  15:58:14 +0000 (0:00:00.715)       0:00:06.029 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:02.832)       0:00:08.861 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.034)       0:00:08.896 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.032)       0:00:08.928 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[ceph] Monday 13 April 2026  15:58:17 +0000 (0:00:00.031)       0:00:08.960 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[ceph] Monday 13 April 2026  15:58:25 +0000 (0:00:08.266)       0:00:17.227 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[ceph] Monday 13 April 2026  15:58:26 +0000 (0:00:00.555)       0:00:17.782 ********** \", \"[ceph] changed: [instance] => (item={'path': '/etc/containerd'})\", \"[ceph] changed: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[ceph] changed: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[ceph] changed: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.918)       0:00:18.701 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.524)       0:00:19.225 ********** \", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\", \"[ceph] Monday 13 April 2026  15:58:27 +0000 (0:00:00.008)       0:00:19.234 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\", \"[ceph] Monday 13 April 2026  15:58:28 +0000 (0:00:00.920)       0:00:20.155 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.429)       0:00:20.584 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.513)       0:00:21.098 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.201)       0:00:21.299 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  15:58:29 +0000 (0:00:00.054)       0:00:21.354 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  15:58:30 +0000 (0:00:00.832)       0:00:22.187 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\", \"[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:04.275)       0:00:26.462 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\", \"[ceph] Monday 13 April 2026  15:58:35 +0000 (0:00:00.963)       0:00:27.426 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\", \"[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.334)       0:00:27.761 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\", \"[ceph] Monday 13 April 2026  15:58:36 +0000 (0:00:00.469)       0:00:28.230 ********** \", \"[ceph] changed: [instance] => (item={'path': '/etc/docker'})\", \"[ceph] changed: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\", \"[ceph] changed: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\", \"[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.553)       0:00:28.784 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\", \"[ceph] Monday 13 April 2026  15:58:37 +0000 (0:00:00.428)       0:00:29.213 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\", \"[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.436)       0:00:29.650 ********** \", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.containerd : Reload systemd] **************\", \"[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.011)       0:00:29.661 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] RUNNING HANDLER [vexxhost.containers.docker : Restart docker] ******************\", \"[ceph] Monday 13 April 2026  15:58:38 +0000 (0:00:00.687)       0:00:30.349 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\", \"[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:01.135)       0:00:31.484 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\", \"[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.600)       0:00:32.085 ********** \", \"[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\", \"[ceph] Monday 13 April 2026  15:58:40 +0000 (0:00:00.054)       0:00:32.139 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\", \"[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:04.649)       0:00:36.788 ********** \", \"[ceph] ok: [instance] => (item=chronyd)\", \"[ceph] ok: [instance] => (item=sshd)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\", \"[ceph] Monday 13 April 2026  15:58:45 +0000 (0:00:00.638)       0:00:37.427 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\", \"[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.279)       0:00:37.706 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\", \"[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.201)       0:00:37.908 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\", \"[ceph] Monday 13 April 2026  15:58:46 +0000 (0:00:00.502)       0:00:38.410 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Get `cephadm ls` status] *****************************\", \"[ceph] Monday 13 April 2026  15:58:47 +0000 (0:00:00.331)       0:00:38.742 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Parse the `cephadm ls` output] ***********************\", \"[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:01.603)       0:00:40.345 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Assimilate existing configs in `ceph.conf`] **********\", \"[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.058)       0:00:40.403 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Adopt monitor to cluster] ****************************\", \"[ceph] Monday 13 April 2026  15:58:48 +0000 (0:00:00.038)       0:00:40.442 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Adopt manager to cluster] ****************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.477 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Enable \\\"cephadm\\\" mgr module] *************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.037)       0:00:40.514 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Set orchestrator backend to \\\"cephadm\\\"] ***************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.039)       0:00:40.554 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Use `cephadm` user for cephadm] **********************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.590 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Generate \\\"cephadm\\\" key] ******************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.038)       0:00:40.629 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Set Ceph Monitor IP address] *************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.035)       0:00:40.664 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Check if any node is bootstrapped] *******************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.120)       0:00:40.785 ********** \", \"[ceph] ok: [instance] => (item=instance)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Select pre-existing bootstrap node if exists] ********\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.230)       0:00:41.015 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Bootstrap cluster] ***********************************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.048)       0:00:41.064 ********** \", \"[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/mon/tasks/bootstrap-ceph.yml for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Generate temporary file for \\\"ceph.conf\\\"] *************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.062)       0:00:41.126 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Include extra configuration values] ******************\", \"[ceph] Monday 13 April 2026  15:58:49 +0000 (0:00:00.265)       0:00:41.392 ********** \", \"[ceph] changed: [instance] => (item={'option': 'mon allow pool size one', 'section': 'global', 'value': True})\", \"[ceph] changed: [instance] => (item={'option': 'osd crush chooseleaf type', 'section': 'global', 'value': 0})\", \"[ceph] changed: [instance] => (item={'option': 'auth allow insecure global id reclaim', 'section': 'mon', 'value': False})\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Run Bootstrap coomand] *******************************\", \"[ceph] Monday 13 April 2026  15:58:50 +0000 (0:00:00.662)       0:00:42.055 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Remove temporary file for \\\"ceph.conf\\\"] ***************\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:02:06.721)       0:02:48.776 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Set bootstrap node] **********************************\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.202)       0:02:48.979 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Install Ceph host] *******************************************************\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.046)       0:02:49.026 ********** \", \"[ceph] included: vexxhost.ceph.cephadm_host for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\", \"[ceph] Monday 13 April 2026  16:00:57 +0000 (0:00:00.077)       0:02:49.104 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\", \"[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:01.540)       0:02:50.645 ********** \", \"[ceph] ok: [instance] => (item=instance)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\", \"[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.059)       0:02:50.704 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\", \"[ceph] Monday 13 April 2026  16:00:59 +0000 (0:00:00.336)       0:02:51.040 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors] ******************\", \"[ceph] Monday 13 April 2026  16:01:01 +0000 (0:00:01.897)       0:02:52.938 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mon : Validate monitor exist] ******************************\", \"[ceph] Monday 13 April 2026  16:01:03 +0000 (0:00:01.682)       0:02:54.621 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Install Ceph host] *******************************************************\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:11.199)       0:03:05.820 ********** \", \"[ceph] included: vexxhost.ceph.cephadm_host for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.075)       0:03:05.896 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.044)       0:03:05.940 ********** \", \"[ceph] skipping: [instance] => (item=instance) \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.045)       0:03:05.986 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\", \"[ceph] Monday 13 April 2026  16:01:14 +0000 (0:00:00.270)       0:03:06.256 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers] ******************\", \"[ceph] Monday 13 April 2026  16:01:16 +0000 (0:00:01.966)       0:03:08.222 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mgr : Validate manager exist] ******************************\", \"[ceph] Monday 13 April 2026  16:01:18 +0000 (0:00:01.628)       0:03:09.851 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module] ***********\", \"[ceph] Monday 13 April 2026  16:01:19 +0000 (0:00:01.551)       0:03:11.402 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] PLAY [Deploy Ceph OSDs] ********************************************************\", \"[ceph] \", \"[ceph] TASK [Gathering Facts] *********************************************************\", \"[ceph] Monday 13 April 2026  16:01:22 +0000 (0:00:02.542)       0:03:13.944 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.932)       0:03:14.876 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.215)       0:03:15.092 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.039)       0:03:15.132 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.214)       0:03:15.346 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  16:01:23 +0000 (0:00:00.065)       0:03:15.411 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.316)       0:03:15.727 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.052)       0:03:15.780 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.048)       0:03:15.828 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[ceph] Monday 13 April 2026  16:01:24 +0000 (0:00:00.210)       0:03:16.038 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:01.056)       0:03:17.095 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  16:01:25 +0000 (0:00:00.071)       0:03:17.166 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  16:01:26 +0000 (0:00:00.332)       0:03:17.499 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:01.969)       0:03:19.468 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.028)       0:03:19.497 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.029)       0:03:19.527 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[ceph] Monday 13 April 2026  16:01:28 +0000 (0:00:00.030)       0:03:19.558 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.989)       0:03:20.547 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[ceph] Monday 13 April 2026  16:01:29 +0000 (0:00:00.414)       0:03:20.962 ********** \", \"[ceph] ok: [instance] => (item={'path': '/etc/containerd'})\", \"[ceph] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[ceph] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[ceph] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.899)       0:03:21.861 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.467)       0:03:22.329 ********** \", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[ceph] Monday 13 April 2026  16:01:30 +0000 (0:00:00.006)       0:03:22.336 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.346)       0:03:22.682 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.202)       0:03:22.884 ********** \", \"[ceph] ok: [instance] => {\", \"[ceph]     \\\"msg\\\": \\\"https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz\\\"\", \"[ceph] }\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.048)       0:03:22.933 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[ceph] Monday 13 April 2026  16:01:31 +0000 (0:00:00.326)       0:03:23.259 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Install AppArmor packages] ******************\", \"[ceph] Monday 13 April 2026  16:01:34 +0000 (0:00:03.049)       0:03:26.309 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Ensure group \\\"docker\\\" exists] ***************\", \"[ceph] Monday 13 April 2026  16:01:35 +0000 (0:00:01.035)       0:03:27.344 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd service file for docker] *****\", \"[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.200)       0:03:27.544 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create folders for configuration] ***********\", \"[ceph] Monday 13 April 2026  16:01:36 +0000 (0:00:00.413)       0:03:27.958 ********** \", \"[ceph] ok: [instance] => (item={'path': '/etc/docker'})\", \"[ceph] ok: [instance] => (item={'path': '/var/lib/docker', 'mode': '0o710'})\", \"[ceph] ok: [instance] => (item={'path': '/run/docker', 'mode': '0o711'})\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create systemd socket file for docker] ******\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.528)       0:03:28.487 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Create docker daemon config file] ***********\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.413)       0:03:28.900 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Force any restarts if necessary] ************\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.409)       0:03:29.309 ********** \", \"[ceph] \", \"[ceph] TASK [vexxhost.containers.docker : Enable and start service] *******************\", \"[ceph] Monday 13 April 2026  16:01:37 +0000 (0:00:00.007)       0:03:29.316 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Gather variables for each operating system] ******\", \"[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.364)       0:03:29.680 ********** \", \"[ceph] ok: [instance] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/cephadm/vars/ubuntu-22.04.yml)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Install packages] ********************************\", \"[ceph] Monday 13 April 2026  16:01:38 +0000 (0:00:00.050)       0:03:29.731 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure services are started] *********************\", \"[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.988)       0:03:30.719 ********** \", \"[ceph] ok: [instance] => (item=chronyd)\", \"[ceph] ok: [instance] => (item=sshd)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Download \\\"cephadm\\\"] ******************************\", \"[ceph] Monday 13 April 2026  16:01:39 +0000 (0:00:00.644)       0:03:31.363 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Remove cephadm from old path] ********************\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:01.283)       0:03:32.647 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Ensure \\\"cephadm\\\" user is present] ****************\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.199)       0:03:32.846 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm : Allow \\\"cephadm\\\" user to have passwordless sudo] ***\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.241)       0:03:33.088 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get monitor status] **********************************\", \"[ceph] Monday 13 April 2026  16:01:41 +0000 (0:00:00.212)       0:03:33.300 ********** \", \"[ceph] ok: [instance] => (item=instance)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Select admin host] ***********************************\", \"[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.218)       0:03:33.519 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get `cephadm ls` status] *****************************\", \"[ceph] Monday 13 April 2026  16:01:42 +0000 (0:00:00.047)       0:03:33.566 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Parse the `cephadm ls` output] ***********************\", \"[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:04.678)       0:03:38.245 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [Install Ceph host] *******************************************************\", \"[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.043)       0:03:38.288 ********** \", \"[ceph] included: vexxhost.ceph.cephadm_host for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Get public SSH key for \\\"cephadm\\\" user] ******\", \"[ceph] Monday 13 April 2026  16:01:46 +0000 (0:00:00.066)       0:03:38.355 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set fact with public SSH key for \\\"cephadm\\\" user] ***\", \"[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.102)       0:03:38.457 ********** \", \"[ceph] skipping: [instance] => (item=instance) \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Set authorized key for \\\"cephadm\\\"] ***********\", \"[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.043)       0:03:38.501 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.cephadm_host : Add new host to Ceph] ***********************\", \"[ceph] Monday 13 April 2026  16:01:47 +0000 (0:00:00.239)       0:03:38.741 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Adopt OSDs to cluster] *******************************\", \"[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:01.996)       0:03:40.737 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Wait until OSD added to cephadm] *********************\", \"[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.028)       0:03:40.766 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Ensure all OSDs are non-legacy] **********************\", \"[ceph] Monday 13 April 2026  16:01:49 +0000 (0:00:00.031)       0:03:40.797 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get `ceph-volume lvm list` status] *******************\", \"[ceph] Monday 13 April 2026  16:01:54 +0000 (0:00:05.276)       0:03:46.074 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Install OSDs] ****************************************\", \"[ceph] Monday 13 April 2026  16:02:05 +0000 (0:00:10.413)       0:03:56.487 ********** \", \"[ceph] ok: [instance] => (item=/dev/ceph-instance-osd0/data)\", \"[ceph] ok: [instance] => (item=/dev/ceph-instance-osd1/data)\", \"[ceph] ok: [instance] => (item=/dev/ceph-instance-osd2/data)\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get mon dump] ****************************************\", \"[ceph] Monday 13 April 2026  16:03:32 +0000 (0:01:27.847)       0:05:24.335 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Mark require osd release] ****************************\", \"[ceph] Monday 13 April 2026  16:03:34 +0000 (0:00:01.668)       0:05:26.004 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Wait for all OSD to be running] **********************\", \"[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:01.631)       0:05:27.636 ********** \", \"[ceph] included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/ceph/roles/osd/tasks/check-osds.yml for instance\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Set the retry count] *********************************\", \"[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.066)       0:05:27.702 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Get `ceph orch ps`] **********************************\", \"[ceph] Monday 13 April 2026  16:03:36 +0000 (0:00:00.046)       0:05:27.748 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : OSD daemon list] *************************************\", \"[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:01.600)       0:05:29.348 ********** \", \"[ceph] ok: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Fail if any OSD not running] *************************\", \"[ceph] Monday 13 April 2026  16:03:37 +0000 (0:00:00.048)       0:05:29.396 ********** \", \"[ceph] skipping: [instance] => (item=1) \", \"[ceph] skipping: [instance] => (item=1) \", \"[ceph] skipping: [instance] => (item=1) \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] TASK [vexxhost.ceph.osd : Fail if any duplicate OSD ID] ************************\", \"[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.050)       0:05:29.447 ********** \", \"[ceph] skipping: [instance]\", \"[ceph] \", \"[ceph] PLAY [all] *********************************************************************\", \"[ceph] \", \"[ceph] TASK [Ensure RBD kernel module is loaded] **************************************\", \"[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.051)       0:05:29.499 ********** \", \"[ceph] changed: [instance]\", \"[ceph] \", \"[ceph] PLAY RECAP *********************************************************************\", \"[ceph] instance                   : ok=113  changed=27   unreachable=0    failed=0    skipped=28   rescued=0    ignored=0   \", \"[ceph] \", \"[ceph] Monday 13 April 2026  16:03:38 +0000 (0:00:00.303)       0:05:29.803 ********** \", \"[ceph] =============================================================================== \", \"[ceph] vexxhost.ceph.mon : Run Bootstrap coomand ----------------------------- 126.72s\", \"[ceph] vexxhost.ceph.osd : Install OSDs --------------------------------------- 87.85s\", \"[ceph] vexxhost.ceph.mon : Validate monitor exist ----------------------------- 11.20s\", \"[ceph] vexxhost.ceph.osd : Get `ceph-volume lvm list` status ------------------ 10.41s\", \"[ceph] vexxhost.containers.containerd : Install AppArmor packages -------------- 8.27s\", \"[ceph] vexxhost.ceph.osd : Ensure all OSDs are non-legacy ---------------------- 5.28s\", \"[ceph] vexxhost.ceph.osd : Get `cephadm ls` status ----------------------------- 4.68s\", \"[ceph] vexxhost.ceph.cephadm : Install packages -------------------------------- 4.65s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 4.28s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 3.05s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 2.83s\", \"[ceph] vexxhost.ceph.mgr : Enable the Ceph Manager prometheus module ----------- 2.54s\", \"[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 2.00s\", \"[ceph] vexxhost.containers.download_artifact : Extract archive ----------------- 1.97s\", \"[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.97s\", \"[ceph] vexxhost.ceph.cephadm_host : Add new host to Ceph ----------------------- 1.90s\", \"[ceph] vexxhost.ceph.mon : Configure \\\"mon\\\" label for monitors ------------------ 1.68s\", \"[ceph] vexxhost.ceph.osd : Get mon dump ---------------------------------------- 1.67s\", \"[ceph] vexxhost.ceph.osd : Mark require osd release ---------------------------- 1.63s\", \"[ceph] vexxhost.ceph.mgr : Configure \\\"mgr\\\" label for managers ------------------ 1.63s\", \"==> [ceph] Deployment complete\", \"[kubernetes] \", \"[kubernetes] PLAY [all] *********************************************************************\", \"[kubernetes] \", \"[kubernetes] TASK [Gathering Facts] *********************************************************\", \"[kubernetes] Monday 13 April 2026  16:03:39 +0000 (0:00:00.018)       0:00:00.018 ********** \", \"[kubernetes] [WARNING]: Platform linux on host instance is using the discovered Python\", \"[kubernetes] interpreter at /usr/bin/python3.10, but future installation of another Python\", \"[kubernetes] interpreter could change the meaning of that path. See\", \"[kubernetes] https://docs.ansible.com/ansible-\", \"[kubernetes] core/2.17/reference_appendices/interpreter_discovery.html for more information.\", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.sysctl : Configure sysctl values] ********************\", \"[kubernetes] Monday 13 April 2026  16:03:40 +0000 (0:00:01.336)       0:00:01.354 ********** \", \"[kubernetes] changed: [instance] => (item={'name': 'fs.aio-max-nr', 'value': 1048576})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_timestamps', 'value': 0})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_sack', 'value': 1})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_budget', 'value': 1000})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.netdev_max_backlog', 'value': 250000})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_max', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_max', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.rmem_default', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.wmem_default', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.core.optmem_max', 'value': 4194304})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_rmem', 'value': '4096 87380 4194304'})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_wmem', 'value': '4096 65536 4194304'})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_low_latency', 'value': 1})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.tcp_adv_win_scale', 'value': 1})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh1', 'value': 128})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh2', 'value': 28872})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv4.neigh.default.gc_thresh3', 'value': 32768})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh1', 'value': 128})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh2', 'value': 28872})\", \"[kubernetes] changed: [instance] => (item={'name': 'net.ipv6.neigh.default.gc_thresh3', 'value': 32768})\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.ethtool : Create folder for persistent configuration] ***\", \"[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:03.778)       0:00:05.133 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning] *******\", \"[kubernetes] Monday 13 April 2026  16:03:44 +0000 (0:00:00.292)       0:00:05.425 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.atmosphere.ethtool : Run \\\"ethtool\\\" tuning] **********************\", \"[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.625)       0:00:06.051 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [Set a fact with the \\\"atmosphere_images\\\" for other plays] *****************\", \"[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.359)       0:00:06.410 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] PLAY [Configure Kubernetes VIP] ************************************************\", \"[kubernetes] \", \"[kubernetes] TASK [Gathering Facts] *********************************************************\", \"[kubernetes] Monday 13 April 2026  16:03:45 +0000 (0:00:00.130)       0:00:06.541 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\", \"[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.914)       0:00:07.455 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\", \"[kubernetes] Monday 13 April 2026  16:03:46 +0000 (0:00:00.214)       0:00:07.670 ********** \", \"[kubernetes] ok: [instance] => (item=/etc/keepalived/keepalived.conf)\", \"[kubernetes] ok: [instance] => (item=/etc/keepalived/check_apiserver.sh)\", \"[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/keepalived.yaml)\", \"[kubernetes] ok: [instance] => (item=/etc/haproxy/haproxy.cfg)\", \"[kubernetes] ok: [instance] => (item=/etc/kubernetes/manifests/haproxy.yaml)\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\", \"[kubernetes] Monday 13 April 2026  16:03:47 +0000 (0:00:00.896)       0:00:08.567 ********** \", \"[kubernetes] failed: [instance] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/manifests/kube-apiserver.yaml\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\\\", \\\"rc\\\": 257}\", \"[kubernetes] failed: [instance] (item=/etc/kubernetes/controller-manager.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/controller-manager.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/controller-manager.conf does not exist !\\\", \\\"rc\\\": 257}\", \"[kubernetes] failed: [instance] (item=/etc/kubernetes/scheduler.conf) => {\\\"ansible_loop_var\\\": \\\"item\\\", \\\"changed\\\": false, \\\"item\\\": \\\"/etc/kubernetes/scheduler.conf\\\", \\\"msg\\\": \\\"Path /etc/kubernetes/scheduler.conf does not exist !\\\", \\\"rc\\\": 257}\", \"[kubernetes] ...ignoring\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.622)       0:00:09.189 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.189)       0:00:09.379 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.183)       0:00:09.562 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.035)       0:00:09.598 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\", \"[kubernetes] Monday 13 April 2026  16:03:48 +0000 (0:00:00.042)       0:00:09.640 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.578)       0:00:10.219 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\", \"[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.190)       0:00:10.409 ********** \", \"[kubernetes] \", \"[kubernetes] PLAY [Install Kubernetes] ******************************************************\", \"[kubernetes] \", \"[kubernetes] TASK [Gathering Facts] *********************************************************\", \"[kubernetes] Monday 13 April 2026  16:03:49 +0000 (0:00:00.108)       0:00:10.518 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.917)       0:00:11.435 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.199)       0:00:11.635 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\", \"[kubernetes] Monday 13 April 2026  16:03:50 +0000 (0:00:00.041)       0:00:11.676 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.202)       0:00:11.879 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://github.com/opencontainers/runc/releases/download/v1.4.0/runc.amd64\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.056)       0:00:11.935 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.382)       0:00:12.318 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.046)       0:00:12.365 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.package : Update state for tar] **********************\", \"[kubernetes] Monday 13 April 2026  16:03:51 +0000 (0:00:00.217)       0:00:12.583 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:52 +0000 (0:00:01.090)       0:00:13.674 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://github.com/containerd/containerd/releases/download/v2.2.0/containerd-2.2.0-linux-amd64.tar.gz\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.066)       0:00:13.740 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:03:53 +0000 (0:00:00.350)       0:00:14.091 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:02.060)       0:00:16.152 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.023)       0:00:16.175 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.024)       0:00:16.199 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[kubernetes] Monday 13 April 2026  16:03:55 +0000 (0:00:00.027)       0:00:16.226 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.935)       0:00:17.162 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[kubernetes] Monday 13 April 2026  16:03:56 +0000 (0:00:00.429)       0:00:17.591 ********** \", \"[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\", \"[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[kubernetes] Monday 13 April 2026  16:03:57 +0000 (0:00:00.940)       0:00:18.532 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.498)       0:00:19.030 ********** \", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.006)       0:00:19.037 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap] ***\", \"[kubernetes] Monday 13 April 2026  16:03:58 +0000 (0:00:00.571)       0:00:19.608 ********** \", \"[kubernetes] fatal: [instance]: FAILED! => {\\\"changed\\\": false, \\\"msg\\\": \\\"Failed to import the required Python library (kubernetes) on instance's Python /usr/bin/python3.10. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\\\"}\", \"[kubernetes] ...ignoring\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.534)       0:00:20.143 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.033)       0:00:20.177 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.030)       0:00:20.208 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.028)       0:00:20.237 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.036)       0:00:20.273 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.040)       0:00:20.313 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.195)       0:00:20.509 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:03:59 +0000 (0:00:00.041)       0:00:20.550 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.689)       0:00:21.239 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.035)       0:00:21.275 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.214)       0:00:21.490 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:04:00 +0000 (0:00:00.047)       0:00:21.537 ********** \", \"[kubernetes] changed: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Extract archive] *****************\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.755)       0:00:22.293 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install SELinux packages] ***************\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.048)       0:00:22.342 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.033)       0:00:22.375 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.032)       0:00:22.407 ********** \", \"[kubernetes] skipping: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Install AppArmor packages] **************\", \"[kubernetes] Monday 13 April 2026  16:04:01 +0000 (0:00:00.031)       0:00:22.439 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\", \"[kubernetes] Monday 13 April 2026  16:04:02 +0000 (0:00:00.987)       0:00:23.427 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create folders for configuration] *******\", \"[kubernetes] Monday 13 April 2026  16:04:03 +0000 (0:00:00.428)       0:00:23.856 ********** \", \"[kubernetes] ok: [instance] => (item={'path': '/etc/containerd'})\", \"[kubernetes] ok: [instance] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd', 'mode': '0o711'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\", \"[kubernetes] ok: [instance] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Create containerd config file] **********\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.904)       0:00:24.760 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.508)       0:00:25.269 ********** \", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.containerd : Enable and start service] ***************\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.007)       0:00:25.276 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.forget_package : Forget package] *********************\", \"[kubernetes] Monday 13 April 2026  16:04:04 +0000 (0:00:00.351)       0:00:25.628 ********** \", \"[kubernetes] ok: [instance]\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Starting download of file] *******\", \"[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.203)       0:00:25.832 ********** \", \"[kubernetes] ok: [instance] => {\", \"[kubernetes]     \\\"msg\\\": \\\"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.34.0/crictl-v1.34.0-linux-amd64.tar.gz\\\"\", \"[kubernetes] }\", \"[kubernetes] \", \"[kubernetes] TASK [vexxhost.containers.download_artifact : Download item] *******************\", \"[kubernetes] Monday 13 April 2026  16:04:05 +0000 (0:00:00.050)       0:00:25.882 ********** \", \"[kubernetes] fatal: [instance]: FAILED! => {\\\"attempts\\\": 4, \\\"censored\\\": \\\"the output has been hidden due to the fact that 'no_log: true' was specified for this result\\\", \\\"changed\\\": false}\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (4 retries left).\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (3 retries left).\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (2 retries left).\", \"[kubernetes] FAILED - RETRYING: [instance]: Download item (1 retries left).\", \"[kubernetes] \", \"[kubernetes] PLAY RECAP *********************************************************************\", \"[kubernetes] instance                   : ok=45   changed=6    unreachable=0    failed=1    skipped=15   rescued=0    ignored=2   \", \"[kubernetes] \", \"[kubernetes] Monday 13 April 2026  16:04:36 +0000 (0:00:31.597)       0:00:57.480 ********** \", \"[kubernetes] =============================================================================== \", \"[kubernetes] vexxhost.containers.download_artifact : Download item ------------------ 31.60s\", \"[kubernetes] vexxhost.atmosphere.sysctl : Configure sysctl values -------------------- 3.78s\", \"[kubernetes] vexxhost.containers.download_artifact : Extract archive ----------------- 2.06s\", \"[kubernetes] Gathering Facts --------------------------------------------------------- 1.34s\", \"[kubernetes] vexxhost.containers.package : Update state for tar ---------------------- 1.09s\", \"[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.99s\", \"[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.94s\", \"[kubernetes] vexxhost.containers.containerd : Install AppArmor packages -------------- 0.94s\", \"[kubernetes] Gathering Facts --------------------------------------------------------- 0.92s\", \"[kubernetes] Gathering Facts --------------------------------------------------------- 0.91s\", \"[kubernetes] vexxhost.containers.containerd : Create folders for configuration ------- 0.90s\", \"[kubernetes] vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack ---------------- 0.90s\", \"[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.76s\", \"[kubernetes] vexxhost.containers.download_artifact : Download item ------------------- 0.69s\", \"[kubernetes] vexxhost.atmosphere.ethtool : Install persistent \\\"ethtool\\\" tuning ------- 0.63s\", \"[kubernetes] vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443 ---- 0.62s\", \"[kubernetes] vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest --------------- 0.58s\", \"[kubernetes] vexxhost.containers.containerd : Enable and start service --------------- 0.57s\", \"[kubernetes] vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \\\"kubeadm-config\\\" ConfigMap --- 0.53s\", \"[kubernetes] vexxhost.containers.containerd : Create containerd config file ---------- 0.51s\"]}",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0",
                                "",
                                "Monday 13 April 2026  16:04:36 +0000 (0:06:29.293)       0:06:35.974 **********",
                                "===============================================================================",
                                "Deploy with parallel orchestrator ------------------------------------- 389.29s",
                                "Build atmosphere binary ------------------------------------------------- 6.67s",
                                "CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml",
                                "ERROR    [aio > converge] \u001b[31mExecuted: Failed\u001b[0m",
                                "ERROR    Ansible return code was 2, command was: ansible-playbook --inventory /home/zuul/.ansible/tmp/molecule.v9Wo.aio/inventory --skip-tags molecule-notest,notest --inventory=/home/zuul/src/github.com/vexxhost/atmosphere/inventory.yaml /home/zuul/src/github.com/vexxhost/atmosphere/molecule/aio/converge.yml"
                            ],
                            "zuul_log_id": "0242ac17-0011-cee4-9ae4-000000000006-1-instance"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:37.389411Z",
                            "start": "2026-04-13T15:56:24.169169Z"
                        },
                        "id": "0242ac17-0011-cee4-9ae4-000000000006",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 2,
            "failures": 1,
            "ignored": 0,
            "ok": 2,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T16:04:48.279721Z",
                    "start": "2026-04-13T16:04:38.138439Z"
                },
                "id": "0242ac17-0011-e84b-08d7-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:38.512554Z",
                            "start": "2026-04-13T16:04:38.154238Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.108373",
                            "end": "2026-04-13 16:04:38.975722",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000000d-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:38.867349",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000000d-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:39.057620Z",
                            "start": "2026-04-13T16:04:38.536907Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/tmp/logs/system /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.69:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:39.704256Z",
                            "start": "2026-04-13T16:04:39.064397Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:40.088595Z",
                            "start": "2026-04-13T16:04:39.716448Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000012",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:00.064229",
                            "end": "2026-04-13 16:04:40.355292",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000014-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:40.291063",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0413 16:04:40.344932   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:40.345917   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:40.346710   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:40.348615   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:40.349350   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0413 16:04:40.344932   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:40.345917   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:40.346710   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:40.348615   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:40.349350   39716 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000014-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:40.637671Z",
                            "start": "2026-04-13T16:04:40.117627Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/tmp/logs/helm /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.69:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/values/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/values/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:41.126078Z",
                            "start": "2026-04-13T16:04:40.644748Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:41.335169Z",
                            "start": "2026-04-13T16:04:41.136777Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000019",
                        "name": "creating directory for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.208445",
                            "end": "2026-04-13 16:04:41.784160",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000001a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:41.575715",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0413 16:04:41.640266   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.641283   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.643053   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.645181   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.645832   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.645932   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.646659   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.647614   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0413 16:04:41.648492   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.650446   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0413 16:04:41.707656   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.708690   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.709893   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.710913   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.711843   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nE0413 16:04:41.713551   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.714299   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.716153   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.716743   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.718452   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nE0413 16:04:41.773527   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.774259   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.776164   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.776785   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:41.778591   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0413 16:04:41.640266   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.641283   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.643053   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.645181   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.645832   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.645932   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.646659   39773 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.647614   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0413 16:04:41.648492   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.650446   39769 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0413 16:04:41.707656   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.708690   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.709893   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.710913   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.711843   39810 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "E0413 16:04:41.713551   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.714299   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.716153   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.716743   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.718452   39817 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "E0413 16:04:41.773527   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.774259   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.776164   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.776785   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:41.778591   39847 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000001a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:41.913287Z",
                            "start": "2026-04-13T16:04:41.392271Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:42.126646Z",
                            "start": "2026-04-13T16:04:41.918114Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000001b",
                        "name": "creating directory for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:00.063142",
                            "end": "2026-04-13 16:04:42.399640",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000001c-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:42.336498",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nE0413 16:04:42.387897   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:42.390666   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:42.391690   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:42.392928   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:42.393623   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "E0413 16:04:42.387897   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:42.390666   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:42.391690   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:42.392928   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:42.393623   39885 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000001c-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:42.671956Z",
                            "start": "2026-04-13T16:04:42.152872Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/tmp/logs/objects /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.69:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/namespaced/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/namespaced/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:43.208571Z",
                            "start": "2026-04-13T16:04:42.678920Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:43.420024Z",
                            "start": "2026-04-13T16:04:43.224635Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:43.628108Z",
                            "start": "2026-04-13T16:04:43.426590Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000022",
                        "name": "creating directory for failed pod logs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:00.065086",
                            "end": "2026-04-13 16:04:43.889931",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000023-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:43.824845",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0413 16:04:43.877740   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:43.878563   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:43.880904   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:43.881790   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:43.883456   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0413 16:04:43.877740   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:43.878563   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:43.880904   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:43.881790   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:43.883456   39942 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000023-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:44.171913Z",
                            "start": "2026-04-13T16:04:43.651581Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/tmp/logs/pod-logs /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.69:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/failed-pods/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/failed-pods/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:44.658972Z",
                            "start": "2026-04-13T16:04:44.177013Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:44.863754Z",
                            "start": "2026-04-13T16:04:44.671768Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000028",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                            "delta": "0:00:00.069416",
                            "end": "2026-04-13 16:04:45.139645",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000029-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:45.070229",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0413 16:04:45.127326   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.128548   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.129221   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.131164   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.131896   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0413 16:04:45.127326   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.128548   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.129221   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.131164   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.131896   39990 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000029-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:45.407481Z",
                            "start": "2026-04-13T16:04:44.889110Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000029",
                        "name": "Get metrics from exporter services in all namespaces"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                            "delta": "0:00:00.064676",
                            "end": "2026-04-13 16:04:45.688208",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000002a-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:45.623532",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0413 16:04:45.677451   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.678380   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.680300   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.681061   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:45.682865   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?\nceph-mgr endpoints: ",
                            "stdout_lines": [
                                "E0413 16:04:45.677451   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.678380   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.680300   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.681061   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:45.682865   40020 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?",
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000002a-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:45.949498Z",
                            "start": "2026-04-13T16:04:45.430721Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000002a",
                        "name": "Get ceph metrics from ceph-mgr"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                            "delta": "0:00:00.068021",
                            "end": "2026-04-13 16:04:46.230755",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000002b-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-13 16:04:46.162734",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "E0413 16:04:46.219484   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:46.220582   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:46.221117   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:46.222683   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nE0413 16:04:46.223332   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused\nThe connection to the server localhost:8080 was refused - did you specify the right host or port?",
                            "stdout_lines": [
                                "E0413 16:04:46.219484   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:46.220582   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:46.221117   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:46.222683   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "E0413 16:04:46.223332   40047 memcache.go:265] couldn't get current server API group list: Get \"http://localhost:8080/api?timeout=32s\": dial tcp [::1]:8080: connect: connection refused",
                                "The connection to the server localhost:8080 was refused - did you specify the right host or port?"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-00000000002b-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:46.492463Z",
                            "start": "2026-04-13T16:04:45.973570Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/tmp/logs/prometheus /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.69:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:46.977879Z",
                            "start": "2026-04-13T16:04:46.498661Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:47.229564Z",
                            "start": "2026-04-13T16:04:46.989215Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000030",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                            "delta": "0:00:00.006209",
                            "end": "2026-04-13 16:04:47.441749",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000031-1-instance",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-13 16:04:47.435540",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0011-e84b-08d7-000000000031-1-instance"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:47.773944Z",
                            "start": "2026-04-13T16:04:47.254520Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/tmp/logs/selenium /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/instance",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@199.204.45.69:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-e84b-08d7-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:48.279721Z",
                            "start": "2026-04-13T16:04:47.778929Z"
                        },
                        "id": "0242ac17-0011-e84b-08d7-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 23,
            "failures": 0,
            "ignored": 1,
            "ok": 23,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T16:04:52.224536Z",
                    "start": "2026-04-13T16:04:49.096854Z"
                },
                "id": "0242ac17-0011-a80b-5097-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a80b-5097-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:49.154533Z",
                            "start": "2026-04-13T16:04:49.108649Z"
                        },
                        "id": "0242ac17-0011-a80b-5097-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a80b-5097-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:49.209020Z",
                            "start": "2026-04-13T16:04:49.164063Z"
                        },
                        "id": "0242ac17-0011-a80b-5097-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a80b-5097-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:50.032794Z",
                            "start": "2026-04-13T16:04:49.214103Z"
                        },
                        "id": "0242ac17-0011-a80b-5097-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.69:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.69:/home/zuul/zuul-output/artifacts/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@199.204.45.69:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@199.204.45.69:/home/zuul/zuul-output/docs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a80b-5097-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:51.568847Z",
                            "start": "2026-04-13T16:04:50.043602Z"
                        },
                        "id": "0242ac17-0011-a80b-5097-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "instance": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts/* /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.007640",
                                    "end": "2026-04-13 16:04:51.955557",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/artifacts/* /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-04-13 16:04:51.947917",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "artifacts",
                                    "zuul_log_id": "in-loop-ignore"
                                },
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs/* /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006324",
                                    "end": "2026-04-13 16:04:52.176464",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/docs/* /var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-04-13 16:04:52.170140",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a80b-5097-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:52.224536Z",
                            "start": "2026-04-13T16:04:51.584123Z"
                        },
                        "id": "0242ac17-0011-a80b-5097-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-04-13T16:04:52.640426Z",
                    "start": "2026-04-13T16:04:52.236554Z"
                },
                "id": "0242ac17-0011-a80b-5097-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "instance": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2M7qIiJfLPxyqUKuVlxNGHvCbDokK18bK7xdHUpaOUegIIinPkhq88HAsKKMFIWu5ImqbrnB/HhBSnt79t8QPvZG8g8zm8XMhFuWkmwaynTvqdwLoIxZfPf5XN7KSj1TWVBiLztJ4iK7aJ/Pi51uQ9rtTOTe+NH/W5FcmwnktlSlejp2k+tY5Oo9L7JUIsRInotzWJZJ3HqzfVAQd3eoCUFeZxXqrPUtbCpOkVvnPqXLLAtaTjG49MOHzY5+hSKYTryP89eYLeMuwD8sLW19L0t5i3wWl6MxKbB7BcjPgH8Pyi1awx5JAkoPa3x7ojnePf3dKRJB5qKLMa5h1/fjjJGiFHJwNxAszeDzp6M18rnq8gd/7MJmAQQI+IOe2+LsMH9fWAazImZXt1Uy1reaIUNUr7sTrJeRndOeKKcr/+8YZhDMvKRinDYkdf/eyUBePl6O5JwTZQS/83wepr5c6bBTCu7NONpdcRbsKwRuf42DgQ0IuyLN4ERguMXJh6l8= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "absent",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2M7qIiJfLPxyqUKuVlxNGHvCbDokK18bK7xdHUpaOUegIIinPkhq88HAsKKMFIWu5ImqbrnB/HhBSnt79t8QPvZG8g8zm8XMhFuWkmwaynTvqdwLoIxZfPf5XN7KSj1TWVBiLztJ4iK7aJ/Pi51uQ9rtTOTe+NH/W5FcmwnktlSlejp2k+tY5Oo9L7JUIsRInotzWJZJ3HqzfVAQd3eoCUFeZxXqrPUtbCpOkVvnPqXLLAtaTjG49MOHzY5+hSKYTryP89eYLeMuwD8sLW19L0t5i3wWl6MxKbB7BcjPgH8Pyi1awx5JAkoPa3x7ojnePf3dKRJB5qKLMa5h1/fjjJGiFHJwNxAszeDzp6M18rnq8gd/7MJmAQQI+IOe2+LsMH9fWAazImZXt1Uy1reaIUNUr7sTrJeRndOeKKcr/+8YZhDMvKRinDYkdf/eyUBePl6O5JwTZQS/83wepr5c6bBTCu7NONpdcRbsKwRuf42DgQ0IuyLN4ERguMXJh6l8= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0011-a80b-5097-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/7f85cd87f76140cf97eb7649f6742399/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-13T16:04:52.640426Z",
                            "start": "2026-04-13T16:04:52.243760Z"
                        },
                        "id": "0242ac17-0011-a80b-5097-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "instance": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
