all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    ubuntu-jammy:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe96:9ce3
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 950f7929-10b0-4813-b375-9f375c99386e
        host_id: 4667d18e0398acd2fb730ad41ba32e35789c4ac8cd4c0875d25b316b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe96:9ce3
        label: ubuntu-jammy
        node_properties: {}
        private_ipv4: 10.128.0.109
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.226
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe96:9ce3
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: YAKEcloud/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job yamllint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#59>'
      - '<Job yamllint explicit: None implied: None source: YAKEcloud/yake-ansible/.zuul.yaml@main#82>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e2a8c96c22cc46f9a7e3c052c4cf05f9
      build_refs:
      - branch: main
        change: '635'
        change_message: "feat: refactor gardener-operator role and add image sync
          script\n\ngardener_operator role:\r\n- Update extension versions for Gardener
          v1.142.0: provider_aws 1.69.1, provider_azure 1.60.1, provider_gcp 1.51.0,
          os_gardenlinux 0.41.0\r\n- Rework extensions.yaml.j2 to render all configured
          extensions from a single loop instead of one block per extension\r\n- Fix
          worker: \u2192 workers: in managed seed defaults example\r\n- Remove obsolete
          boolean flags (cloudprofiles_enabled, managed_seeds_enabled, extension_registry_cache_enabled)
          \u2014 features are now always active\r\n- Clean up group_vars/all.yml.example:
          remove removed flags, add floating_pool_name, replace backup_enabled with
          commented backup block\r\n\r\nclusterapi_cluster role:\r\n- Remove image
          upload tasks (Get SHA256, Check if image exists, Upload image, Wait for
          active) \u2014 role expects an image ID, not a URL; image management is
          now handled by scripts/update-images.py\r\n- Remove clusterapi_cluster_openstack_swift_image_url
          and clusterapi_cluster_openstack_upload_image defaults\r\n- Delete roles/clusterapi_cluster/templates/image.yaml.j2\r\n\r\nscripts/update-images.py
          (new):\r\n- Standalone script to sync CAPI and GardenLinux images to OpenStack
          Glance\r\n- CAPI: downloads ubuntu-{ver}-kube-v{patch}.qcow2 from OSISM
          object storage, uploads as ubuntu-capi-image-v{patch} (SCS scs-0104-v2 compliant)\r\n-
          GardenLinux: fetches latest or pinned release from GitHub, extracts .raw/.qcow2
          from tar.xz, uploads as \"Garden Linux {major}.{minor}\"\r\n- Three-strategy
          duplicate detection per image type: exact name \u2192 property match (kube_version
          / os_distro+os_version) \u2192 fuzzy name scan\r\n- tqdm progress bars for
          both download and upload phases\r\n- All temporary files cleaned up automatically
          via TemporaryDirectory\r\n- --dry-run, --skip-capi, --skip-gardenlinux,
          --cloud flags"
        change_url: https://github.com/YAKEcloud/yake-ansible/pull/635
        commit_id: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
        patchset: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
        project:
          canonical_hostname: github.com
          canonical_name: github.com/YAKEcloud/yake-ansible
          name: YAKEcloud/yake-ansible
          short_name: yake-ansible
        src_dir: src/github.com/YAKEcloud/yake-ansible
        topic: null
      buildset: d97c49ab8b8642108c83b6e8ec56c03b
      buildset_refs:
      - branch: main
        change: '635'
        change_message: "feat: refactor gardener-operator role and add image sync
          script\n\ngardener_operator role:\r\n- Update extension versions for Gardener
          v1.142.0: provider_aws 1.69.1, provider_azure 1.60.1, provider_gcp 1.51.0,
          os_gardenlinux 0.41.0\r\n- Rework extensions.yaml.j2 to render all configured
          extensions from a single loop instead of one block per extension\r\n- Fix
          worker: \u2192 workers: in managed seed defaults example\r\n- Remove obsolete
          boolean flags (cloudprofiles_enabled, managed_seeds_enabled, extension_registry_cache_enabled)
          \u2014 features are now always active\r\n- Clean up group_vars/all.yml.example:
          remove removed flags, add floating_pool_name, replace backup_enabled with
          commented backup block\r\n\r\nclusterapi_cluster role:\r\n- Remove image
          upload tasks (Get SHA256, Check if image exists, Upload image, Wait for
          active) \u2014 role expects an image ID, not a URL; image management is
          now handled by scripts/update-images.py\r\n- Remove clusterapi_cluster_openstack_swift_image_url
          and clusterapi_cluster_openstack_upload_image defaults\r\n- Delete roles/clusterapi_cluster/templates/image.yaml.j2\r\n\r\nscripts/update-images.py
          (new):\r\n- Standalone script to sync CAPI and GardenLinux images to OpenStack
          Glance\r\n- CAPI: downloads ubuntu-{ver}-kube-v{patch}.qcow2 from OSISM
          object storage, uploads as ubuntu-capi-image-v{patch} (SCS scs-0104-v2 compliant)\r\n-
          GardenLinux: fetches latest or pinned release from GitHub, extracts .raw/.qcow2
          from tar.xz, uploads as \"Garden Linux {major}.{minor}\"\r\n- Three-strategy
          duplicate detection per image type: exact name \u2192 property match (kube_version
          / os_distro+os_version) \u2192 fuzzy name scan\r\n- tqdm progress bars for
          both download and upload phases\r\n- All temporary files cleaned up automatically
          via TemporaryDirectory\r\n- --dry-run, --skip-capi, --skip-gardenlinux,
          --cloud flags"
        change_url: https://github.com/YAKEcloud/yake-ansible/pull/635
        commit_id: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
        patchset: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
        project:
          canonical_hostname: github.com
          canonical_name: github.com/YAKEcloud/yake-ansible
          name: YAKEcloud/yake-ansible
          short_name: yake-ansible
        src_dir: src/github.com/YAKEcloud/yake-ansible
        topic: null
      change: '635'
      change_message: "feat: refactor gardener-operator role and add image sync script\n\ngardener_operator
        role:\r\n- Update extension versions for Gardener v1.142.0: provider_aws 1.69.1,
        provider_azure 1.60.1, provider_gcp 1.51.0, os_gardenlinux 0.41.0\r\n- Rework
        extensions.yaml.j2 to render all configured extensions from a single loop
        instead of one block per extension\r\n- Fix worker: \u2192 workers: in managed
        seed defaults example\r\n- Remove obsolete boolean flags (cloudprofiles_enabled,
        managed_seeds_enabled, extension_registry_cache_enabled) \u2014 features are
        now always active\r\n- Clean up group_vars/all.yml.example: remove removed
        flags, add floating_pool_name, replace backup_enabled with commented backup
        block\r\n\r\nclusterapi_cluster role:\r\n- Remove image upload tasks (Get
        SHA256, Check if image exists, Upload image, Wait for active) \u2014 role
        expects an image ID, not a URL; image management is now handled by scripts/update-images.py\r\n-
        Remove clusterapi_cluster_openstack_swift_image_url and clusterapi_cluster_openstack_upload_image
        defaults\r\n- Delete roles/clusterapi_cluster/templates/image.yaml.j2\r\n\r\nscripts/update-images.py
        (new):\r\n- Standalone script to sync CAPI and GardenLinux images to OpenStack
        Glance\r\n- CAPI: downloads ubuntu-{ver}-kube-v{patch}.qcow2 from OSISM object
        storage, uploads as ubuntu-capi-image-v{patch} (SCS scs-0104-v2 compliant)\r\n-
        GardenLinux: fetches latest or pinned release from GitHub, extracts .raw/.qcow2
        from tar.xz, uploads as \"Garden Linux {major}.{minor}\"\r\n- Three-strategy
        duplicate detection per image type: exact name \u2192 property match (kube_version
        / os_distro+os_version) \u2192 fuzzy name scan\r\n- tqdm progress bars for
        both download and upload phases\r\n- All temporary files cleaned up automatically
        via TemporaryDirectory\r\n- --dry-run, --skip-capi, --skip-gardenlinux, --cloud
        flags"
      change_url: https://github.com/YAKEcloud/yake-ansible/pull/635
      child_jobs: []
      commit_id: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
      event_id: 477dc710-4e0e-11f1-819a-134dfc9f8bf4
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/e2a8c96c22cc46f9a7e3c052c4cf05f9/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e2a8c96c22cc46f9a7e3c052c4cf05f9/work/logs
        result_data_file: /var/lib/zuul/builds/e2a8c96c22cc46f9a7e3c052c4cf05f9/work/results.json
        src_root: /var/lib/zuul/builds/e2a8c96c22cc46f9a7e3c052c4cf05f9/work/src
        work_root: /var/lib/zuul/builds/e2a8c96c22cc46f9a7e3c052c4cf05f9/work
      include_vars: []
      items:
      - branch: main
        change: '635'
        change_message: "feat: refactor gardener-operator role and add image sync
          script\n\ngardener_operator role:\r\n- Update extension versions for Gardener
          v1.142.0: provider_aws 1.69.1, provider_azure 1.60.1, provider_gcp 1.51.0,
          os_gardenlinux 0.41.0\r\n- Rework extensions.yaml.j2 to render all configured
          extensions from a single loop instead of one block per extension\r\n- Fix
          worker: \u2192 workers: in managed seed defaults example\r\n- Remove obsolete
          boolean flags (cloudprofiles_enabled, managed_seeds_enabled, extension_registry_cache_enabled)
          \u2014 features are now always active\r\n- Clean up group_vars/all.yml.example:
          remove removed flags, add floating_pool_name, replace backup_enabled with
          commented backup block\r\n\r\nclusterapi_cluster role:\r\n- Remove image
          upload tasks (Get SHA256, Check if image exists, Upload image, Wait for
          active) \u2014 role expects an image ID, not a URL; image management is
          now handled by scripts/update-images.py\r\n- Remove clusterapi_cluster_openstack_swift_image_url
          and clusterapi_cluster_openstack_upload_image defaults\r\n- Delete roles/clusterapi_cluster/templates/image.yaml.j2\r\n\r\nscripts/update-images.py
          (new):\r\n- Standalone script to sync CAPI and GardenLinux images to OpenStack
          Glance\r\n- CAPI: downloads ubuntu-{ver}-kube-v{patch}.qcow2 from OSISM
          object storage, uploads as ubuntu-capi-image-v{patch} (SCS scs-0104-v2 compliant)\r\n-
          GardenLinux: fetches latest or pinned release from GitHub, extracts .raw/.qcow2
          from tar.xz, uploads as \"Garden Linux {major}.{minor}\"\r\n- Three-strategy
          duplicate detection per image type: exact name \u2192 property match (kube_version
          / os_distro+os_version) \u2192 fuzzy name scan\r\n- tqdm progress bars for
          both download and upload phases\r\n- All temporary files cleaned up automatically
          via TemporaryDirectory\r\n- --dry-run, --skip-capi, --skip-gardenlinux,
          --cloud flags"
        change_url: https://github.com/YAKEcloud/yake-ansible/pull/635
        commit_id: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
        patchset: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
        project:
          canonical_hostname: github.com
          canonical_name: github.com/YAKEcloud/yake-ansible
          name: YAKEcloud/yake-ansible
          short_name: yake-ansible
          src_dir: src/github.com/YAKEcloud/yake-ansible
        topic: null
      job: yamllint
      jobtags: []
      max_attempts: 3
      message: ZmVhdDogcmVmYWN0b3IgZ2FyZGVuZXItb3BlcmF0b3Igcm9sZSBhbmQgYWRkIGltYWdlIHN5bmMgc2NyaXB0CgpnYXJkZW5lcl9vcGVyYXRvciByb2xlOg0KLSBVcGRhdGUgZXh0ZW5zaW9uIHZlcnNpb25zIGZvciBHYXJkZW5lciB2MS4xNDIuMDogcHJvdmlkZXJfYXdzIDEuNjkuMSwgcHJvdmlkZXJfYXp1cmUgMS42MC4xLCBwcm92aWRlcl9nY3AgMS41MS4wLCBvc19nYXJkZW5saW51eCAwLjQxLjANCi0gUmV3b3JrIGV4dGVuc2lvbnMueWFtbC5qMiB0byByZW5kZXIgYWxsIGNvbmZpZ3VyZWQgZXh0ZW5zaW9ucyBmcm9tIGEgc2luZ2xlIGxvb3AgaW5zdGVhZCBvZiBvbmUgYmxvY2sgcGVyIGV4dGVuc2lvbg0KLSBGaXggd29ya2VyOiDihpIgd29ya2VyczogaW4gbWFuYWdlZCBzZWVkIGRlZmF1bHRzIGV4YW1wbGUNCi0gUmVtb3ZlIG9ic29sZXRlIGJvb2xlYW4gZmxhZ3MgKGNsb3VkcHJvZmlsZXNfZW5hYmxlZCwgbWFuYWdlZF9zZWVkc19lbmFibGVkLCBleHRlbnNpb25fcmVnaXN0cnlfY2FjaGVfZW5hYmxlZCkg4oCUIGZlYXR1cmVzIGFyZSBub3cgYWx3YXlzIGFjdGl2ZQ0KLSBDbGVhbiB1cCBncm91cF92YXJzL2FsbC55bWwuZXhhbXBsZTogcmVtb3ZlIHJlbW92ZWQgZmxhZ3MsIGFkZCBmbG9hdGluZ19wb29sX25hbWUsIHJlcGxhY2UgYmFja3VwX2VuYWJsZWQgd2l0aCBjb21tZW50ZWQgYmFja3VwIGJsb2NrDQoNCmNsdXN0ZXJhcGlfY2x1c3RlciByb2xlOg0KLSBSZW1vdmUgaW1hZ2UgdXBsb2FkIHRhc2tzIChHZXQgU0hBMjU2LCBDaGVjayBpZiBpbWFnZSBleGlzdHMsIFVwbG9hZCBpbWFnZSwgV2FpdCBmb3IgYWN0aXZlKSDigJQgcm9sZSBleHBlY3RzIGFuIGltYWdlIElELCBub3QgYSBVUkw7IGltYWdlIG1hbmFnZW1lbnQgaXMgbm93IGhhbmRsZWQgYnkgc2NyaXB0cy91cGRhdGUtaW1hZ2VzLnB5DQotIFJlbW92ZSBjbHVzdGVyYXBpX2NsdXN0ZXJfb3BlbnN0YWNrX3N3aWZ0X2ltYWdlX3VybCBhbmQgY2x1c3RlcmFwaV9jbHVzdGVyX29wZW5zdGFja191cGxvYWRfaW1hZ2UgZGVmYXVsdHMNCi0gRGVsZXRlIHJvbGVzL2NsdXN0ZXJhcGlfY2x1c3Rlci90ZW1wbGF0ZXMvaW1hZ2UueWFtbC5qMg0KDQpzY3JpcHRzL3VwZGF0ZS1pbWFnZXMucHkgKG5ldyk6DQotIFN0YW5kYWxvbmUgc2NyaXB0IHRvIHN5bmMgQ0FQSSBhbmQgR2FyZGVuTGludXggaW1hZ2VzIHRvIE9wZW5TdGFjayBHbGFuY2UNCi0gQ0FQSTogZG93bmxvYWRzIHVidW50dS17dmVyfS1rdWJlLXZ7cGF0Y2h9LnFjb3cyIGZyb20gT1NJU00gb2JqZWN0IHN0b3JhZ2UsIHVwbG9hZHMgYXMgdWJ1bnR1LWNhcGktaW1hZ2UtdntwYXRjaH0gKFNDUyBzY3MtMDEwNC12MiBjb21wbGlhbnQpDQotIEdhcmRlbkxpbnV4OiBmZXRjaGVzIGxhdGVzdCBvciBwaW5uZWQgcmVsZWFzZSBmcm9tIEdpdEh1YiwgZXh0cmFjdHMgLnJhdy8ucWNvdzIgZnJvbSB0YXIueHosIHVwbG9hZHMgYXMgIkdhcmRlbiBMaW51eCB7bWFqb3J9LnttaW5vcn0iDQotIFRocmVlLXN0cmF0ZWd5IGR1cGxpY2F0ZSBkZXRlY3Rpb24gcGVyIGltYWdlIHR5cGU6IGV4YWN0IG5hbWUg4oaSIHByb3BlcnR5IG1hdGNoIChrdWJlX3ZlcnNpb24gLyBvc19kaXN0cm8rb3NfdmVyc2lvbikg4oaSIGZ1enp5IG5hbWUgc2Nhbg0KLSB0cWRtIHByb2dyZXNzIGJhcnMgZm9yIGJvdGggZG93bmxvYWQgYW5kIHVwbG9hZCBwaGFzZXMNCi0gQWxsIHRlbXBvcmFyeSBmaWxlcyBjbGVhbmVkIHVwIGF1dG9tYXRpY2FsbHkgdmlhIFRlbXBvcmFyeURpcmVjdG9yeQ0KLSAtLWRyeS1ydW4sIC0tc2tpcC1jYXBpLCAtLXNraXAtZ2FyZGVubGludXgsIC0tY2xvdWQgZmxhZ3M=
      patchset: 69f411f90b36e5a1d246cb84b251b3226fd15dd3
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/YAKEcloud/zuul-config:
            canonical_name: github.com/YAKEcloud/zuul-config
            checkout: main
            commit: 187ca9c93783cf78b5778e0c84c687f3aefbe0a7
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/YAKEcloud/zuul-config:
            canonical_name: github.com/YAKEcloud/zuul-config
            checkout: main
            commit: 187ca9c93783cf78b5778e0c84c687f3aefbe0a7
          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/yamllint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/YAKEcloud/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/YAKEcloud/yake-ansible
        name: YAKEcloud/yake-ansible
        short_name: yake-ansible
        src_dir: src/github.com/YAKEcloud/yake-ansible
      projects:
        github.com/YAKEcloud/yake-ansible:
          canonical_hostname: github.com
          canonical_name: github.com/YAKEcloud/yake-ansible
          checkout: main
          checkout_description: zuul branch
          commit: b6b1eeb02f5239c51f3f9499728f2f842d3e10d7
          name: YAKEcloud/yake-ansible
          required: false
          short_name: yake-ansible
          src_dir: src/github.com/YAKEcloud/yake-ansible
      ref: refs/pull/635/head
      resources: {}
      tenant: yakecloud
      timeout: 1800
      topic: null
      voting: true
