all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe5a:74f3
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 551ce052-4d14-4248-ae47-709ef1bec130
        host_id: 25afcdcd4b24cc9d1766f11f81549380a3029030a455889bb61ec093
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe5a:74f3
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.101
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.234
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe5a:74f3
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job python-black explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#54>'
      - '<Job python-black explicit: None implied: None source: osism/testbed/.zuul.yaml@main#324>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 8297fcc8f9134701bdf1407b54aeea4e
      build_refs:
      - branch: main
        change: '2895'
        change_message: "tempest: re-enable image dependency tests\n\n## Summary\n\n-
          Removes the two `ImageDependencyTests` entries from `environments/openstack/files/tempest/exclude.lst`
          that were added as a workaround in #2885\n\n## Background\n\nThe tests were
          excluded because Glance returned HTTP 409 when deleting an image with active
          Nova ephemeral RBD clones. Root cause: the default Ceph compat level (luminous)
          uses RBD clone v1, where parent snapshots must remain protected as long
          as clones exist. `glance_store`'s `unprotect_snap()` call raises `ImageBusy`
          before the `trash_move()` fallback is reached.\n\nThe fix is to raise the
          Ceph OSD map `require-min-compat-client` to `mimic`, which enables RBD clone
          v2 cluster-wide. Under clone v2 the protection lock is not used, `unprotect_snap()`
          succeeds, and deletion proceeds via `trash_move()`.\n\n## Prerequisites
          \u2014 merge after both of these\n\n- osism/defaults#284 \u2014 adds `ceph_require_min_compat_client:
          mimic` default variable\n- osism/container-image-ceph-ansible#690 \u2014
          applies it via `ceph-pools` lifecycle step\n\n## Test plan\n\n- [ ] Both
          prerequisite PRs merged\n- [ ] CI run with all three changes shows both
          `ImageDependencyTests` passing\n- [ ] No regression in remaining tempest
          suite\n\nCloses #2884\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2895
        commit_id: ca14645be441f502a3ce5a206f493cd7f4f43cff
        patchset: ca14645be441f502a3ce5a206f493cd7f4f43cff
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      buildset: f651a483b1c7417283bc342cd9ace67b
      buildset_refs:
      - branch: main
        change: '2895'
        change_message: "tempest: re-enable image dependency tests\n\n## Summary\n\n-
          Removes the two `ImageDependencyTests` entries from `environments/openstack/files/tempest/exclude.lst`
          that were added as a workaround in #2885\n\n## Background\n\nThe tests were
          excluded because Glance returned HTTP 409 when deleting an image with active
          Nova ephemeral RBD clones. Root cause: the default Ceph compat level (luminous)
          uses RBD clone v1, where parent snapshots must remain protected as long
          as clones exist. `glance_store`'s `unprotect_snap()` call raises `ImageBusy`
          before the `trash_move()` fallback is reached.\n\nThe fix is to raise the
          Ceph OSD map `require-min-compat-client` to `mimic`, which enables RBD clone
          v2 cluster-wide. Under clone v2 the protection lock is not used, `unprotect_snap()`
          succeeds, and deletion proceeds via `trash_move()`.\n\n## Prerequisites
          \u2014 merge after both of these\n\n- osism/defaults#284 \u2014 adds `ceph_require_min_compat_client:
          mimic` default variable\n- osism/container-image-ceph-ansible#690 \u2014
          applies it via `ceph-pools` lifecycle step\n\n## Test plan\n\n- [ ] Both
          prerequisite PRs merged\n- [ ] CI run with all three changes shows both
          `ImageDependencyTests` passing\n- [ ] No regression in remaining tempest
          suite\n\nCloses #2884\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2895
        commit_id: ca14645be441f502a3ce5a206f493cd7f4f43cff
        patchset: ca14645be441f502a3ce5a206f493cd7f4f43cff
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      change: '2895'
      change_message: "tempest: re-enable image dependency tests\n\n## Summary\n\n-
        Removes the two `ImageDependencyTests` entries from `environments/openstack/files/tempest/exclude.lst`
        that were added as a workaround in #2885\n\n## Background\n\nThe tests were
        excluded because Glance returned HTTP 409 when deleting an image with active
        Nova ephemeral RBD clones. Root cause: the default Ceph compat level (luminous)
        uses RBD clone v1, where parent snapshots must remain protected as long as
        clones exist. `glance_store`'s `unprotect_snap()` call raises `ImageBusy`
        before the `trash_move()` fallback is reached.\n\nThe fix is to raise the
        Ceph OSD map `require-min-compat-client` to `mimic`, which enables RBD clone
        v2 cluster-wide. Under clone v2 the protection lock is not used, `unprotect_snap()`
        succeeds, and deletion proceeds via `trash_move()`.\n\n## Prerequisites \u2014
        merge after both of these\n\n- osism/defaults#284 \u2014 adds `ceph_require_min_compat_client:
        mimic` default variable\n- osism/container-image-ceph-ansible#690 \u2014 applies
        it via `ceph-pools` lifecycle step\n\n## Test plan\n\n- [ ] Both prerequisite
        PRs merged\n- [ ] CI run with all three changes shows both `ImageDependencyTests`
        passing\n- [ ] No regression in remaining tempest suite\n\nCloses #2884\n\n\U0001F916
        Generated with [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/testbed/pull/2895
      child_jobs: []
      commit_id: ca14645be441f502a3ce5a206f493cd7f4f43cff
      event_id: c361c040-5938-11f1-9a18-7b5b81cfd528
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/8297fcc8f9134701bdf1407b54aeea4e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/8297fcc8f9134701bdf1407b54aeea4e/work/logs
        result_data_file: /var/lib/zuul/builds/8297fcc8f9134701bdf1407b54aeea4e/work/results.json
        src_root: /var/lib/zuul/builds/8297fcc8f9134701bdf1407b54aeea4e/work/src
        work_root: /var/lib/zuul/builds/8297fcc8f9134701bdf1407b54aeea4e/work
      include_vars: []
      items:
      - branch: main
        change: '2895'
        change_message: "tempest: re-enable image dependency tests\n\n## Summary\n\n-
          Removes the two `ImageDependencyTests` entries from `environments/openstack/files/tempest/exclude.lst`
          that were added as a workaround in #2885\n\n## Background\n\nThe tests were
          excluded because Glance returned HTTP 409 when deleting an image with active
          Nova ephemeral RBD clones. Root cause: the default Ceph compat level (luminous)
          uses RBD clone v1, where parent snapshots must remain protected as long
          as clones exist. `glance_store`'s `unprotect_snap()` call raises `ImageBusy`
          before the `trash_move()` fallback is reached.\n\nThe fix is to raise the
          Ceph OSD map `require-min-compat-client` to `mimic`, which enables RBD clone
          v2 cluster-wide. Under clone v2 the protection lock is not used, `unprotect_snap()`
          succeeds, and deletion proceeds via `trash_move()`.\n\n## Prerequisites
          \u2014 merge after both of these\n\n- osism/defaults#284 \u2014 adds `ceph_require_min_compat_client:
          mimic` default variable\n- osism/container-image-ceph-ansible#690 \u2014
          applies it via `ceph-pools` lifecycle step\n\n## Test plan\n\n- [ ] Both
          prerequisite PRs merged\n- [ ] CI run with all three changes shows both
          `ImageDependencyTests` passing\n- [ ] No regression in remaining tempest
          suite\n\nCloses #2884\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/testbed/pull/2895
        commit_id: ca14645be441f502a3ce5a206f493cd7f4f43cff
        patchset: ca14645be441f502a3ce5a206f493cd7f4f43cff
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
          src_dir: src/github.com/osism/testbed
        topic: null
      job: python-black
      jobtags: []
      max_attempts: 3
      message: dGVtcGVzdDogcmUtZW5hYmxlIGltYWdlIGRlcGVuZGVuY3kgdGVzdHMKCiMjIFN1bW1hcnkKCi0gUmVtb3ZlcyB0aGUgdHdvIGBJbWFnZURlcGVuZGVuY3lUZXN0c2AgZW50cmllcyBmcm9tIGBlbnZpcm9ubWVudHMvb3BlbnN0YWNrL2ZpbGVzL3RlbXBlc3QvZXhjbHVkZS5sc3RgIHRoYXQgd2VyZSBhZGRlZCBhcyBhIHdvcmthcm91bmQgaW4gIzI4ODUKCiMjIEJhY2tncm91bmQKClRoZSB0ZXN0cyB3ZXJlIGV4Y2x1ZGVkIGJlY2F1c2UgR2xhbmNlIHJldHVybmVkIEhUVFAgNDA5IHdoZW4gZGVsZXRpbmcgYW4gaW1hZ2Ugd2l0aCBhY3RpdmUgTm92YSBlcGhlbWVyYWwgUkJEIGNsb25lcy4gUm9vdCBjYXVzZTogdGhlIGRlZmF1bHQgQ2VwaCBjb21wYXQgbGV2ZWwgKGx1bWlub3VzKSB1c2VzIFJCRCBjbG9uZSB2MSwgd2hlcmUgcGFyZW50IHNuYXBzaG90cyBtdXN0IHJlbWFpbiBwcm90ZWN0ZWQgYXMgbG9uZyBhcyBjbG9uZXMgZXhpc3QuIGBnbGFuY2Vfc3RvcmVgJ3MgYHVucHJvdGVjdF9zbmFwKClgIGNhbGwgcmFpc2VzIGBJbWFnZUJ1c3lgIGJlZm9yZSB0aGUgYHRyYXNoX21vdmUoKWAgZmFsbGJhY2sgaXMgcmVhY2hlZC4KClRoZSBmaXggaXMgdG8gcmFpc2UgdGhlIENlcGggT1NEIG1hcCBgcmVxdWlyZS1taW4tY29tcGF0LWNsaWVudGAgdG8gYG1pbWljYCwgd2hpY2ggZW5hYmxlcyBSQkQgY2xvbmUgdjIgY2x1c3Rlci13aWRlLiBVbmRlciBjbG9uZSB2MiB0aGUgcHJvdGVjdGlvbiBsb2NrIGlzIG5vdCB1c2VkLCBgdW5wcm90ZWN0X3NuYXAoKWAgc3VjY2VlZHMsIGFuZCBkZWxldGlvbiBwcm9jZWVkcyB2aWEgYHRyYXNoX21vdmUoKWAuCgojIyBQcmVyZXF1aXNpdGVzIOKAlCBtZXJnZSBhZnRlciBib3RoIG9mIHRoZXNlCgotIG9zaXNtL2RlZmF1bHRzIzI4NCDigJQgYWRkcyBgY2VwaF9yZXF1aXJlX21pbl9jb21wYXRfY2xpZW50OiBtaW1pY2AgZGVmYXVsdCB2YXJpYWJsZQotIG9zaXNtL2NvbnRhaW5lci1pbWFnZS1jZXBoLWFuc2libGUjNjkwIOKAlCBhcHBsaWVzIGl0IHZpYSBgY2VwaC1wb29sc2AgbGlmZWN5Y2xlIHN0ZXAKCiMjIFRlc3QgcGxhbgoKLSBbIF0gQm90aCBwcmVyZXF1aXNpdGUgUFJzIG1lcmdlZAotIFsgXSBDSSBydW4gd2l0aCBhbGwgdGhyZWUgY2hhbmdlcyBzaG93cyBib3RoIGBJbWFnZURlcGVuZGVuY3lUZXN0c2AgcGFzc2luZwotIFsgXSBObyByZWdyZXNzaW9uIGluIHJlbWFpbmluZyB0ZW1wZXN0IHN1aXRlCgpDbG9zZXMgIzI4ODQKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: ca14645be441f502a3ce5a206f493cd7f4f43cff
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/python-black/run.yml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/testbed
        name: osism/testbed
        short_name: testbed
        src_dir: src/github.com/osism/testbed
      projects:
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: b253fcc77a2bb1e1b85987b2eb6269dc9e58023d
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2895/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
