all:
  children:
    tempest:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 10.4.3.232
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: ubuntu
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            storpool:
              storpool_iscsi_export_to: \\*
              storpool_iscsi_portal_group: pg
              storpool_template: virtual
              use_multipath_for_image_xfer: true
              volume_backend_name: storpool
              volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
          $NOVA_CONF:
            libvirt:
              volume_use_multipath: true
        test-config:
          $TEMPEST_CONFIG:
            compute:
              min_compute_nodes: '{{ groups[''compute''] | default([''controller''])
                | length }}'
            service-clients:
              http_timeout: 90
      devstack_localrc:
        ADMIN_PASSWORD: secretadmin
        CINDER_ENABLED_BACKENDS: storpool:storpool
        DATABASE_PASSWORD: secretdatabase
        DEBUG_LIBVIRT_COREDUMPS: true
        ENABLE_FILE_INJECTION: false
        ENABLE_SYSCTL_MEM_TUNING: true
        ENABLE_SYSCTL_NET_TUNING: true
        ENABLE_VOLUME_MULTIATTACH: true
        ENABLE_ZSWAP: true
        ERROR_ON_CLONE: true
        FIXED_RANGE: 10.1.0.0/20
        FLOATING_RANGE: 172.24.5.0/24
        FORCE_CONFIG_DRIVE: true
        GLANCE_USE_IMPORT_WORKFLOW: true
        HOST_IP: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
        IMAGE_URLS: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img,
          http://download.cirros-cloud.net/0.6.1/cirros-0.6.1-x86_64-disk.img
        IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
        LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
        LOGFILE: /opt/stack/logs/devstacklog.txt
        LOG_COLOR: false
        NETWORK_GATEWAY: 10.1.0.1
        NOVA_LIBVIRT_TB_CACHE_SIZE: 128
        NOVA_VNC_ENABLED: true
        OVN_DBS_LOG_LEVEL: dbg
        PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
        PUBLIC_NETWORK_GATEWAY: 172.24.5.1
        RABBIT_PASSWORD: secretrabbit
        SERVICE_HOST: '{{ hostvars[''controller''][''nodepool''][''private_ipv4'']
          }}'
        SERVICE_PASSWORD: secretservice
        SWIFT_HASH: 1234123412341234
        SWIFT_REPLICAS: 1
        SWIFT_START_ALL_SERVICES: false
        TEMPEST_EXTEND_ATTACHED_VOLUME: true
        TEMPEST_PLUGINS: cinder-tempest-plugin
        TEMPEST_RUN_VALIDATION: true
        TEMPEST_STORAGE_PROTOCOL: iscsi
        TEMPEST_VOLUME_REVERT_TO_SNAPSHOT: true
        TEMPEST_VOLUME_VENDOR: StorPool
        VERBOSE: true
        VERBOSE_NO_TIMESTAMP: true
      devstack_plugins:
        neutron: https://opendev.org/openstack/neutron
      devstack_services:
        base: false
        c-api: true
        c-bak: true
        c-sch: true
        c-vol: true
        dstat: false
        etcd3: true
        file_tracker: true
        g-api: true
        horizon: false
        key: true
        memory_tracker: true
        mysql: true
        n-api: true
        n-api-meta: true
        n-cond: true
        n-cpu: true
        n-novnc: true
        n-sch: true
        openstack-cli-server: true
        ovn-controller: true
        ovn-northd: true
        ovs-vswitchd: true
        ovsdb-server: true
        placement-api: true
        q-ovn-agent: true
        q-svc: true
        rabbit: true
        s-account: true
        s-container: true
        s-object: true
        s-proxy: true
        tempest: true
        tls-proxy: true
      extensions_to_txt:
        auto: true
        conf: true
        localrc: true
        log: true
        stackenv: true
        yaml: true
        yml: true
      local_gerrit: gerrit-openstack-ci.sof-k8s.storpool.net
      nodepool:
        az: lab
        cloud: openstack-testing
        external_id: 63131899-4782-4b4e-b310-3c7c5e1b4e95
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.232
        label: os-ubuntu2404-4xlarge
        node_properties: {}
        private_ipv4: 10.4.3.232
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        slot: null
      os_venv: ~/sp-venv-openstack
      sp_experimental: true
      sp_target_release: release
      storpool_connection: iscsi
      tempest_concurrency: 8
      tempest_test_regex: volume|^cinder_tempest_plugin
      test_results_stage_name: test_results
      tox_envlist: all
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/iscsi/iscsid.conf: logs_txt
        /etc/libvirt: logs
        /etc/lvm: logs
        /etc/multipath.conf: logs_txt
        /etc/resolv.conf: logs
        /etc/sudoers: logs
        /etc/sudoers.d: logs
        /var/log/ceph: logs
        /var/log/glusterfs: logs
        /var/log/libvirt: logs
        /var/log/mysql: logs
        /var/log/openvswitch: logs
        /var/log/ovn: logs
        /var/log/postgresql: logs
        /var/log/rabbitmq: logs
        /var/log/unbound.log: logs
        '{{ devstack_base_dir }}/tempest/etc/accounts.yaml': logs
        '{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs
        '{{ devstack_base_dir }}/tempest/tempest.log': logs
        '{{ devstack_conf_dir }}/.localrc.auto': logs
        '{{ devstack_conf_dir }}/.stackenv': logs
        '{{ devstack_conf_dir }}/local.conf': logs
        '{{ devstack_conf_dir }}/localrc': logs
        '{{ devstack_full_log}}': logs
        '{{ devstack_log_dir }}/atop': logs
        '{{ devstack_log_dir }}/devstacklog.txt': logs
        '{{ devstack_log_dir }}/devstacklog.txt.summary': logs
        '{{ devstack_log_dir }}/dstat-csv.log': logs
        '{{ devstack_log_dir }}/qemu.coredump': logs
        '{{ devstack_log_dir }}/tcpdump.pcap': logs
        '{{ devstack_log_dir }}/worlddump-latest.txt': logs
        '{{ stage_dir }}/apache': logs
        '{{ stage_dir }}/apache_config': logs
        '{{ stage_dir }}/audit.log': logs
        '{{ stage_dir }}/core': logs
        '{{ stage_dir }}/deprecations.log': logs
        '{{ stage_dir }}/df.txt': logs
        '{{ stage_dir }}/dpkg-l.txt': logs
        '{{ stage_dir }}/etc': logs
        '{{ stage_dir }}/iptables.txt': logs
        '{{ stage_dir }}/listen53.txt': logs
        '{{ stage_dir }}/mount.txt': logs
        '{{ stage_dir }}/performance.json': logs
        '{{ stage_dir }}/pip2-freeze.txt': logs
        '{{ stage_dir }}/pip3-freeze.txt': logs
        '{{ stage_dir }}/rpm-qa.txt': logs
        '{{ stage_dir }}/services.txt': logs
        '{{ stage_dir }}/stackviz': logs
        '{{ stage_dir }}/verify_tempest_conf.log': logs
        '{{ stage_dir }}/{{ test_results_stage_name }}.html': logs
        '{{ stage_dir }}/{{ test_results_stage_name }}.subunit': logs
      zuul_node:
        az: lab
        cloud: openstack-testing
        external_id: 63131899-4782-4b4e-b310-3c7c5e1b4e95
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.232
        label: os-ubuntu2404-4xlarge
        node_properties: {}
        private_ipv4: 10.4.3.232
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        reuse: false
        slot: null
        uuid: null
      zuul_use_fetch_output: true
    lab-sp-a1:
      ansible_connection: ssh
      ansible_host: 10.4.3.218
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: ubuntu
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            storpool:
              storpool_iscsi_export_to: \\*
              storpool_iscsi_portal_group: pg
              storpool_template: virtual
              use_multipath_for_image_xfer: true
              volume_backend_name: storpool
              volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
          $NOVA_CONF:
            libvirt:
              volume_use_multipath: true
        test-config:
          $TEMPEST_CONFIG:
            compute:
              min_compute_nodes: '{{ groups[''compute''] | default([''controller''])
                | length }}'
            service-clients:
              http_timeout: 90
      devstack_localrc:
        ADMIN_PASSWORD: secretadmin
        CINDER_ENABLED_BACKENDS: storpool:storpool
        DATABASE_PASSWORD: secretdatabase
        DEBUG_LIBVIRT_COREDUMPS: true
        ENABLE_FILE_INJECTION: false
        ENABLE_SYSCTL_MEM_TUNING: true
        ENABLE_SYSCTL_NET_TUNING: true
        ENABLE_VOLUME_MULTIATTACH: true
        ENABLE_ZSWAP: true
        ERROR_ON_CLONE: true
        FIXED_RANGE: 10.1.0.0/20
        FLOATING_RANGE: 172.24.5.0/24
        FORCE_CONFIG_DRIVE: true
        GLANCE_USE_IMPORT_WORKFLOW: true
        HOST_IP: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
        IMAGE_URLS: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img,
          http://download.cirros-cloud.net/0.6.1/cirros-0.6.1-x86_64-disk.img
        IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
        LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
        LOGFILE: /opt/stack/logs/devstacklog.txt
        LOG_COLOR: false
        NETWORK_GATEWAY: 10.1.0.1
        NOVA_LIBVIRT_TB_CACHE_SIZE: 128
        NOVA_VNC_ENABLED: true
        OVN_DBS_LOG_LEVEL: dbg
        PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
        PUBLIC_NETWORK_GATEWAY: 172.24.5.1
        RABBIT_PASSWORD: secretrabbit
        SERVICE_HOST: '{{ hostvars[''controller''][''nodepool''][''private_ipv4'']
          }}'
        SERVICE_PASSWORD: secretservice
        SWIFT_HASH: 1234123412341234
        SWIFT_REPLICAS: 1
        SWIFT_START_ALL_SERVICES: false
        TEMPEST_EXTEND_ATTACHED_VOLUME: true
        TEMPEST_PLUGINS: cinder-tempest-plugin
        TEMPEST_RUN_VALIDATION: true
        TEMPEST_STORAGE_PROTOCOL: iscsi
        TEMPEST_VOLUME_REVERT_TO_SNAPSHOT: true
        TEMPEST_VOLUME_VENDOR: StorPool
        VERBOSE: true
        VERBOSE_NO_TIMESTAMP: true
      devstack_plugins:
        neutron: https://opendev.org/openstack/neutron
      devstack_services:
        base: false
        c-api: true
        c-bak: true
        c-sch: true
        c-vol: true
        dstat: false
        etcd3: true
        file_tracker: true
        g-api: true
        horizon: false
        key: true
        memory_tracker: true
        mysql: true
        n-api: true
        n-api-meta: true
        n-cond: true
        n-cpu: true
        n-novnc: true
        n-sch: true
        openstack-cli-server: true
        ovn-controller: true
        ovn-northd: true
        ovs-vswitchd: true
        ovsdb-server: true
        placement-api: true
        q-ovn-agent: true
        q-svc: true
        rabbit: true
        s-account: true
        s-container: true
        s-object: true
        s-proxy: true
        tempest: true
        tls-proxy: true
      extensions_to_txt:
        auto: true
        conf: true
        localrc: true
        log: true
        stackenv: true
        yaml: true
        yml: true
      local_gerrit: gerrit-openstack-ci.sof-k8s.storpool.net
      nodepool:
        az: lab
        cloud: openstack-testing
        external_id: 925a466d-2e83-4f83-aacb-bc4065c54c61
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.218
        label: os-ubuntu2404-2xlarge
        node_properties: {}
        private_ipv4: 10.4.3.218
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        slot: null
      os_venv: ~/sp-venv-openstack
      sp_experimental: true
      sp_target_release: release
      storpool_connection: iscsi
      tempest_concurrency: 8
      tempest_test_regex: volume|^cinder_tempest_plugin
      test_results_stage_name: test_results
      tox_envlist: all
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/iscsi/iscsid.conf: logs_txt
        /etc/libvirt: logs
        /etc/lvm: logs
        /etc/multipath.conf: logs_txt
        /etc/resolv.conf: logs
        /etc/sudoers: logs
        /etc/sudoers.d: logs
        /var/log/ceph: logs
        /var/log/glusterfs: logs
        /var/log/libvirt: logs
        /var/log/mysql: logs
        /var/log/openvswitch: logs
        /var/log/ovn: logs
        /var/log/postgresql: logs
        /var/log/rabbitmq: logs
        /var/log/unbound.log: logs
        '{{ devstack_base_dir }}/tempest/etc/accounts.yaml': logs
        '{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs
        '{{ devstack_base_dir }}/tempest/tempest.log': logs
        '{{ devstack_conf_dir }}/.localrc.auto': logs
        '{{ devstack_conf_dir }}/.stackenv': logs
        '{{ devstack_conf_dir }}/local.conf': logs
        '{{ devstack_conf_dir }}/localrc': logs
        '{{ devstack_full_log}}': logs
        '{{ devstack_log_dir }}/atop': logs
        '{{ devstack_log_dir }}/devstacklog.txt': logs
        '{{ devstack_log_dir }}/devstacklog.txt.summary': logs
        '{{ devstack_log_dir }}/dstat-csv.log': logs
        '{{ devstack_log_dir }}/qemu.coredump': logs
        '{{ devstack_log_dir }}/tcpdump.pcap': logs
        '{{ devstack_log_dir }}/worlddump-latest.txt': logs
        '{{ stage_dir }}/apache': logs
        '{{ stage_dir }}/apache_config': logs
        '{{ stage_dir }}/audit.log': logs
        '{{ stage_dir }}/core': logs
        '{{ stage_dir }}/deprecations.log': logs
        '{{ stage_dir }}/df.txt': logs
        '{{ stage_dir }}/dpkg-l.txt': logs
        '{{ stage_dir }}/etc': logs
        '{{ stage_dir }}/iptables.txt': logs
        '{{ stage_dir }}/listen53.txt': logs
        '{{ stage_dir }}/mount.txt': logs
        '{{ stage_dir }}/performance.json': logs
        '{{ stage_dir }}/pip2-freeze.txt': logs
        '{{ stage_dir }}/pip3-freeze.txt': logs
        '{{ stage_dir }}/rpm-qa.txt': logs
        '{{ stage_dir }}/services.txt': logs
        '{{ stage_dir }}/stackviz': logs
        '{{ stage_dir }}/verify_tempest_conf.log': logs
        '{{ stage_dir }}/{{ test_results_stage_name }}.html': logs
        '{{ stage_dir }}/{{ test_results_stage_name }}.subunit': logs
      zuul_node:
        az: lab
        cloud: openstack-testing
        external_id: 925a466d-2e83-4f83-aacb-bc4065c54c61
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.218
        label: os-ubuntu2404-2xlarge
        node_properties: {}
        private_ipv4: 10.4.3.218
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        reuse: false
        slot: null
        uuid: null
      zuul_use_fetch_output: true
    undercloud-client:
      ansible_connection: ssh
      ansible_host: 10.4.3.140
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: ubuntu
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            storpool:
              storpool_iscsi_export_to: \\*
              storpool_iscsi_portal_group: pg
              storpool_template: virtual
              use_multipath_for_image_xfer: true
              volume_backend_name: storpool
              volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
          $NOVA_CONF:
            libvirt:
              volume_use_multipath: true
        test-config:
          $TEMPEST_CONFIG:
            compute:
              min_compute_nodes: '{{ groups[''compute''] | default([''controller''])
                | length }}'
            service-clients:
              http_timeout: 90
      devstack_localrc:
        ADMIN_PASSWORD: secretadmin
        CINDER_ENABLED_BACKENDS: storpool:storpool
        DATABASE_PASSWORD: secretdatabase
        DEBUG_LIBVIRT_COREDUMPS: true
        ENABLE_FILE_INJECTION: false
        ENABLE_SYSCTL_MEM_TUNING: true
        ENABLE_SYSCTL_NET_TUNING: true
        ENABLE_VOLUME_MULTIATTACH: true
        ENABLE_ZSWAP: true
        ERROR_ON_CLONE: true
        FIXED_RANGE: 10.1.0.0/20
        FLOATING_RANGE: 172.24.5.0/24
        FORCE_CONFIG_DRIVE: true
        GLANCE_USE_IMPORT_WORKFLOW: true
        HOST_IP: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
        IMAGE_URLS: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img,
          http://download.cirros-cloud.net/0.6.1/cirros-0.6.1-x86_64-disk.img
        IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
        LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
        LOGFILE: /opt/stack/logs/devstacklog.txt
        LOG_COLOR: false
        NETWORK_GATEWAY: 10.1.0.1
        NOVA_LIBVIRT_TB_CACHE_SIZE: 128
        NOVA_VNC_ENABLED: true
        OVN_DBS_LOG_LEVEL: dbg
        PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
        PUBLIC_NETWORK_GATEWAY: 172.24.5.1
        RABBIT_PASSWORD: secretrabbit
        SERVICE_HOST: '{{ hostvars[''controller''][''nodepool''][''private_ipv4'']
          }}'
        SERVICE_PASSWORD: secretservice
        SWIFT_HASH: 1234123412341234
        SWIFT_REPLICAS: 1
        SWIFT_START_ALL_SERVICES: false
        TEMPEST_EXTEND_ATTACHED_VOLUME: true
        TEMPEST_PLUGINS: cinder-tempest-plugin
        TEMPEST_RUN_VALIDATION: true
        TEMPEST_STORAGE_PROTOCOL: iscsi
        TEMPEST_VOLUME_REVERT_TO_SNAPSHOT: true
        TEMPEST_VOLUME_VENDOR: StorPool
        VERBOSE: true
        VERBOSE_NO_TIMESTAMP: true
      devstack_plugins:
        neutron: https://opendev.org/openstack/neutron
      devstack_services:
        base: false
        c-api: true
        c-bak: true
        c-sch: true
        c-vol: true
        dstat: false
        etcd3: true
        file_tracker: true
        g-api: true
        horizon: false
        key: true
        memory_tracker: true
        mysql: true
        n-api: true
        n-api-meta: true
        n-cond: true
        n-cpu: true
        n-novnc: true
        n-sch: true
        openstack-cli-server: true
        ovn-controller: true
        ovn-northd: true
        ovs-vswitchd: true
        ovsdb-server: true
        placement-api: true
        q-ovn-agent: true
        q-svc: true
        rabbit: true
        s-account: true
        s-container: true
        s-object: true
        s-proxy: true
        tempest: true
        tls-proxy: true
      extensions_to_txt:
        auto: true
        conf: true
        localrc: true
        log: true
        stackenv: true
        yaml: true
        yml: true
      local_gerrit: gerrit-openstack-ci.sof-k8s.storpool.net
      nodepool:
        az: lab
        cloud: openstack-testing
        external_id: 3ab7e064-49b5-46d9-9db7-923c0abb2474
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.140
        label: os-ubuntu2404-small
        node_properties: {}
        private_ipv4: 10.4.3.140
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        slot: null
      os_venv: ~/sp-venv-openstack
      sp_experimental: true
      sp_target_release: release
      storpool_connection: iscsi
      tempest_concurrency: 8
      tempest_test_regex: volume|^cinder_tempest_plugin
      test_results_stage_name: test_results
      tox_envlist: all
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/iscsi/iscsid.conf: logs_txt
        /etc/libvirt: logs
        /etc/lvm: logs
        /etc/multipath.conf: logs_txt
        /etc/resolv.conf: logs
        /etc/sudoers: logs
        /etc/sudoers.d: logs
        /var/log/ceph: logs
        /var/log/glusterfs: logs
        /var/log/libvirt: logs
        /var/log/mysql: logs
        /var/log/openvswitch: logs
        /var/log/ovn: logs
        /var/log/postgresql: logs
        /var/log/rabbitmq: logs
        /var/log/unbound.log: logs
        '{{ devstack_base_dir }}/tempest/etc/accounts.yaml': logs
        '{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs
        '{{ devstack_base_dir }}/tempest/tempest.log': logs
        '{{ devstack_conf_dir }}/.localrc.auto': logs
        '{{ devstack_conf_dir }}/.stackenv': logs
        '{{ devstack_conf_dir }}/local.conf': logs
        '{{ devstack_conf_dir }}/localrc': logs
        '{{ devstack_full_log}}': logs
        '{{ devstack_log_dir }}/atop': logs
        '{{ devstack_log_dir }}/devstacklog.txt': logs
        '{{ devstack_log_dir }}/devstacklog.txt.summary': logs
        '{{ devstack_log_dir }}/dstat-csv.log': logs
        '{{ devstack_log_dir }}/qemu.coredump': logs
        '{{ devstack_log_dir }}/tcpdump.pcap': logs
        '{{ devstack_log_dir }}/worlddump-latest.txt': logs
        '{{ stage_dir }}/apache': logs
        '{{ stage_dir }}/apache_config': logs
        '{{ stage_dir }}/audit.log': logs
        '{{ stage_dir }}/core': logs
        '{{ stage_dir }}/deprecations.log': logs
        '{{ stage_dir }}/df.txt': logs
        '{{ stage_dir }}/dpkg-l.txt': logs
        '{{ stage_dir }}/etc': logs
        '{{ stage_dir }}/iptables.txt': logs
        '{{ stage_dir }}/listen53.txt': logs
        '{{ stage_dir }}/mount.txt': logs
        '{{ stage_dir }}/performance.json': logs
        '{{ stage_dir }}/pip2-freeze.txt': logs
        '{{ stage_dir }}/pip3-freeze.txt': logs
        '{{ stage_dir }}/rpm-qa.txt': logs
        '{{ stage_dir }}/services.txt': logs
        '{{ stage_dir }}/stackviz': logs
        '{{ stage_dir }}/verify_tempest_conf.log': logs
        '{{ stage_dir }}/{{ test_results_stage_name }}.html': logs
        '{{ stage_dir }}/{{ test_results_stage_name }}.subunit': logs
      zuul_node:
        az: lab
        cloud: openstack-testing
        external_id: 3ab7e064-49b5-46d9-9db7-923c0abb2474
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.140
        label: os-ubuntu2404-small
        node_properties: {}
        private_ipv4: 10.4.3.140
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        reuse: false
        slot: null
        uuid: null
      zuul_use_fetch_output: true
  vars:
    configure_swap_size: 8192
    devstack_local_conf:
      post-config:
        $CINDER_CONF:
          storpool:
            storpool_iscsi_export_to: \\*
            storpool_iscsi_portal_group: pg
            storpool_template: virtual
            use_multipath_for_image_xfer: true
            volume_backend_name: storpool
            volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
        $NEUTRON_CONF:
          DEFAULT:
            global_physnet_mtu: '{{ external_bridge_mtu }}'
        $NOVA_CONF:
          libvirt:
            volume_use_multipath: true
      test-config:
        $TEMPEST_CONFIG:
          compute:
            min_compute_nodes: '{{ groups[''compute''] | default([''controller''])
              | length }}'
          service-clients:
            http_timeout: 90
    devstack_localrc:
      ADMIN_PASSWORD: secretadmin
      CINDER_ENABLED_BACKENDS: storpool:storpool
      DATABASE_PASSWORD: secretdatabase
      DEBUG_LIBVIRT_COREDUMPS: true
      ENABLE_FILE_INJECTION: false
      ENABLE_SYSCTL_MEM_TUNING: true
      ENABLE_SYSCTL_NET_TUNING: true
      ENABLE_VOLUME_MULTIATTACH: true
      ENABLE_ZSWAP: true
      ERROR_ON_CLONE: true
      FIXED_RANGE: 10.1.0.0/20
      FLOATING_RANGE: 172.24.5.0/24
      FORCE_CONFIG_DRIVE: true
      GLANCE_USE_IMPORT_WORKFLOW: true
      HOST_IP: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
      IMAGE_URLS: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img,
        http://download.cirros-cloud.net/0.6.1/cirros-0.6.1-x86_64-disk.img
      IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
      LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
      LOGFILE: /opt/stack/logs/devstacklog.txt
      LOG_COLOR: false
      NETWORK_GATEWAY: 10.1.0.1
      NOVA_LIBVIRT_TB_CACHE_SIZE: 128
      NOVA_VNC_ENABLED: true
      OVN_DBS_LOG_LEVEL: dbg
      PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
      PUBLIC_NETWORK_GATEWAY: 172.24.5.1
      RABBIT_PASSWORD: secretrabbit
      SERVICE_HOST: '{{ hostvars[''controller''][''nodepool''][''private_ipv4''] }}'
      SERVICE_PASSWORD: secretservice
      SWIFT_HASH: 1234123412341234
      SWIFT_REPLICAS: 1
      SWIFT_START_ALL_SERVICES: false
      TEMPEST_EXTEND_ATTACHED_VOLUME: true
      TEMPEST_PLUGINS: cinder-tempest-plugin
      TEMPEST_RUN_VALIDATION: true
      TEMPEST_STORAGE_PROTOCOL: iscsi
      TEMPEST_VOLUME_REVERT_TO_SNAPSHOT: true
      TEMPEST_VOLUME_VENDOR: StorPool
      VERBOSE: true
      VERBOSE_NO_TIMESTAMP: true
    devstack_plugins:
      neutron: https://opendev.org/openstack/neutron
    devstack_services:
      base: false
      c-api: true
      c-bak: true
      c-sch: true
      c-vol: true
      dstat: false
      etcd3: true
      file_tracker: true
      g-api: true
      horizon: false
      key: true
      memory_tracker: true
      mysql: true
      n-api: true
      n-api-meta: true
      n-cond: true
      n-cpu: true
      n-novnc: true
      n-sch: true
      openstack-cli-server: true
      ovn-controller: true
      ovn-northd: true
      ovs-vswitchd: true
      ovsdb-server: true
      placement-api: true
      q-ovn-agent: true
      q-svc: true
      rabbit: true
      s-account: true
      s-container: true
      s-object: true
      s-proxy: true
      tempest: true
      tls-proxy: true
    extensions_to_txt:
      auto: true
      conf: true
      localrc: true
      log: true
      stackenv: true
      yaml: true
      yml: true
    local_gerrit: gerrit-openstack-ci.sof-k8s.storpool.net
    os_venv: ~/sp-venv-openstack
    sp_experimental: true
    sp_target_release: release
    storpool_connection: iscsi
    tempest_concurrency: 8
    tempest_test_regex: volume|^cinder_tempest_plugin
    test_results_stage_name: test_results
    tox_envlist: all
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: config/zuul.d/jobs-base.yaml@master#2>'
      - '<Job sp-shadowed explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: config/zuul.d/sp-aaa-shadow.yaml@master#3>'
      - '<Job openstack-multinode-fips explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: config/zuul.d/sp-aaa-shadow.yaml@master#180>'
      - '<Job devstack-base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#378>'
      - '<Job devstack-minimal explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#512>'
      - '<Job devstack explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/devstack/.zuul.yaml@master#555>'
      - '<Job devstack-tempest explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: openstack/tempest/zuul.d/base.yaml@master#1>'
      - '<Job tempest-full-py3 explicit: {MatchAny:{BranchMatcher:^.*/(victoria|wallaby)$}}
        implied: None source: openstack/tempest/zuul.d/integrated-gate.yaml@master#63>'
      - '<Job cinder-storpool-tempest-iscsi-multipath explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: config/zuul.d/sp-cinder.yaml@master#182>'
      - '<Job cinder-storpool-tempest-iscsi-multipath explicit: {MatchAny:{BranchMatcher:master}}
        implied: None source: config/zuul.d/sp-cinder.yaml@master#382>'
      ansible_version: '9'
      attempts: 1
      branch: master
      build: 3d792dacc8474e36901c904e801dd56a
      build_refs:
      - branch: master
        change: '1000747'
        change_message: 'Consume Changed Block Tracking in cinder-backup


          Build on the Changed Block Tracking (CBT) driver contract and RPC API to

          let cinder-backup ship only the blocks that changed since the previous

          backup, instead of scanning and SHA256-hashing the whole volume.


          The backup manager establishes a reference point on full backups, asks

          the volume driver for the changed extents on incrementals, and instructs

          the chunked backup driver (Swift, S3, Google, NFS, ...) to back up only

          those extents. It creates this backup''s reference point before diffing

          against the parent''s, using the side-effect-free get_cbt_extents() to

          diff the two snapshots.


          On a full backup the manager also asks the driver for the volume''s

          allocation map (a get_cbt_extents() diff with from_snapshot=None) so the

          full backup is itself sparse -- only written extents are shipped -- on

          backends that can report their written blocks. Backends that cannot

          answer a full diff fall back to a dense scan; either way a reference

          point is recorded for the next incremental.


          The framework falls back transparently to the existing SHA-diff path

          when CBT is unsupported or fails, and re-bootstraps a fresh reference

          point (one full scan) when a CBT chain''s reference snapshot has gone

          missing, so the chain recovers automatically. Restore is unchanged.


          Includes unit tests for the backup manager and chunked driver, and a

          release note.


          Assisted-By: Claude (Opus 4.8)

          Change-Id: I7ce598b68b1ca4e7caf169842a54dc735edac081

          Signed-off-by: Simon Dodsley <simon@purestorage.com>

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/1000747
        commit_id: 2d1fdeb3f8b023a672e80c53745d0a5ce45b1e26
        patchset: '1'
        project:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          name: openstack/cinder
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        src_dir: src/opendev.org/openstack/cinder
        topic: null
      buildset: 3e5de3ca512b468f8011058fa3ee7f6a
      buildset_refs:
      - branch: master
        change: '1000747'
        change_message: 'Consume Changed Block Tracking in cinder-backup


          Build on the Changed Block Tracking (CBT) driver contract and RPC API to

          let cinder-backup ship only the blocks that changed since the previous

          backup, instead of scanning and SHA256-hashing the whole volume.


          The backup manager establishes a reference point on full backups, asks

          the volume driver for the changed extents on incrementals, and instructs

          the chunked backup driver (Swift, S3, Google, NFS, ...) to back up only

          those extents. It creates this backup''s reference point before diffing

          against the parent''s, using the side-effect-free get_cbt_extents() to

          diff the two snapshots.


          On a full backup the manager also asks the driver for the volume''s

          allocation map (a get_cbt_extents() diff with from_snapshot=None) so the

          full backup is itself sparse -- only written extents are shipped -- on

          backends that can report their written blocks. Backends that cannot

          answer a full diff fall back to a dense scan; either way a reference

          point is recorded for the next incremental.


          The framework falls back transparently to the existing SHA-diff path

          when CBT is unsupported or fails, and re-bootstraps a fresh reference

          point (one full scan) when a CBT chain''s reference snapshot has gone

          missing, so the chain recovers automatically. Restore is unchanged.


          Includes unit tests for the backup manager and chunked driver, and a

          release note.


          Assisted-By: Claude (Opus 4.8)

          Change-Id: I7ce598b68b1ca4e7caf169842a54dc735edac081

          Signed-off-by: Simon Dodsley <simon@purestorage.com>

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/1000747
        commit_id: 2d1fdeb3f8b023a672e80c53745d0a5ce45b1e26
        patchset: '1'
        project:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          name: openstack/cinder
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        src_dir: src/opendev.org/openstack/cinder
        topic: null
      change: '1000747'
      change_message: 'Consume Changed Block Tracking in cinder-backup


        Build on the Changed Block Tracking (CBT) driver contract and RPC API to

        let cinder-backup ship only the blocks that changed since the previous

        backup, instead of scanning and SHA256-hashing the whole volume.


        The backup manager establishes a reference point on full backups, asks

        the volume driver for the changed extents on incrementals, and instructs

        the chunked backup driver (Swift, S3, Google, NFS, ...) to back up only

        those extents. It creates this backup''s reference point before diffing

        against the parent''s, using the side-effect-free get_cbt_extents() to

        diff the two snapshots.


        On a full backup the manager also asks the driver for the volume''s

        allocation map (a get_cbt_extents() diff with from_snapshot=None) so the

        full backup is itself sparse -- only written extents are shipped -- on

        backends that can report their written blocks. Backends that cannot

        answer a full diff fall back to a dense scan; either way a reference

        point is recorded for the next incremental.


        The framework falls back transparently to the existing SHA-diff path

        when CBT is unsupported or fails, and re-bootstraps a fresh reference

        point (one full scan) when a CBT chain''s reference snapshot has gone

        missing, so the chain recovers automatically. Restore is unchanged.


        Includes unit tests for the backup manager and chunked driver, and a

        release note.


        Assisted-By: Claude (Opus 4.8)

        Change-Id: I7ce598b68b1ca4e7caf169842a54dc735edac081

        Signed-off-by: Simon Dodsley <simon@purestorage.com>

        '
      change_url: https://review.opendev.org/c/openstack/cinder/+/1000747
      child_jobs: []
      commit_id: 2d1fdeb3f8b023a672e80c53745d0a5ce45b1e26
      event_id: 9e926fb636aa43d8b071d563337f147c
      executor:
        hostname: zuul-executor-0.zuul-executor.openstack-ci.svc.cluster.local
        inventory_file: /var/lib/zuul/builds/3d792dacc8474e36901c904e801dd56a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/3d792dacc8474e36901c904e801dd56a/work/logs
        result_data_file: /var/lib/zuul/builds/3d792dacc8474e36901c904e801dd56a/work/results.json
        src_root: /var/lib/zuul/builds/3d792dacc8474e36901c904e801dd56a/work/src
        work_root: /var/lib/zuul/builds/3d792dacc8474e36901c904e801dd56a/work
      include_vars: []
      items:
      - branch: master
        change: '999911'
        change_message: 'Fix data-to-zero corruption restoring an incremental backup
          chain


          When restoring a chunked backup chain (Swift, S3, Google Cloud Storage,

          POSIX/NFS) to a new or sparse volume, restore() applied the ``volume_is_new``

          "skip all-zero chunks" optimisation to every backup in the chain, not just

          the base full backup. A region that changed from data to zero in an

          incremental was therefore skipped instead of being zeroed, leaving the base

          backup''s stale data at that offset in the restored volume.


          Only the base backup, applied first to a pristine (zero) target, may skip

          all-zero chunks. Incrementals layered on top must be written in full so
          a

          data-to-zero change overwrites the base''s data. Gate the optimisation on
          the

          base backup accordingly.


          This is a pre-existing chunked-driver restore bug independent of Changed

          Block Tracking; it is split out from the CBT framework change so it can
          be

          reviewed and backported on its own.


          Closes-Bug: #2162961

          Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

          Change-Id: Id59d70da2326ce5a34e61b22c833903398ac58c4

          Signed-off-by: Simon Dodsley <simon@purestorage.com>

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/999911
        commit_id: da9562953a021f0c2077f46510ef496f4e572205
        patchset: '2'
        project:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          name: openstack/cinder
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        topic: null
      - branch: master
        change: '990923'
        change_message: 'Add changed-block tracking contract and os-list_changed_blocks
          API


          Add the volume-side foundation for Changed Block Tracking (CBT): a driver

          contract for reporting changed blocks, and a REST API that exposes it.

          The cinder-backup service that consumes this to ship incremental backups

          of only the changed blocks is added by a follow-on change.


          Volume drivers opt in by overriding the new BaseVD.get_cbt_extents()

          (plus create_cbt_snapshot()/delete_cbt_snapshot() for reference-point

          management); the default implementations report no support, so existing

          drivers are unaffected. Support is advertised over a new cinder-volume

          RPC API version 3.21 (supports_cbt/get_cbt_extents/create_cbt_snapshot/

          delete_cbt_snapshot).


          get_cbt_extents() is side-effect-free: it diffs two snapshots that

          already exist, while snapshot creation/deletion is done explicitly via

          create_cbt_snapshot()/delete_cbt_snapshot(). A from_snapshot of None asks

          the driver for the volume''s allocation map (its written blocks) so a

          caller can enumerate a full, sparse block list; backends that cannot

          answer return None.


          Because get_cbt_extents() is side-effect-free, the capability is exposed

          directly to external backup tools via a new ''os-list_changed_blocks''

          volume action (REST API microversion 3.72). It returns the changed block

          extents between two of a volume''s existing snapshots (omit the base

          snapshot for a full enumeration), with optional byte-window and

          marker/limit pagination applied by the volume driver, and a new

          volume:list_changed_blocks policy. Backends without CBT return a 409.


          Includes unit tests for the volume manager, RPC API and the changed-blocks

          API, a contributor guide for vendor drivers, and a release note.


          Assisted-By: Claude (Opus 4.8)

          Change-Id: Ib8e4ca1f061e178f1e20df2c0ca1960ec2480251

          Signed-off-by: Simon Dodsley <simon@purestorage.com>

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/990923
        commit_id: bd55a650dd5240ca29a3b69d82a10fa9e4131960
        patchset: '27'
        project:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          name: openstack/cinder
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        topic: cbt-incremental-backup
      - branch: master
        change: '1000747'
        change_message: 'Consume Changed Block Tracking in cinder-backup


          Build on the Changed Block Tracking (CBT) driver contract and RPC API to

          let cinder-backup ship only the blocks that changed since the previous

          backup, instead of scanning and SHA256-hashing the whole volume.


          The backup manager establishes a reference point on full backups, asks

          the volume driver for the changed extents on incrementals, and instructs

          the chunked backup driver (Swift, S3, Google, NFS, ...) to back up only

          those extents. It creates this backup''s reference point before diffing

          against the parent''s, using the side-effect-free get_cbt_extents() to

          diff the two snapshots.


          On a full backup the manager also asks the driver for the volume''s

          allocation map (a get_cbt_extents() diff with from_snapshot=None) so the

          full backup is itself sparse -- only written extents are shipped -- on

          backends that can report their written blocks. Backends that cannot

          answer a full diff fall back to a dense scan; either way a reference

          point is recorded for the next incremental.


          The framework falls back transparently to the existing SHA-diff path

          when CBT is unsupported or fails, and re-bootstraps a fresh reference

          point (one full scan) when a CBT chain''s reference snapshot has gone

          missing, so the chain recovers automatically. Restore is unchanged.


          Includes unit tests for the backup manager and chunked driver, and a

          release note.


          Assisted-By: Claude (Opus 4.8)

          Change-Id: I7ce598b68b1ca4e7caf169842a54dc735edac081

          Signed-off-by: Simon Dodsley <simon@purestorage.com>

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/1000747
        commit_id: 2d1fdeb3f8b023a672e80c53745d0a5ce45b1e26
        patchset: '1'
        project:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          name: openstack/cinder
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        topic: null
      job: cinder-storpool-tempest-iscsi-multipath
      jobtags: []
      max_attempts: 1
      message: Q29uc3VtZSBDaGFuZ2VkIEJsb2NrIFRyYWNraW5nIGluIGNpbmRlci1iYWNrdXAKCkJ1aWxkIG9uIHRoZSBDaGFuZ2VkIEJsb2NrIFRyYWNraW5nIChDQlQpIGRyaXZlciBjb250cmFjdCBhbmQgUlBDIEFQSSB0bwpsZXQgY2luZGVyLWJhY2t1cCBzaGlwIG9ubHkgdGhlIGJsb2NrcyB0aGF0IGNoYW5nZWQgc2luY2UgdGhlIHByZXZpb3VzCmJhY2t1cCwgaW5zdGVhZCBvZiBzY2FubmluZyBhbmQgU0hBMjU2LWhhc2hpbmcgdGhlIHdob2xlIHZvbHVtZS4KClRoZSBiYWNrdXAgbWFuYWdlciBlc3RhYmxpc2hlcyBhIHJlZmVyZW5jZSBwb2ludCBvbiBmdWxsIGJhY2t1cHMsIGFza3MKdGhlIHZvbHVtZSBkcml2ZXIgZm9yIHRoZSBjaGFuZ2VkIGV4dGVudHMgb24gaW5jcmVtZW50YWxzLCBhbmQgaW5zdHJ1Y3RzCnRoZSBjaHVua2VkIGJhY2t1cCBkcml2ZXIgKFN3aWZ0LCBTMywgR29vZ2xlLCBORlMsIC4uLikgdG8gYmFjayB1cCBvbmx5CnRob3NlIGV4dGVudHMuIEl0IGNyZWF0ZXMgdGhpcyBiYWNrdXAncyByZWZlcmVuY2UgcG9pbnQgYmVmb3JlIGRpZmZpbmcKYWdhaW5zdCB0aGUgcGFyZW50J3MsIHVzaW5nIHRoZSBzaWRlLWVmZmVjdC1mcmVlIGdldF9jYnRfZXh0ZW50cygpIHRvCmRpZmYgdGhlIHR3byBzbmFwc2hvdHMuCgpPbiBhIGZ1bGwgYmFja3VwIHRoZSBtYW5hZ2VyIGFsc28gYXNrcyB0aGUgZHJpdmVyIGZvciB0aGUgdm9sdW1lJ3MKYWxsb2NhdGlvbiBtYXAgKGEgZ2V0X2NidF9leHRlbnRzKCkgZGlmZiB3aXRoIGZyb21fc25hcHNob3Q9Tm9uZSkgc28gdGhlCmZ1bGwgYmFja3VwIGlzIGl0c2VsZiBzcGFyc2UgLS0gb25seSB3cml0dGVuIGV4dGVudHMgYXJlIHNoaXBwZWQgLS0gb24KYmFja2VuZHMgdGhhdCBjYW4gcmVwb3J0IHRoZWlyIHdyaXR0ZW4gYmxvY2tzLiBCYWNrZW5kcyB0aGF0IGNhbm5vdAphbnN3ZXIgYSBmdWxsIGRpZmYgZmFsbCBiYWNrIHRvIGEgZGVuc2Ugc2NhbjsgZWl0aGVyIHdheSBhIHJlZmVyZW5jZQpwb2ludCBpcyByZWNvcmRlZCBmb3IgdGhlIG5leHQgaW5jcmVtZW50YWwuCgpUaGUgZnJhbWV3b3JrIGZhbGxzIGJhY2sgdHJhbnNwYXJlbnRseSB0byB0aGUgZXhpc3RpbmcgU0hBLWRpZmYgcGF0aAp3aGVuIENCVCBpcyB1bnN1cHBvcnRlZCBvciBmYWlscywgYW5kIHJlLWJvb3RzdHJhcHMgYSBmcmVzaCByZWZlcmVuY2UKcG9pbnQgKG9uZSBmdWxsIHNjYW4pIHdoZW4gYSBDQlQgY2hhaW4ncyByZWZlcmVuY2Ugc25hcHNob3QgaGFzIGdvbmUKbWlzc2luZywgc28gdGhlIGNoYWluIHJlY292ZXJzIGF1dG9tYXRpY2FsbHkuIFJlc3RvcmUgaXMgdW5jaGFuZ2VkLgoKSW5jbHVkZXMgdW5pdCB0ZXN0cyBmb3IgdGhlIGJhY2t1cCBtYW5hZ2VyIGFuZCBjaHVua2VkIGRyaXZlciwgYW5kIGEKcmVsZWFzZSBub3RlLgoKQXNzaXN0ZWQtQnk6IENsYXVkZSAoT3B1cyA0LjgpCkNoYW5nZS1JZDogSTdjZTU5OGI2OGIxY2E0ZTdjYWYxNjk4NDJhNTRkYzczNWVkYWMwODEKU2lnbmVkLW9mZi1ieTogU2ltb24gRG9kc2xleSA8c2ltb25AcHVyZXN0b3JhZ2UuY29tPgo=
      patchset: '1'
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config:
            canonical_name: gerrit-openstack-ci.sof-k8s.storpool.net/config
            checkout: master
            commit: 7bdaaaad7daed924077c128f831f55a5e278cc98
          trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs:
            canonical_name: gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            checkout: master
            commit: 9f5c1d680d573485f0ccdb18d2184d4f1d446419
          trusted/project_2/opendev.org/openstack/tempest:
            canonical_name: opendev.org/openstack/tempest
            checkout: master
            commit: fa340b1f5fff8f57a018be206644c81b6d36b3d4
          trusted/project_3/opendev.org/openstack/devstack:
            canonical_name: opendev.org/openstack/devstack
            checkout: master
            commit: 9b0a00865c2537338f72ed5b9b44a0d6bff16eb4
          trusted/project_4/opendev.org/openstack/openstack-zuul-jobs:
            canonical_name: opendev.org/openstack/openstack-zuul-jobs
            checkout: master
            commit: 950acf4523247c04416ab8a38bc70fd5e425dba0
          untrusted/project_0/opendev.org/openstack/devstack:
            canonical_name: opendev.org/openstack/devstack
            checkout: master
            commit: 9b0a00865c2537338f72ed5b9b44a0d6bff16eb4
          untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs:
            canonical_name: opendev.org/openstack/openstack-zuul-jobs
            checkout: master
            commit: 950acf4523247c04416ab8a38bc70fd5e425dba0
          untrusted/project_2/gerrit-openstack-ci.sof-k8s.storpool.net/config:
            canonical_name: gerrit-openstack-ci.sof-k8s.storpool.net/config
            checkout: master
            commit: 7bdaaaad7daed924077c128f831f55a5e278cc98
          untrusted/project_3/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs:
            canonical_name: gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            checkout: master
            commit: 9f5c1d680d573485f0ccdb18d2184d4f1d446419
          untrusted/project_4/opendev.org/openstack/tempest:
            canonical_name: opendev.org/openstack/tempest
            checkout: master
            commit: fa340b1f5fff8f57a018be206644c81b6d36b3d4
        playbooks:
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/tempest-and-cinderlib-run.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/playbook_0/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/playbook_0/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/playbook_0/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/playbook_0/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/playbook_0/role_4/zuul-jobs/roles
        post_playbooks:
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/setup-openstack-storpool/post.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/post_playbook_0/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_0/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_0/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_0/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_0/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_0/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/setup-openstack-iscsi-multipath/post.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/post_playbook_1/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_1/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_1/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_1/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_1/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_1/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/setup-openstack-client/post.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/post_playbook_2/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_2/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_2/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_2/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_2/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_2/role_4/zuul-jobs/roles
        - path: untrusted/project_4/opendev.org/openstack/tempest/playbooks/post-tempest.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_3/role_0/tempest
            link_target: untrusted/project_4/opendev.org/openstack/tempest
            role_path: ansible/post_playbook_3/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_1/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_3/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_2/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_3/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_3/config
            link_target: untrusted/project_2/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_3/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_4/zuul-jobs
            link_target: untrusted/project_3/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_3/role_4/zuul-jobs/roles
        - path: untrusted/project_0/opendev.org/openstack/devstack/playbooks/post.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_4/role_0/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_4/role_0/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_4/role_1/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_4/role_1/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_4/role_2/config
            link_target: untrusted/project_2/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_4/role_2/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_4/role_3/zuul-jobs
            link_target: untrusted/project_3/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_4/role_3/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_5/role_0/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_5/role_0/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_5/role_1/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_5/role_1/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_0/role_0/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_0/role_0/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
        - path: untrusted/project_0/opendev.org/openstack/devstack/playbooks/pre.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_0/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_1/role_0/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_1/role_1/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_1/role_2/config
            link_target: untrusted/project_2/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_1/role_2/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_1/role_3/zuul-jobs
            link_target: untrusted/project_3/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_1/role_3/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/workarounds/01-disable-unattended-upgrades.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_2/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_2/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_2/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_2/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_2/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_2/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_2/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/workarounds/02-install-linux-modules-extra-for-z3fold.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_3/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_3/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_3/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_3/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_3/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_3/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_3/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_3/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_3/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_3/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/workarounds/03-provide-unobtainable-novnc.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_4/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_4/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_4/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_4/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_4/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_4/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_4/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_4/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_4/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_4/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/sp-init.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_5/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_5/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_5/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_5/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_5/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_5/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_5/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_5/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_5/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_5/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/setup-openstack-client/pre.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_6/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_6/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_6/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_6/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_6/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_6/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_6/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_6/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_6/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_6/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/setup-openstack-iscsi-multipath/pre.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_7/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_7/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_7/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_7/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_7/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_7/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_7/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_7/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_7/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_7/role_4/zuul-jobs/roles
        - path: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config/playbooks/setup-openstack-storpool/pre.yaml
          roles:
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_8/role_0/tempest
            link_target: trusted/project_2/opendev.org/openstack/tempest
            role_path: ansible/pre_playbook_8/role_0/tempest/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_8/role_1/devstack
            link_target: trusted/project_3/opendev.org/openstack/devstack
            role_path: ansible/pre_playbook_8/role_1/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_8/role_2/openstack-zuul-jobs
            link_target: trusted/project_4/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/pre_playbook_8/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_8/role_3/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/pre_playbook_8/role_3/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_8/role_4/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/pre_playbook_8/role_4/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: opendev.org
        canonical_name: opendev.org/openstack/cinder
        name: openstack/cinder
        short_name: cinder
        src_dir: src/opendev.org/openstack/cinder
      projects:
        gerrit-openstack-ci.sof-k8s.storpool.net/novnc/novnc:
          canonical_hostname: gerrit-openstack-ci.sof-k8s.storpool.net
          canonical_name: gerrit-openstack-ci.sof-k8s.storpool.net/novnc/novnc
          checkout: master
          checkout_description: zuul branch
          commit: 8e1ebdffba02e651c399dacef841f8941f6ad6e4
          name: novnc/novnc
          required: true
          short_name: novnc
          src_dir: src/gerrit-openstack-ci.sof-k8s.storpool.net/novnc/novnc
        gerrit-openstack-ci.sof-k8s.storpool.net/sp-osci:
          canonical_hostname: gerrit-openstack-ci.sof-k8s.storpool.net
          canonical_name: gerrit-openstack-ci.sof-k8s.storpool.net/sp-osci
          checkout: master
          checkout_description: zuul branch
          commit: cb3912611f16a86a65198d5c742863bb7491e0e1
          name: sp-osci
          required: true
          short_name: sp-osci
          src_dir: src/gerrit-openstack-ci.sof-k8s.storpool.net/sp-osci
        opendev.org/openstack/cinder:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/cinder
          checkout: master
          checkout_description: zuul branch
          commit: bffaed6c93b132ae2210ca67b58c0050aefd9b1f
          name: openstack/cinder
          required: true
          short_name: cinder
          src_dir: src/opendev.org/openstack/cinder
        opendev.org/openstack/devstack:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/devstack
          checkout: master
          checkout_description: zuul branch
          commit: 9b0a00865c2537338f72ed5b9b44a0d6bff16eb4
          name: openstack/devstack
          required: true
          short_name: devstack
          src_dir: src/opendev.org/openstack/devstack
        opendev.org/openstack/glance:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/glance
          checkout: master
          checkout_description: zuul branch
          commit: 4f7a19df0cdad9cb50e92bc8a69be13543c4a3b5
          name: openstack/glance
          required: true
          short_name: glance
          src_dir: src/opendev.org/openstack/glance
        opendev.org/openstack/keystone:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/keystone
          checkout: master
          checkout_description: zuul branch
          commit: 16afc813b7e6de727d8a91e065d7824b06e32925
          name: openstack/keystone
          required: true
          short_name: keystone
          src_dir: src/opendev.org/openstack/keystone
        opendev.org/openstack/neutron:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/neutron
          checkout: master
          checkout_description: zuul branch
          commit: d7a70891566909830d867db58d58ec3f293c04a3
          name: openstack/neutron
          required: true
          short_name: neutron
          src_dir: src/opendev.org/openstack/neutron
        opendev.org/openstack/nova:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/nova
          checkout: master
          checkout_description: zuul branch
          commit: 48d4b3f7032364e2030035a33596c0f407cb0279
          name: openstack/nova
          required: true
          short_name: nova
          src_dir: src/opendev.org/openstack/nova
        opendev.org/openstack/os-test-images:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/os-test-images
          checkout: master
          checkout_description: zuul branch
          commit: 5d0367e03788764f41da8effffa14e3eac513201
          name: openstack/os-test-images
          required: true
          short_name: os-test-images
          src_dir: src/opendev.org/openstack/os-test-images
        opendev.org/openstack/placement:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/placement
          checkout: master
          checkout_description: zuul branch
          commit: 0d503c6df70aa3049c29d4c2d8672703e068463e
          name: openstack/placement
          required: true
          short_name: placement
          src_dir: src/opendev.org/openstack/placement
        opendev.org/openstack/requirements:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/requirements
          checkout: master
          checkout_description: zuul branch
          commit: 377f367109c44aaaefc73aa8776e314810e3ad37
          name: openstack/requirements
          required: true
          short_name: requirements
          src_dir: src/opendev.org/openstack/requirements
        opendev.org/openstack/swift:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/swift
          checkout: master
          checkout_description: zuul branch
          commit: 17a47d47e2dfc5d5d23396e194147060525aa34d
          name: openstack/swift
          required: true
          short_name: swift
          src_dir: src/opendev.org/openstack/swift
        opendev.org/openstack/tempest:
          canonical_hostname: opendev.org
          canonical_name: opendev.org/openstack/tempest
          checkout: master
          checkout_description: zuul branch
          commit: fa340b1f5fff8f57a018be206644c81b6d36b3d4
          name: openstack/tempest
          required: true
          short_name: tempest
          src_dir: src/opendev.org/openstack/tempest
      ref: refs/changes/47/1000747/1
      resources: {}
      tenant: OpenStack
      timeout: 10800
      topic: null
      voting: true
    zuul_copy_output:
      /etc/ceph: logs
      /etc/glusterfs/glusterd.vol: logs
      /etc/iscsi/iscsid.conf: logs_txt
      /etc/libvirt: logs
      /etc/lvm: logs
      /etc/multipath.conf: logs_txt
      /etc/resolv.conf: logs
      /etc/sudoers: logs
      /etc/sudoers.d: logs
      /var/log/ceph: logs
      /var/log/glusterfs: logs
      /var/log/libvirt: logs
      /var/log/mysql: logs
      /var/log/openvswitch: logs
      /var/log/ovn: logs
      /var/log/postgresql: logs
      /var/log/rabbitmq: logs
      /var/log/unbound.log: logs
      '{{ devstack_base_dir }}/tempest/etc/accounts.yaml': logs
      '{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs
      '{{ devstack_base_dir }}/tempest/tempest.log': logs
      '{{ devstack_conf_dir }}/.localrc.auto': logs
      '{{ devstack_conf_dir }}/.stackenv': logs
      '{{ devstack_conf_dir }}/local.conf': logs
      '{{ devstack_conf_dir }}/localrc': logs
      '{{ devstack_full_log}}': logs
      '{{ devstack_log_dir }}/atop': logs
      '{{ devstack_log_dir }}/devstacklog.txt': logs
      '{{ devstack_log_dir }}/devstacklog.txt.summary': logs
      '{{ devstack_log_dir }}/dstat-csv.log': logs
      '{{ devstack_log_dir }}/qemu.coredump': logs
      '{{ devstack_log_dir }}/tcpdump.pcap': logs
      '{{ devstack_log_dir }}/worlddump-latest.txt': logs
      '{{ stage_dir }}/apache': logs
      '{{ stage_dir }}/apache_config': logs
      '{{ stage_dir }}/audit.log': logs
      '{{ stage_dir }}/core': logs
      '{{ stage_dir }}/deprecations.log': logs
      '{{ stage_dir }}/df.txt': logs
      '{{ stage_dir }}/dpkg-l.txt': logs
      '{{ stage_dir }}/etc': logs
      '{{ stage_dir }}/iptables.txt': logs
      '{{ stage_dir }}/listen53.txt': logs
      '{{ stage_dir }}/mount.txt': logs
      '{{ stage_dir }}/performance.json': logs
      '{{ stage_dir }}/pip2-freeze.txt': logs
      '{{ stage_dir }}/pip3-freeze.txt': logs
      '{{ stage_dir }}/rpm-qa.txt': logs
      '{{ stage_dir }}/services.txt': logs
      '{{ stage_dir }}/stackviz': logs
      '{{ stage_dir }}/verify_tempest_conf.log': logs
      '{{ stage_dir }}/{{ test_results_stage_name }}.html': logs
      '{{ stage_dir }}/{{ test_results_stage_name }}.subunit': logs
    zuul_use_fetch_output: true
