all:
  children:
    tempest:
      hosts:
        controller: null
    zuul_unreachable:
      hosts: {}
  hosts:
    controller:
      ansible_connection: ssh
      ansible_host: 10.4.3.216
      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: 25a894cf-8dcd-4767-a427-eb342bb1ffec
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.216
        label: os-ubuntu2404-4xlarge
        node_properties: {}
        private_ipv4: 10.4.3.216
        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: 25a894cf-8dcd-4767-a427-eb342bb1ffec
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.216
        label: os-ubuntu2404-4xlarge
        node_properties: {}
        private_ipv4: 10.4.3.216
        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.197
      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: e7bac541-0ddc-41a9-9965-10d4b4d65694
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.197
        label: os-ubuntu2404-2xlarge
        node_properties: {}
        private_ipv4: 10.4.3.197
        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: e7bac541-0ddc-41a9-9965-10d4b4d65694
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.197
        label: os-ubuntu2404-2xlarge
        node_properties: {}
        private_ipv4: 10.4.3.197
        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.89
      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: c98ca80c-9764-4b8e-9063-42e153bde71f
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.89
        label: os-ubuntu2404-small
        node_properties: {}
        private_ipv4: 10.4.3.89
        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: c98ca80c-9764-4b8e-9063-42e153bde71f
        host_id: 7494f74baa07d17789d96d3d24bdd7bcd37fb89e8217586c2be59c98
        interface_ip: 10.4.3.89
        label: os-ubuntu2404-small
        node_properties: {}
        private_ipv4: 10.4.3.89
        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: bcc322685b0e499b84e74e2971e78dba
      build_refs:
      - branch: master
        change: '993363'
        change_message: "NetApp ONTAP: begin closing ZAPI-to-REST gaps\n\nSeveral
          primitives implemented on the ZAPI client are missing on the\nREST client
          and silently fall through to ZAPI via __getattr__, breaking\nparity when
          operators run with netapp_use_legacy_client=False. This is\nthe first batch
          of native REST implementations.\n\nThis patch adds:\n\n* destroy_file_copy
          -- cancels an in-progress file copy via\n  PATCH /api/cluster/jobs/{uuid}.\n\n*
          get_cluster_peers -- lists cluster peers via GET /api/cluster/peers\n  with
          optional name filter; returns ZAPI-compatible dicts.\n\n* set_lun_qos_policy_group
          -- assigns a QoS policy group to a LUN via\n  PATCH /api/storage/luns/{uuid}
          with ``qos_policy.name``. Unlike the\n  ZAPI client, the REST client uses
          a single field for both adaptive\n  and non-adaptive policies.\n\n* get_snapshot
          -- looks up a single snapshot via\n  GET /api/storage/volumes/{volume.uuid}/snapshots
          filtered by name and\n  returns a ZAPI-compatible dict (name, volume, busy,
          owners). A\n  wait_for_busy_snapshot helper polls it until the snapshot
          is no longer\n  busy.\n\n* rename_snapshot / mark_snapshot_for_deletion
          -- renames a backing\n  snapshot to the ``deleted_cinder_<name>`` GC prefix
          by resolving the\n  snapshot uuid via GET and issuing a PATCH; preserves
          snapshot\n  identity.\n\n* get_snapshots_marked_for_deletion -- lists ``deleted_cinder_*``\n
          \ snapshots across the SVM's FlexVols for the periodic reaper. REST has\n
          \ no server-side busy filter, so busy snapshots are skipped client-side\n
          \ via the snapshot's owners[] array.\n\n* get_file_usage -- retrieves the
          unique-bytes count of a file via\n  GET /api/private/cli/volume/file/show-disk-usage.
          Used by the NFS\n  image-cache cleanup path. No public REST equivalent exists
          for the\n  ZAPI file-usage-get unique-bytes attribute; the private CLI endpoint\n
          \ is a short-term workaround.\n\n* get_clone_split_info -- fetches unsplit
          clone status via\n  GET /api/storage/file/clone/split-status. Maps REST
          fields\n  unsplit_size and pending_splits to ZAPI-compatible output keys.\n\n*
          get_flexvol_dedupe_used_percent -- combines get_flexvol_dedupe_info\n  and
          get_clone_split_info using the same formula as the ZAPI baseline:\n  100
          * (logical_data_size + unsplit_size) / logical_data_limit.\n  Guarded by
          the CLONE_SPLIT_STATUS feature flag (ONTAP 8.3+).\n\n* create_cg_snapshot
          -- implements crash-consistent group snapshots\n  natively in the REST client.
          Creates an ephemeral ONTAP consistency\n  group, posts a CG snapshot, then
          deletes the CG. The per-FlexVol\n  snapshot persists for cloning and is
          deleted after all clones\n  complete, mirroring the ZAPI cg-start/cg-commit
          behaviour.\n  _start_cg_snapshot and _commit_cg_snapshot are blocked on
          the REST\n  client via __getattr__ to prevent silent fallback.\n\nIt also
          fixes the NFS file-copy cancel cleanup path: the ZAPI\ndestroy_file_copy
          sent ``file-index`` as an integer, which ONTAP\nrejects, so the cancel always
          raised; _cancel_file_copy now passes it\nas a string and always removes
          the partially-copied destination file,\ntreating an already-absent file
          as success.\n\nChange-Id: Ib07d2cd496cdac490313b69e55b03093b012af9d\nSigned-off-by:
          Saikumar Pulluri <saikumar1016@gmail.com>\nRelated: https://etherpad.opendev.org/p/cinder-netapp-zapi-to-rest-gaps\n"
        change_url: https://review.opendev.org/c/openstack/cinder/+/993363
        commit_id: 4bf52f2234ef82cb74dcd6fa9bc495626e2960fd
        patchset: '10'
        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: 035b9204c28f46d5bad2d222b3bda83a
      buildset_refs:
      - branch: master
        change: '993363'
        change_message: "NetApp ONTAP: begin closing ZAPI-to-REST gaps\n\nSeveral
          primitives implemented on the ZAPI client are missing on the\nREST client
          and silently fall through to ZAPI via __getattr__, breaking\nparity when
          operators run with netapp_use_legacy_client=False. This is\nthe first batch
          of native REST implementations.\n\nThis patch adds:\n\n* destroy_file_copy
          -- cancels an in-progress file copy via\n  PATCH /api/cluster/jobs/{uuid}.\n\n*
          get_cluster_peers -- lists cluster peers via GET /api/cluster/peers\n  with
          optional name filter; returns ZAPI-compatible dicts.\n\n* set_lun_qos_policy_group
          -- assigns a QoS policy group to a LUN via\n  PATCH /api/storage/luns/{uuid}
          with ``qos_policy.name``. Unlike the\n  ZAPI client, the REST client uses
          a single field for both adaptive\n  and non-adaptive policies.\n\n* get_snapshot
          -- looks up a single snapshot via\n  GET /api/storage/volumes/{volume.uuid}/snapshots
          filtered by name and\n  returns a ZAPI-compatible dict (name, volume, busy,
          owners). A\n  wait_for_busy_snapshot helper polls it until the snapshot
          is no longer\n  busy.\n\n* rename_snapshot / mark_snapshot_for_deletion
          -- renames a backing\n  snapshot to the ``deleted_cinder_<name>`` GC prefix
          by resolving the\n  snapshot uuid via GET and issuing a PATCH; preserves
          snapshot\n  identity.\n\n* get_snapshots_marked_for_deletion -- lists ``deleted_cinder_*``\n
          \ snapshots across the SVM's FlexVols for the periodic reaper. REST has\n
          \ no server-side busy filter, so busy snapshots are skipped client-side\n
          \ via the snapshot's owners[] array.\n\n* get_file_usage -- retrieves the
          unique-bytes count of a file via\n  GET /api/private/cli/volume/file/show-disk-usage.
          Used by the NFS\n  image-cache cleanup path. No public REST equivalent exists
          for the\n  ZAPI file-usage-get unique-bytes attribute; the private CLI endpoint\n
          \ is a short-term workaround.\n\n* get_clone_split_info -- fetches unsplit
          clone status via\n  GET /api/storage/file/clone/split-status. Maps REST
          fields\n  unsplit_size and pending_splits to ZAPI-compatible output keys.\n\n*
          get_flexvol_dedupe_used_percent -- combines get_flexvol_dedupe_info\n  and
          get_clone_split_info using the same formula as the ZAPI baseline:\n  100
          * (logical_data_size + unsplit_size) / logical_data_limit.\n  Guarded by
          the CLONE_SPLIT_STATUS feature flag (ONTAP 8.3+).\n\n* create_cg_snapshot
          -- implements crash-consistent group snapshots\n  natively in the REST client.
          Creates an ephemeral ONTAP consistency\n  group, posts a CG snapshot, then
          deletes the CG. The per-FlexVol\n  snapshot persists for cloning and is
          deleted after all clones\n  complete, mirroring the ZAPI cg-start/cg-commit
          behaviour.\n  _start_cg_snapshot and _commit_cg_snapshot are blocked on
          the REST\n  client via __getattr__ to prevent silent fallback.\n\nIt also
          fixes the NFS file-copy cancel cleanup path: the ZAPI\ndestroy_file_copy
          sent ``file-index`` as an integer, which ONTAP\nrejects, so the cancel always
          raised; _cancel_file_copy now passes it\nas a string and always removes
          the partially-copied destination file,\ntreating an already-absent file
          as success.\n\nChange-Id: Ib07d2cd496cdac490313b69e55b03093b012af9d\nSigned-off-by:
          Saikumar Pulluri <saikumar1016@gmail.com>\nRelated: https://etherpad.opendev.org/p/cinder-netapp-zapi-to-rest-gaps\n"
        change_url: https://review.opendev.org/c/openstack/cinder/+/993363
        commit_id: 4bf52f2234ef82cb74dcd6fa9bc495626e2960fd
        patchset: '10'
        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: '993363'
      change_message: "NetApp ONTAP: begin closing ZAPI-to-REST gaps\n\nSeveral primitives
        implemented on the ZAPI client are missing on the\nREST client and silently
        fall through to ZAPI via __getattr__, breaking\nparity when operators run
        with netapp_use_legacy_client=False. This is\nthe first batch of native REST
        implementations.\n\nThis patch adds:\n\n* destroy_file_copy -- cancels an
        in-progress file copy via\n  PATCH /api/cluster/jobs/{uuid}.\n\n* get_cluster_peers
        -- lists cluster peers via GET /api/cluster/peers\n  with optional name filter;
        returns ZAPI-compatible dicts.\n\n* set_lun_qos_policy_group -- assigns a
        QoS policy group to a LUN via\n  PATCH /api/storage/luns/{uuid} with ``qos_policy.name``.
        Unlike the\n  ZAPI client, the REST client uses a single field for both adaptive\n
        \ and non-adaptive policies.\n\n* get_snapshot -- looks up a single snapshot
        via\n  GET /api/storage/volumes/{volume.uuid}/snapshots filtered by name and\n
        \ returns a ZAPI-compatible dict (name, volume, busy, owners). A\n  wait_for_busy_snapshot
        helper polls it until the snapshot is no longer\n  busy.\n\n* rename_snapshot
        / mark_snapshot_for_deletion -- renames a backing\n  snapshot to the ``deleted_cinder_<name>``
        GC prefix by resolving the\n  snapshot uuid via GET and issuing a PATCH; preserves
        snapshot\n  identity.\n\n* get_snapshots_marked_for_deletion -- lists ``deleted_cinder_*``\n
        \ snapshots across the SVM's FlexVols for the periodic reaper. REST has\n
        \ no server-side busy filter, so busy snapshots are skipped client-side\n
        \ via the snapshot's owners[] array.\n\n* get_file_usage -- retrieves the
        unique-bytes count of a file via\n  GET /api/private/cli/volume/file/show-disk-usage.
        Used by the NFS\n  image-cache cleanup path. No public REST equivalent exists
        for the\n  ZAPI file-usage-get unique-bytes attribute; the private CLI endpoint\n
        \ is a short-term workaround.\n\n* get_clone_split_info -- fetches unsplit
        clone status via\n  GET /api/storage/file/clone/split-status. Maps REST fields\n
        \ unsplit_size and pending_splits to ZAPI-compatible output keys.\n\n* get_flexvol_dedupe_used_percent
        -- combines get_flexvol_dedupe_info\n  and get_clone_split_info using the
        same formula as the ZAPI baseline:\n  100 * (logical_data_size + unsplit_size)
        / logical_data_limit.\n  Guarded by the CLONE_SPLIT_STATUS feature flag (ONTAP
        8.3+).\n\n* create_cg_snapshot -- implements crash-consistent group snapshots\n
        \ natively in the REST client. Creates an ephemeral ONTAP consistency\n  group,
        posts a CG snapshot, then deletes the CG. The per-FlexVol\n  snapshot persists
        for cloning and is deleted after all clones\n  complete, mirroring the ZAPI
        cg-start/cg-commit behaviour.\n  _start_cg_snapshot and _commit_cg_snapshot
        are blocked on the REST\n  client via __getattr__ to prevent silent fallback.\n\nIt
        also fixes the NFS file-copy cancel cleanup path: the ZAPI\ndestroy_file_copy
        sent ``file-index`` as an integer, which ONTAP\nrejects, so the cancel always
        raised; _cancel_file_copy now passes it\nas a string and always removes the
        partially-copied destination file,\ntreating an already-absent file as success.\n\nChange-Id:
        Ib07d2cd496cdac490313b69e55b03093b012af9d\nSigned-off-by: Saikumar Pulluri
        <saikumar1016@gmail.com>\nRelated: https://etherpad.opendev.org/p/cinder-netapp-zapi-to-rest-gaps\n"
      change_url: https://review.opendev.org/c/openstack/cinder/+/993363
      child_jobs: []
      commit_id: 4bf52f2234ef82cb74dcd6fa9bc495626e2960fd
      event_id: 8cf197321e154097a9e877d5d659ecd6
      executor:
        hostname: zuul-executor-0.zuul-executor.openstack-ci.svc.cluster.local
        inventory_file: /var/lib/zuul/builds/bcc322685b0e499b84e74e2971e78dba/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/bcc322685b0e499b84e74e2971e78dba/work/logs
        result_data_file: /var/lib/zuul/builds/bcc322685b0e499b84e74e2971e78dba/work/results.json
        src_root: /var/lib/zuul/builds/bcc322685b0e499b84e74e2971e78dba/work/src
        work_root: /var/lib/zuul/builds/bcc322685b0e499b84e74e2971e78dba/work
      include_vars: []
      items:
      - branch: master
        change: '993363'
        change_message: "NetApp ONTAP: begin closing ZAPI-to-REST gaps\n\nSeveral
          primitives implemented on the ZAPI client are missing on the\nREST client
          and silently fall through to ZAPI via __getattr__, breaking\nparity when
          operators run with netapp_use_legacy_client=False. This is\nthe first batch
          of native REST implementations.\n\nThis patch adds:\n\n* destroy_file_copy
          -- cancels an in-progress file copy via\n  PATCH /api/cluster/jobs/{uuid}.\n\n*
          get_cluster_peers -- lists cluster peers via GET /api/cluster/peers\n  with
          optional name filter; returns ZAPI-compatible dicts.\n\n* set_lun_qos_policy_group
          -- assigns a QoS policy group to a LUN via\n  PATCH /api/storage/luns/{uuid}
          with ``qos_policy.name``. Unlike the\n  ZAPI client, the REST client uses
          a single field for both adaptive\n  and non-adaptive policies.\n\n* get_snapshot
          -- looks up a single snapshot via\n  GET /api/storage/volumes/{volume.uuid}/snapshots
          filtered by name and\n  returns a ZAPI-compatible dict (name, volume, busy,
          owners). A\n  wait_for_busy_snapshot helper polls it until the snapshot
          is no longer\n  busy.\n\n* rename_snapshot / mark_snapshot_for_deletion
          -- renames a backing\n  snapshot to the ``deleted_cinder_<name>`` GC prefix
          by resolving the\n  snapshot uuid via GET and issuing a PATCH; preserves
          snapshot\n  identity.\n\n* get_snapshots_marked_for_deletion -- lists ``deleted_cinder_*``\n
          \ snapshots across the SVM's FlexVols for the periodic reaper. REST has\n
          \ no server-side busy filter, so busy snapshots are skipped client-side\n
          \ via the snapshot's owners[] array.\n\n* get_file_usage -- retrieves the
          unique-bytes count of a file via\n  GET /api/private/cli/volume/file/show-disk-usage.
          Used by the NFS\n  image-cache cleanup path. No public REST equivalent exists
          for the\n  ZAPI file-usage-get unique-bytes attribute; the private CLI endpoint\n
          \ is a short-term workaround.\n\n* get_clone_split_info -- fetches unsplit
          clone status via\n  GET /api/storage/file/clone/split-status. Maps REST
          fields\n  unsplit_size and pending_splits to ZAPI-compatible output keys.\n\n*
          get_flexvol_dedupe_used_percent -- combines get_flexvol_dedupe_info\n  and
          get_clone_split_info using the same formula as the ZAPI baseline:\n  100
          * (logical_data_size + unsplit_size) / logical_data_limit.\n  Guarded by
          the CLONE_SPLIT_STATUS feature flag (ONTAP 8.3+).\n\n* create_cg_snapshot
          -- implements crash-consistent group snapshots\n  natively in the REST client.
          Creates an ephemeral ONTAP consistency\n  group, posts a CG snapshot, then
          deletes the CG. The per-FlexVol\n  snapshot persists for cloning and is
          deleted after all clones\n  complete, mirroring the ZAPI cg-start/cg-commit
          behaviour.\n  _start_cg_snapshot and _commit_cg_snapshot are blocked on
          the REST\n  client via __getattr__ to prevent silent fallback.\n\nIt also
          fixes the NFS file-copy cancel cleanup path: the ZAPI\ndestroy_file_copy
          sent ``file-index`` as an integer, which ONTAP\nrejects, so the cancel always
          raised; _cancel_file_copy now passes it\nas a string and always removes
          the partially-copied destination file,\ntreating an already-absent file
          as success.\n\nChange-Id: Ib07d2cd496cdac490313b69e55b03093b012af9d\nSigned-off-by:
          Saikumar Pulluri <saikumar1016@gmail.com>\nRelated: https://etherpad.opendev.org/p/cinder-netapp-zapi-to-rest-gaps\n"
        change_url: https://review.opendev.org/c/openstack/cinder/+/993363
        commit_id: 4bf52f2234ef82cb74dcd6fa9bc495626e2960fd
        patchset: '10'
        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: TmV0QXBwIE9OVEFQOiBiZWdpbiBjbG9zaW5nIFpBUEktdG8tUkVTVCBnYXBzCgpTZXZlcmFsIHByaW1pdGl2ZXMgaW1wbGVtZW50ZWQgb24gdGhlIFpBUEkgY2xpZW50IGFyZSBtaXNzaW5nIG9uIHRoZQpSRVNUIGNsaWVudCBhbmQgc2lsZW50bHkgZmFsbCB0aHJvdWdoIHRvIFpBUEkgdmlhIF9fZ2V0YXR0cl9fLCBicmVha2luZwpwYXJpdHkgd2hlbiBvcGVyYXRvcnMgcnVuIHdpdGggbmV0YXBwX3VzZV9sZWdhY3lfY2xpZW50PUZhbHNlLiBUaGlzIGlzCnRoZSBmaXJzdCBiYXRjaCBvZiBuYXRpdmUgUkVTVCBpbXBsZW1lbnRhdGlvbnMuCgpUaGlzIHBhdGNoIGFkZHM6CgoqIGRlc3Ryb3lfZmlsZV9jb3B5IC0tIGNhbmNlbHMgYW4gaW4tcHJvZ3Jlc3MgZmlsZSBjb3B5IHZpYQogIFBBVENIIC9hcGkvY2x1c3Rlci9qb2JzL3t1dWlkfS4KCiogZ2V0X2NsdXN0ZXJfcGVlcnMgLS0gbGlzdHMgY2x1c3RlciBwZWVycyB2aWEgR0VUIC9hcGkvY2x1c3Rlci9wZWVycwogIHdpdGggb3B0aW9uYWwgbmFtZSBmaWx0ZXI7IHJldHVybnMgWkFQSS1jb21wYXRpYmxlIGRpY3RzLgoKKiBzZXRfbHVuX3Fvc19wb2xpY3lfZ3JvdXAgLS0gYXNzaWducyBhIFFvUyBwb2xpY3kgZ3JvdXAgdG8gYSBMVU4gdmlhCiAgUEFUQ0ggL2FwaS9zdG9yYWdlL2x1bnMve3V1aWR9IHdpdGggYGBxb3NfcG9saWN5Lm5hbWVgYC4gVW5saWtlIHRoZQogIFpBUEkgY2xpZW50LCB0aGUgUkVTVCBjbGllbnQgdXNlcyBhIHNpbmdsZSBmaWVsZCBmb3IgYm90aCBhZGFwdGl2ZQogIGFuZCBub24tYWRhcHRpdmUgcG9saWNpZXMuCgoqIGdldF9zbmFwc2hvdCAtLSBsb29rcyB1cCBhIHNpbmdsZSBzbmFwc2hvdCB2aWEKICBHRVQgL2FwaS9zdG9yYWdlL3ZvbHVtZXMve3ZvbHVtZS51dWlkfS9zbmFwc2hvdHMgZmlsdGVyZWQgYnkgbmFtZSBhbmQKICByZXR1cm5zIGEgWkFQSS1jb21wYXRpYmxlIGRpY3QgKG5hbWUsIHZvbHVtZSwgYnVzeSwgb3duZXJzKS4gQQogIHdhaXRfZm9yX2J1c3lfc25hcHNob3QgaGVscGVyIHBvbGxzIGl0IHVudGlsIHRoZSBzbmFwc2hvdCBpcyBubyBsb25nZXIKICBidXN5LgoKKiByZW5hbWVfc25hcHNob3QgLyBtYXJrX3NuYXBzaG90X2Zvcl9kZWxldGlvbiAtLSByZW5hbWVzIGEgYmFja2luZwogIHNuYXBzaG90IHRvIHRoZSBgYGRlbGV0ZWRfY2luZGVyXzxuYW1lPmBgIEdDIHByZWZpeCBieSByZXNvbHZpbmcgdGhlCiAgc25hcHNob3QgdXVpZCB2aWEgR0VUIGFuZCBpc3N1aW5nIGEgUEFUQ0g7IHByZXNlcnZlcyBzbmFwc2hvdAogIGlkZW50aXR5LgoKKiBnZXRfc25hcHNob3RzX21hcmtlZF9mb3JfZGVsZXRpb24gLS0gbGlzdHMgYGBkZWxldGVkX2NpbmRlcl8qYGAKICBzbmFwc2hvdHMgYWNyb3NzIHRoZSBTVk0ncyBGbGV4Vm9scyBmb3IgdGhlIHBlcmlvZGljIHJlYXBlci4gUkVTVCBoYXMKICBubyBzZXJ2ZXItc2lkZSBidXN5IGZpbHRlciwgc28gYnVzeSBzbmFwc2hvdHMgYXJlIHNraXBwZWQgY2xpZW50LXNpZGUKICB2aWEgdGhlIHNuYXBzaG90J3Mgb3duZXJzW10gYXJyYXkuCgoqIGdldF9maWxlX3VzYWdlIC0tIHJldHJpZXZlcyB0aGUgdW5pcXVlLWJ5dGVzIGNvdW50IG9mIGEgZmlsZSB2aWEKICBHRVQgL2FwaS9wcml2YXRlL2NsaS92b2x1bWUvZmlsZS9zaG93LWRpc2stdXNhZ2UuIFVzZWQgYnkgdGhlIE5GUwogIGltYWdlLWNhY2hlIGNsZWFudXAgcGF0aC4gTm8gcHVibGljIFJFU1QgZXF1aXZhbGVudCBleGlzdHMgZm9yIHRoZQogIFpBUEkgZmlsZS11c2FnZS1nZXQgdW5pcXVlLWJ5dGVzIGF0dHJpYnV0ZTsgdGhlIHByaXZhdGUgQ0xJIGVuZHBvaW50CiAgaXMgYSBzaG9ydC10ZXJtIHdvcmthcm91bmQuCgoqIGdldF9jbG9uZV9zcGxpdF9pbmZvIC0tIGZldGNoZXMgdW5zcGxpdCBjbG9uZSBzdGF0dXMgdmlhCiAgR0VUIC9hcGkvc3RvcmFnZS9maWxlL2Nsb25lL3NwbGl0LXN0YXR1cy4gTWFwcyBSRVNUIGZpZWxkcwogIHVuc3BsaXRfc2l6ZSBhbmQgcGVuZGluZ19zcGxpdHMgdG8gWkFQSS1jb21wYXRpYmxlIG91dHB1dCBrZXlzLgoKKiBnZXRfZmxleHZvbF9kZWR1cGVfdXNlZF9wZXJjZW50IC0tIGNvbWJpbmVzIGdldF9mbGV4dm9sX2RlZHVwZV9pbmZvCiAgYW5kIGdldF9jbG9uZV9zcGxpdF9pbmZvIHVzaW5nIHRoZSBzYW1lIGZvcm11bGEgYXMgdGhlIFpBUEkgYmFzZWxpbmU6CiAgMTAwICogKGxvZ2ljYWxfZGF0YV9zaXplICsgdW5zcGxpdF9zaXplKSAvIGxvZ2ljYWxfZGF0YV9saW1pdC4KICBHdWFyZGVkIGJ5IHRoZSBDTE9ORV9TUExJVF9TVEFUVVMgZmVhdHVyZSBmbGFnIChPTlRBUCA4LjMrKS4KCiogY3JlYXRlX2NnX3NuYXBzaG90IC0tIGltcGxlbWVudHMgY3Jhc2gtY29uc2lzdGVudCBncm91cCBzbmFwc2hvdHMKICBuYXRpdmVseSBpbiB0aGUgUkVTVCBjbGllbnQuIENyZWF0ZXMgYW4gZXBoZW1lcmFsIE9OVEFQIGNvbnNpc3RlbmN5CiAgZ3JvdXAsIHBvc3RzIGEgQ0cgc25hcHNob3QsIHRoZW4gZGVsZXRlcyB0aGUgQ0cuIFRoZSBwZXItRmxleFZvbAogIHNuYXBzaG90IHBlcnNpc3RzIGZvciBjbG9uaW5nIGFuZCBpcyBkZWxldGVkIGFmdGVyIGFsbCBjbG9uZXMKICBjb21wbGV0ZSwgbWlycm9yaW5nIHRoZSBaQVBJIGNnLXN0YXJ0L2NnLWNvbW1pdCBiZWhhdmlvdXIuCiAgX3N0YXJ0X2NnX3NuYXBzaG90IGFuZCBfY29tbWl0X2NnX3NuYXBzaG90IGFyZSBibG9ja2VkIG9uIHRoZSBSRVNUCiAgY2xpZW50IHZpYSBfX2dldGF0dHJfXyB0byBwcmV2ZW50IHNpbGVudCBmYWxsYmFjay4KCkl0IGFsc28gZml4ZXMgdGhlIE5GUyBmaWxlLWNvcHkgY2FuY2VsIGNsZWFudXAgcGF0aDogdGhlIFpBUEkKZGVzdHJveV9maWxlX2NvcHkgc2VudCBgYGZpbGUtaW5kZXhgYCBhcyBhbiBpbnRlZ2VyLCB3aGljaCBPTlRBUApyZWplY3RzLCBzbyB0aGUgY2FuY2VsIGFsd2F5cyByYWlzZWQ7IF9jYW5jZWxfZmlsZV9jb3B5IG5vdyBwYXNzZXMgaXQKYXMgYSBzdHJpbmcgYW5kIGFsd2F5cyByZW1vdmVzIHRoZSBwYXJ0aWFsbHktY29waWVkIGRlc3RpbmF0aW9uIGZpbGUsCnRyZWF0aW5nIGFuIGFscmVhZHktYWJzZW50IGZpbGUgYXMgc3VjY2Vzcy4KCkNoYW5nZS1JZDogSWIwN2QyY2Q0OTZjZGFjNDkwMzEzYjY5ZTU1YjAzMDkzYjAxMmFmOWQKU2lnbmVkLW9mZi1ieTogU2Fpa3VtYXIgUHVsbHVyaSA8c2Fpa3VtYXIxMDE2QGdtYWlsLmNvbT4KUmVsYXRlZDogaHR0cHM6Ly9ldGhlcnBhZC5vcGVuZGV2Lm9yZy9wL2NpbmRlci1uZXRhcHAtemFwaS10by1yZXN0LWdhcHMK
      patchset: '10'
      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: 48141b5d7a1377cc4bd5e779c6e6355663fe816d
          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: 48141b5d7a1377cc4bd5e779c6e6355663fe816d
        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: 284ef2352814fdd4b6ad459023eab19ce4912aef
          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: f37e8ed0ae50e99b6adbab5ee655195d39c3ba99
          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: 4172e784581e71b468325c05f4e9023c0fefd9b5
          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: 6390bbd3faacbd7a13e189375e8c8f531c1ce4dc
          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: 4f78199ae79ccfa4e39d88dbf71cdce1ca89fe32
          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: f09f79c259a8fa6217230b255cfa418d0e7377d9
          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: 1547c52ed617e71123c606a7f49c9e403dbc2456
          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: 48141b5d7a1377cc4bd5e779c6e6355663fe816d
          name: openstack/tempest
          required: true
          short_name: tempest
          src_dir: src/opendev.org/openstack/tempest
      ref: refs/changes/63/993363/10
      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
