all:
  children:
    tempest:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 10.4.3.247
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: ubuntu
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            storpool:
              storpool_template: virtual
              volume_backend_name: storpool
              volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
        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: false
        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: storpool
        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: f4ce3b34-463f-443e-ad20-bb5b21b93532
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.247
        label: os-ubuntu2404-4xlarge
        node_properties: {}
        private_ipv4: 10.4.3.247
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        slot: null
      os_venv: ~/sp-venv-openstack
      sp_target_release: release
      storpool_connection: block
      tempest_concurrency: 8
      tempest_test_regex: volume
      test_results_stage_name: test_results
      tox_envlist: all
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/libvirt: logs
        /etc/lvm: logs
        /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: f4ce3b34-463f-443e-ad20-bb5b21b93532
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.247
        label: os-ubuntu2404-4xlarge
        node_properties: {}
        private_ipv4: 10.4.3.247
        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.37
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: ubuntu
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            storpool:
              storpool_template: virtual
              volume_backend_name: storpool
              volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
        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: false
        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: storpool
        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: e1cb9b19-5e70-490c-8aec-0131e49e3ce0
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.37
        label: os-ubuntu2404-2xlarge
        node_properties: {}
        private_ipv4: 10.4.3.37
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        slot: null
      os_venv: ~/sp-venv-openstack
      sp_target_release: release
      storpool_connection: block
      tempest_concurrency: 8
      tempest_test_regex: volume
      test_results_stage_name: test_results
      tox_envlist: all
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/libvirt: logs
        /etc/lvm: logs
        /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: e1cb9b19-5e70-490c-8aec-0131e49e3ce0
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.37
        label: os-ubuntu2404-2xlarge
        node_properties: {}
        private_ipv4: 10.4.3.37
        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.212
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: ubuntu
      configure_swap_size: 8192
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            storpool:
              storpool_template: virtual
              volume_backend_name: storpool
              volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
          $NEUTRON_CONF:
            DEFAULT:
              global_physnet_mtu: '{{ external_bridge_mtu }}'
        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: false
        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: storpool
        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: 44bcbc3c-87b9-41dd-9062-2fc03d9d8bef
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.212
        label: os-ubuntu2404-small
        node_properties: {}
        private_ipv4: 10.4.3.212
        private_ipv6: null
        provider: openstack-testing
        public_ipv4: ''
        public_ipv6: ''
        region: RegionOne
        slot: null
      os_venv: ~/sp-venv-openstack
      sp_target_release: release
      storpool_connection: block
      tempest_concurrency: 8
      tempest_test_regex: volume
      test_results_stage_name: test_results
      tox_envlist: all
      zuul_copy_output:
        /etc/ceph: logs
        /etc/glusterfs/glusterd.vol: logs
        /etc/libvirt: logs
        /etc/lvm: logs
        /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: 44bcbc3c-87b9-41dd-9062-2fc03d9d8bef
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.212
        label: os-ubuntu2404-small
        node_properties: {}
        private_ipv4: 10.4.3.212
        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_template: virtual
            volume_backend_name: storpool
            volume_driver: cinder.volume.drivers.storpool.StorPoolDriver
        $NEUTRON_CONF:
          DEFAULT:
            global_physnet_mtu: '{{ external_bridge_mtu }}'
      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: false
      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: storpool
      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_target_release: release
    storpool_connection: block
    tempest_concurrency: 8
    tempest_test_regex: volume
    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 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:master}}
        source: config/zuul.d/sp-cinder.yaml@master#74>'
      - '<Job cinder-storpool-tempest explicit: {MatchAny:{BranchMatcher:master}}
        implied: None source: config/zuul.d/sp-cinder.yaml@master#382>'
      ansible_version: '9'
      attempts: 1
      branch: master
      build: 603ab3fb4eeb480898ea5dac73cd47ec
      build_refs:
      - branch: master
        change: '996840'
        change_message: 'Pure Storage: check SDK response on volume/snapshot operations


          The py-pure-client SDK does not raise on API errors; it returns a

          response object with a status code and errors. Several of the Pure

          driver''s write operations called the SDK but discarded the response, so

          a failure was never detected.


          The most visible case is create_volume: when a FlashArray has reached

          its maximum volume count, post_volumes() returns HTTP 400 with "limit

          reached" rather than creating the volume. Because the response was

          ignored, the volume was reported to Cinder as ''available'' even though
          it

          did not exist on the array, and the failure only surfaced later on

          attach/snapshot/delete. The same silent-success pattern affected other

          operations that reach an array limit or otherwise fail.


          Add a _raise_if_failed() helper that inspects an SDK response and raises

          PureDriverException on a 400, with a dedicated message when an array

          limit has been reached. Wire it into the affected create/modify paths:

          create_volume, create_volume_from_snapshot, create_cloned_volume,

          create_with_qos, create_in_vgroup, create_from_snap_in_vgroup,

          create_snapshot, extend_volume, revert_to_snapshot,

          create_consistencygroup, create_cgsnapshot, the consistency group clone

          and the replication failover volume create.


          Checking the response also surfaced a pre-existing bug in

          revert_to_snapshot: it passed the snapshot name as the target volume and

          the volume name as the source, so the array rejected the request with an

          invalid-name error that was previously ignored, making revert a silent

          no-op. The arguments are now in the correct order so revert overwrites

          the volume with the snapshot contents.


          Because these operations now raise where they previously continued

          silently, two create paths could leave orphaned backend resources behind

          on a mid-operation failure. create_consistencygroup now tears down the

          protection group it created if the subsequent replication configuration

          fails, and _create_cg_from_cg rolls back any volumes it has already

          cloned before re-raising (the temporary group snapshot was already

          removed in a finally block). Other best-effort cleanup paths

          (delete/eradicate) are intentionally left unchanged.


          Closes-Bug: #2160366


          Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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

          Change-Id: Id90009a57d78f22eb88e94358916815a34aa6e54

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/996840
        commit_id: aab900e731f5ff46663562c46e40ea7583dbff91
        patchset: '5'
        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: bug-2160366-sdk-response
      buildset: ba50454cd7a542a3aa748c30d212f565
      buildset_refs:
      - branch: master
        change: '996840'
        change_message: 'Pure Storage: check SDK response on volume/snapshot operations


          The py-pure-client SDK does not raise on API errors; it returns a

          response object with a status code and errors. Several of the Pure

          driver''s write operations called the SDK but discarded the response, so

          a failure was never detected.


          The most visible case is create_volume: when a FlashArray has reached

          its maximum volume count, post_volumes() returns HTTP 400 with "limit

          reached" rather than creating the volume. Because the response was

          ignored, the volume was reported to Cinder as ''available'' even though
          it

          did not exist on the array, and the failure only surfaced later on

          attach/snapshot/delete. The same silent-success pattern affected other

          operations that reach an array limit or otherwise fail.


          Add a _raise_if_failed() helper that inspects an SDK response and raises

          PureDriverException on a 400, with a dedicated message when an array

          limit has been reached. Wire it into the affected create/modify paths:

          create_volume, create_volume_from_snapshot, create_cloned_volume,

          create_with_qos, create_in_vgroup, create_from_snap_in_vgroup,

          create_snapshot, extend_volume, revert_to_snapshot,

          create_consistencygroup, create_cgsnapshot, the consistency group clone

          and the replication failover volume create.


          Checking the response also surfaced a pre-existing bug in

          revert_to_snapshot: it passed the snapshot name as the target volume and

          the volume name as the source, so the array rejected the request with an

          invalid-name error that was previously ignored, making revert a silent

          no-op. The arguments are now in the correct order so revert overwrites

          the volume with the snapshot contents.


          Because these operations now raise where they previously continued

          silently, two create paths could leave orphaned backend resources behind

          on a mid-operation failure. create_consistencygroup now tears down the

          protection group it created if the subsequent replication configuration

          fails, and _create_cg_from_cg rolls back any volumes it has already

          cloned before re-raising (the temporary group snapshot was already

          removed in a finally block). Other best-effort cleanup paths

          (delete/eradicate) are intentionally left unchanged.


          Closes-Bug: #2160366


          Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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

          Change-Id: Id90009a57d78f22eb88e94358916815a34aa6e54

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/996840
        commit_id: aab900e731f5ff46663562c46e40ea7583dbff91
        patchset: '5'
        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: bug-2160366-sdk-response
      change: '996840'
      change_message: 'Pure Storage: check SDK response on volume/snapshot operations


        The py-pure-client SDK does not raise on API errors; it returns a

        response object with a status code and errors. Several of the Pure

        driver''s write operations called the SDK but discarded the response, so

        a failure was never detected.


        The most visible case is create_volume: when a FlashArray has reached

        its maximum volume count, post_volumes() returns HTTP 400 with "limit

        reached" rather than creating the volume. Because the response was

        ignored, the volume was reported to Cinder as ''available'' even though it

        did not exist on the array, and the failure only surfaced later on

        attach/snapshot/delete. The same silent-success pattern affected other

        operations that reach an array limit or otherwise fail.


        Add a _raise_if_failed() helper that inspects an SDK response and raises

        PureDriverException on a 400, with a dedicated message when an array

        limit has been reached. Wire it into the affected create/modify paths:

        create_volume, create_volume_from_snapshot, create_cloned_volume,

        create_with_qos, create_in_vgroup, create_from_snap_in_vgroup,

        create_snapshot, extend_volume, revert_to_snapshot,

        create_consistencygroup, create_cgsnapshot, the consistency group clone

        and the replication failover volume create.


        Checking the response also surfaced a pre-existing bug in

        revert_to_snapshot: it passed the snapshot name as the target volume and

        the volume name as the source, so the array rejected the request with an

        invalid-name error that was previously ignored, making revert a silent

        no-op. The arguments are now in the correct order so revert overwrites

        the volume with the snapshot contents.


        Because these operations now raise where they previously continued

        silently, two create paths could leave orphaned backend resources behind

        on a mid-operation failure. create_consistencygroup now tears down the

        protection group it created if the subsequent replication configuration

        fails, and _create_cg_from_cg rolls back any volumes it has already

        cloned before re-raising (the temporary group snapshot was already

        removed in a finally block). Other best-effort cleanup paths

        (delete/eradicate) are intentionally left unchanged.


        Closes-Bug: #2160366


        Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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

        Change-Id: Id90009a57d78f22eb88e94358916815a34aa6e54

        '
      change_url: https://review.opendev.org/c/openstack/cinder/+/996840
      child_jobs: []
      commit_id: aab900e731f5ff46663562c46e40ea7583dbff91
      event_id: 9a182bc9f91d4cbf8ffc5b529b972d0a
      executor:
        hostname: zuul-executor-0.zuul-executor.openstack-ci.svc.cluster.local
        inventory_file: /var/lib/zuul/builds/603ab3fb4eeb480898ea5dac73cd47ec/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/603ab3fb4eeb480898ea5dac73cd47ec/work/logs
        result_data_file: /var/lib/zuul/builds/603ab3fb4eeb480898ea5dac73cd47ec/work/results.json
        src_root: /var/lib/zuul/builds/603ab3fb4eeb480898ea5dac73cd47ec/work/src
        work_root: /var/lib/zuul/builds/603ab3fb4eeb480898ea5dac73cd47ec/work
      include_vars: []
      items:
      - branch: master
        change: '996840'
        change_message: 'Pure Storage: check SDK response on volume/snapshot operations


          The py-pure-client SDK does not raise on API errors; it returns a

          response object with a status code and errors. Several of the Pure

          driver''s write operations called the SDK but discarded the response, so

          a failure was never detected.


          The most visible case is create_volume: when a FlashArray has reached

          its maximum volume count, post_volumes() returns HTTP 400 with "limit

          reached" rather than creating the volume. Because the response was

          ignored, the volume was reported to Cinder as ''available'' even though
          it

          did not exist on the array, and the failure only surfaced later on

          attach/snapshot/delete. The same silent-success pattern affected other

          operations that reach an array limit or otherwise fail.


          Add a _raise_if_failed() helper that inspects an SDK response and raises

          PureDriverException on a 400, with a dedicated message when an array

          limit has been reached. Wire it into the affected create/modify paths:

          create_volume, create_volume_from_snapshot, create_cloned_volume,

          create_with_qos, create_in_vgroup, create_from_snap_in_vgroup,

          create_snapshot, extend_volume, revert_to_snapshot,

          create_consistencygroup, create_cgsnapshot, the consistency group clone

          and the replication failover volume create.


          Checking the response also surfaced a pre-existing bug in

          revert_to_snapshot: it passed the snapshot name as the target volume and

          the volume name as the source, so the array rejected the request with an

          invalid-name error that was previously ignored, making revert a silent

          no-op. The arguments are now in the correct order so revert overwrites

          the volume with the snapshot contents.


          Because these operations now raise where they previously continued

          silently, two create paths could leave orphaned backend resources behind

          on a mid-operation failure. create_consistencygroup now tears down the

          protection group it created if the subsequent replication configuration

          fails, and _create_cg_from_cg rolls back any volumes it has already

          cloned before re-raising (the temporary group snapshot was already

          removed in a finally block). Other best-effort cleanup paths

          (delete/eradicate) are intentionally left unchanged.


          Closes-Bug: #2160366


          Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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

          Change-Id: Id90009a57d78f22eb88e94358916815a34aa6e54

          '
        change_url: https://review.opendev.org/c/openstack/cinder/+/996840
        commit_id: aab900e731f5ff46663562c46e40ea7583dbff91
        patchset: '5'
        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: bug-2160366-sdk-response
      job: cinder-storpool-tempest
      jobtags: []
      max_attempts: 1
      message: UHVyZSBTdG9yYWdlOiBjaGVjayBTREsgcmVzcG9uc2Ugb24gdm9sdW1lL3NuYXBzaG90IG9wZXJhdGlvbnMKClRoZSBweS1wdXJlLWNsaWVudCBTREsgZG9lcyBub3QgcmFpc2Ugb24gQVBJIGVycm9yczsgaXQgcmV0dXJucyBhCnJlc3BvbnNlIG9iamVjdCB3aXRoIGEgc3RhdHVzIGNvZGUgYW5kIGVycm9ycy4gU2V2ZXJhbCBvZiB0aGUgUHVyZQpkcml2ZXIncyB3cml0ZSBvcGVyYXRpb25zIGNhbGxlZCB0aGUgU0RLIGJ1dCBkaXNjYXJkZWQgdGhlIHJlc3BvbnNlLCBzbwphIGZhaWx1cmUgd2FzIG5ldmVyIGRldGVjdGVkLgoKVGhlIG1vc3QgdmlzaWJsZSBjYXNlIGlzIGNyZWF0ZV92b2x1bWU6IHdoZW4gYSBGbGFzaEFycmF5IGhhcyByZWFjaGVkCml0cyBtYXhpbXVtIHZvbHVtZSBjb3VudCwgcG9zdF92b2x1bWVzKCkgcmV0dXJucyBIVFRQIDQwMCB3aXRoICJsaW1pdApyZWFjaGVkIiByYXRoZXIgdGhhbiBjcmVhdGluZyB0aGUgdm9sdW1lLiBCZWNhdXNlIHRoZSByZXNwb25zZSB3YXMKaWdub3JlZCwgdGhlIHZvbHVtZSB3YXMgcmVwb3J0ZWQgdG8gQ2luZGVyIGFzICdhdmFpbGFibGUnIGV2ZW4gdGhvdWdoIGl0CmRpZCBub3QgZXhpc3Qgb24gdGhlIGFycmF5LCBhbmQgdGhlIGZhaWx1cmUgb25seSBzdXJmYWNlZCBsYXRlciBvbgphdHRhY2gvc25hcHNob3QvZGVsZXRlLiBUaGUgc2FtZSBzaWxlbnQtc3VjY2VzcyBwYXR0ZXJuIGFmZmVjdGVkIG90aGVyCm9wZXJhdGlvbnMgdGhhdCByZWFjaCBhbiBhcnJheSBsaW1pdCBvciBvdGhlcndpc2UgZmFpbC4KCkFkZCBhIF9yYWlzZV9pZl9mYWlsZWQoKSBoZWxwZXIgdGhhdCBpbnNwZWN0cyBhbiBTREsgcmVzcG9uc2UgYW5kIHJhaXNlcwpQdXJlRHJpdmVyRXhjZXB0aW9uIG9uIGEgNDAwLCB3aXRoIGEgZGVkaWNhdGVkIG1lc3NhZ2Ugd2hlbiBhbiBhcnJheQpsaW1pdCBoYXMgYmVlbiByZWFjaGVkLiBXaXJlIGl0IGludG8gdGhlIGFmZmVjdGVkIGNyZWF0ZS9tb2RpZnkgcGF0aHM6CmNyZWF0ZV92b2x1bWUsIGNyZWF0ZV92b2x1bWVfZnJvbV9zbmFwc2hvdCwgY3JlYXRlX2Nsb25lZF92b2x1bWUsCmNyZWF0ZV93aXRoX3FvcywgY3JlYXRlX2luX3Zncm91cCwgY3JlYXRlX2Zyb21fc25hcF9pbl92Z3JvdXAsCmNyZWF0ZV9zbmFwc2hvdCwgZXh0ZW5kX3ZvbHVtZSwgcmV2ZXJ0X3RvX3NuYXBzaG90LApjcmVhdGVfY29uc2lzdGVuY3lncm91cCwgY3JlYXRlX2Nnc25hcHNob3QsIHRoZSBjb25zaXN0ZW5jeSBncm91cCBjbG9uZQphbmQgdGhlIHJlcGxpY2F0aW9uIGZhaWxvdmVyIHZvbHVtZSBjcmVhdGUuCgpDaGVja2luZyB0aGUgcmVzcG9uc2UgYWxzbyBzdXJmYWNlZCBhIHByZS1leGlzdGluZyBidWcgaW4KcmV2ZXJ0X3RvX3NuYXBzaG90OiBpdCBwYXNzZWQgdGhlIHNuYXBzaG90IG5hbWUgYXMgdGhlIHRhcmdldCB2b2x1bWUgYW5kCnRoZSB2b2x1bWUgbmFtZSBhcyB0aGUgc291cmNlLCBzbyB0aGUgYXJyYXkgcmVqZWN0ZWQgdGhlIHJlcXVlc3Qgd2l0aCBhbgppbnZhbGlkLW5hbWUgZXJyb3IgdGhhdCB3YXMgcHJldmlvdXNseSBpZ25vcmVkLCBtYWtpbmcgcmV2ZXJ0IGEgc2lsZW50Cm5vLW9wLiBUaGUgYXJndW1lbnRzIGFyZSBub3cgaW4gdGhlIGNvcnJlY3Qgb3JkZXIgc28gcmV2ZXJ0IG92ZXJ3cml0ZXMKdGhlIHZvbHVtZSB3aXRoIHRoZSBzbmFwc2hvdCBjb250ZW50cy4KCkJlY2F1c2UgdGhlc2Ugb3BlcmF0aW9ucyBub3cgcmFpc2Ugd2hlcmUgdGhleSBwcmV2aW91c2x5IGNvbnRpbnVlZApzaWxlbnRseSwgdHdvIGNyZWF0ZSBwYXRocyBjb3VsZCBsZWF2ZSBvcnBoYW5lZCBiYWNrZW5kIHJlc291cmNlcyBiZWhpbmQKb24gYSBtaWQtb3BlcmF0aW9uIGZhaWx1cmUuIGNyZWF0ZV9jb25zaXN0ZW5jeWdyb3VwIG5vdyB0ZWFycyBkb3duIHRoZQpwcm90ZWN0aW9uIGdyb3VwIGl0IGNyZWF0ZWQgaWYgdGhlIHN1YnNlcXVlbnQgcmVwbGljYXRpb24gY29uZmlndXJhdGlvbgpmYWlscywgYW5kIF9jcmVhdGVfY2dfZnJvbV9jZyByb2xscyBiYWNrIGFueSB2b2x1bWVzIGl0IGhhcyBhbHJlYWR5CmNsb25lZCBiZWZvcmUgcmUtcmFpc2luZyAodGhlIHRlbXBvcmFyeSBncm91cCBzbmFwc2hvdCB3YXMgYWxyZWFkeQpyZW1vdmVkIGluIGEgZmluYWxseSBibG9jaykuIE90aGVyIGJlc3QtZWZmb3J0IGNsZWFudXAgcGF0aHMKKGRlbGV0ZS9lcmFkaWNhdGUpIGFyZSBpbnRlbnRpb25hbGx5IGxlZnQgdW5jaGFuZ2VkLgoKQ2xvc2VzLUJ1ZzogIzIxNjAzNjYKCkNvLUF1dGhvcmVkLUJ5OiBDbGF1ZGUgT3B1cyA0LjggKDFNIGNvbnRleHQpIDxub3JlcGx5QGFudGhyb3BpYy5jb20+ClNpZ25lZC1vZmYtYnk6IFNpbW9uIERvZHNsZXkgPHNpbW9uQHB1cmVzdG9yYWdlLmNvbT4KQ2hhbmdlLUlkOiBJZDkwMDA5YTU3ZDc4ZjIyZWI4OGU5NDM1ODkxNjgxNWEzNGFhNmU1NAo=
      patchset: '5'
      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: 406633de5471ef4834c65d2ec5a682d3251251a7
          trusted/project_3/opendev.org/openstack/devstack:
            canonical_name: opendev.org/openstack/devstack
            checkout: master
            commit: aed5849328e9c61ff1f6ea2f40ec3aaebe8a8698
          trusted/project_4/opendev.org/openstack/openstack-zuul-jobs:
            canonical_name: opendev.org/openstack/openstack-zuul-jobs
            checkout: master
            commit: adfb3f80f75ad55de5c65b34400d4beaa8ae7780
          untrusted/project_0/opendev.org/openstack/devstack:
            canonical_name: opendev.org/openstack/devstack
            checkout: master
            commit: aed5849328e9c61ff1f6ea2f40ec3aaebe8a8698
          untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs:
            canonical_name: opendev.org/openstack/openstack-zuul-jobs
            checkout: master
            commit: adfb3f80f75ad55de5c65b34400d4beaa8ae7780
          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: 406633de5471ef4834c65d2ec5a682d3251251a7
        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-client/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: untrusted/project_4/opendev.org/openstack/tempest/playbooks/post-tempest.yaml
          roles:
          - checkout: master
            checkout_description: playbook branch
            link_name: ansible/post_playbook_2/role_0/tempest
            link_target: untrusted/project_4/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: untrusted/project_0/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: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_2/role_2/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_2/role_3/config
            link_target: untrusted/project_2/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: untrusted/project_3/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_2/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_3/role_0/devstack
            link_target: untrusted/project_0/opendev.org/openstack/devstack
            role_path: ansible/post_playbook_3/role_0/devstack/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_1/openstack-zuul-jobs
            link_target: untrusted/project_1/opendev.org/openstack/openstack-zuul-jobs
            role_path: ansible/post_playbook_3/role_1/openstack-zuul-jobs/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_2/config
            link_target: untrusted/project_2/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_3/role_2/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_3/role_3/zuul-jobs
            link_target: untrusted/project_3/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_3/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_4/role_0/config
            link_target: trusted/project_0/gerrit-openstack-ci.sof-k8s.storpool.net/config
            role_path: ansible/post_playbook_4/role_0/config/roles
          - checkout: master
            checkout_description: zuul branch
            link_name: ansible/post_playbook_4/role_1/zuul-jobs
            link_target: trusted/project_1/gerrit-openstack-ci.sof-k8s.storpool.net/zuul-jobs
            role_path: ansible/post_playbook_4/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-storpool/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
      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: d6209c2ffea89e3815de8fff0acbdaad8f4fc3e4
          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: aed5849328e9c61ff1f6ea2f40ec3aaebe8a8698
          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: 4d3aa425eaca1818ce9168c21fbed71ae971468b
          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: 3a7f6f86de99e69874de177148b9f386df3e0031
          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: dffba877c856979e00464c1280a9848e2f34622f
          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: 4d9d8caff2e4b1811bab4b9d6f9ddeae9e88c5b2
          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: 10c4d910a399290f4d0298d735c7a46a8511eebd
          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: 1244391f2eb1a5b626c84ea9623d631ce5820ff7
          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: 97fad36d7a562ae4668cd2ba84bd85f61e7e06d2
          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: 406633de5471ef4834c65d2ec5a682d3251251a7
          name: openstack/tempest
          required: true
          short_name: tempest
          src_dir: src/opendev.org/openstack/tempest
      ref: refs/changes/40/996840/5
      resources: {}
      tenant: OpenStack
      timeout: 10800
      topic: bug-2160366-sdk-response
      voting: true
    zuul_copy_output:
      /etc/ceph: logs
      /etc/glusterfs/glusterd.vol: logs
      /etc/libvirt: logs
      /etc/lvm: logs
      /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
