all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe49:8b53
      ansible_molecule_ansible_version: 12.3.0
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_role: frr
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 1e91558d-4e1a-43bf-bf32-3abeef1e8763
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe49:8b53
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.99
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.18
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe49:8b53
        region: null
        slot: null
    ubuntu-noble:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe03:eb9b
      ansible_molecule_ansible_version: 12.3.0
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_role: frr
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: d15f2f06-a6de-42fe-90cc-d2e5a7cc5a7c
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe03:eb9b
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 10.128.7.168
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.47
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe03:eb9b
        region: null
        slot: null
  vars:
    ansible_molecule_ansible_version: 12.3.0
    ansible_role: frr
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job ansible-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#12>'
      - '<Job abstract-ansible-collection-services-molecule explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: osism/ansible-collection-services/.zuul.yaml@main#79>'
      - '<Job ansible-collection-services-molecule-frr explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/ansible-collection-services/.zuul.yaml@main#204>'
      - '<Job ansible-collection-services-molecule-frr explicit: None implied: None
        source: osism/ansible-collection-services/.zuul.yaml@main#489>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e10133348b7f4d6c912e9e94f3bd3f83
      build_refs:
      - branch: main
        change: '2152'
        change_message: "frr: allow locking the installed package version\n\nThe Debian
          family only pinned frr via `/etc/apt/preferences.d/frr` with a glob on `frr_version`.
          That does not lock the version in use: if the glob matches nothing in the
          repository the pin has no effect at all, and within the glob apt keeps upgrading
          (8.1.0 \u2192 8.1.5). An `apt-get upgrade` could therefore pull in a new
          frr and restart the daemon.\n\n- New `frr_version_lock` variable (`true`
          by default) puts the installed package on hold, analogous to how the `docker`
          role handles containerd: `apt-mark hold` via `dpkg_selections` on the Debian
          family, `dnf versionlock` on the RedHat family.\n- The package is always
          unlocked before it is installed, independent of the flag, because `apt-get`
          aborts with `E: Held packages were changed` as soon as the role has to change
          the version. Setting `frr_version_lock` to `false` releases an existing
          lock again on the next run.\n- On the RedHat family the versionlock was
          already set unconditionally, so the default keeps the previous behaviour
          there. It now runs *after* the installation, so the version actually in
          use is locked instead of the one available in the repository at that time,
          and `add`/`delete` are guarded by `dnf versionlock list` instead of being
          hidden behind `changed_when: false`.\n- `test_version_lock` in the molecule
          tests asserts the hold via `apt-mark showhold` resp. `dnf versionlock list`.\n\nNote
          for the release notes: on the Debian family this changes behaviour \u2014
          with the default of `true`, frr is put on hold on existing deployments on
          the next run.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2152
        commit_id: e15e79761d5b5e64a4c777731a6a617f219df8cb
        patchset: e15e79761d5b5e64a4c777731a6a617f219df8cb
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      buildset: 13679f6388a243e7b99b0351e5d3c661
      buildset_refs:
      - branch: main
        change: '2152'
        change_message: "frr: allow locking the installed package version\n\nThe Debian
          family only pinned frr via `/etc/apt/preferences.d/frr` with a glob on `frr_version`.
          That does not lock the version in use: if the glob matches nothing in the
          repository the pin has no effect at all, and within the glob apt keeps upgrading
          (8.1.0 \u2192 8.1.5). An `apt-get upgrade` could therefore pull in a new
          frr and restart the daemon.\n\n- New `frr_version_lock` variable (`true`
          by default) puts the installed package on hold, analogous to how the `docker`
          role handles containerd: `apt-mark hold` via `dpkg_selections` on the Debian
          family, `dnf versionlock` on the RedHat family.\n- The package is always
          unlocked before it is installed, independent of the flag, because `apt-get`
          aborts with `E: Held packages were changed` as soon as the role has to change
          the version. Setting `frr_version_lock` to `false` releases an existing
          lock again on the next run.\n- On the RedHat family the versionlock was
          already set unconditionally, so the default keeps the previous behaviour
          there. It now runs *after* the installation, so the version actually in
          use is locked instead of the one available in the repository at that time,
          and `add`/`delete` are guarded by `dnf versionlock list` instead of being
          hidden behind `changed_when: false`.\n- `test_version_lock` in the molecule
          tests asserts the hold via `apt-mark showhold` resp. `dnf versionlock list`.\n\nNote
          for the release notes: on the Debian family this changes behaviour \u2014
          with the default of `true`, frr is put on hold on existing deployments on
          the next run.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2152
        commit_id: e15e79761d5b5e64a4c777731a6a617f219df8cb
        patchset: e15e79761d5b5e64a4c777731a6a617f219df8cb
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      change: '2152'
      change_message: "frr: allow locking the installed package version\n\nThe Debian
        family only pinned frr via `/etc/apt/preferences.d/frr` with a glob on `frr_version`.
        That does not lock the version in use: if the glob matches nothing in the
        repository the pin has no effect at all, and within the glob apt keeps upgrading
        (8.1.0 \u2192 8.1.5). An `apt-get upgrade` could therefore pull in a new frr
        and restart the daemon.\n\n- New `frr_version_lock` variable (`true` by default)
        puts the installed package on hold, analogous to how the `docker` role handles
        containerd: `apt-mark hold` via `dpkg_selections` on the Debian family, `dnf
        versionlock` on the RedHat family.\n- The package is always unlocked before
        it is installed, independent of the flag, because `apt-get` aborts with `E:
        Held packages were changed` as soon as the role has to change the version.
        Setting `frr_version_lock` to `false` releases an existing lock again on the
        next run.\n- On the RedHat family the versionlock was already set unconditionally,
        so the default keeps the previous behaviour there. It now runs *after* the
        installation, so the version actually in use is locked instead of the one
        available in the repository at that time, and `add`/`delete` are guarded by
        `dnf versionlock list` instead of being hidden behind `changed_when: false`.\n-
        `test_version_lock` in the molecule tests asserts the hold via `apt-mark showhold`
        resp. `dnf versionlock list`.\n\nNote for the release notes: on the Debian
        family this changes behaviour \u2014 with the default of `true`, frr is put
        on hold on existing deployments on the next run.\n\n\U0001F916 Generated with
        [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/ansible-collection-services/pull/2152
      child_jobs: []
      commit_id: e15e79761d5b5e64a4c777731a6a617f219df8cb
      event_id: c019a110-8cf4-11f1-8970-3219a739f7c5
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/e10133348b7f4d6c912e9e94f3bd3f83/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e10133348b7f4d6c912e9e94f3bd3f83/work/logs
        result_data_file: /var/lib/zuul/builds/e10133348b7f4d6c912e9e94f3bd3f83/work/results.json
        src_root: /var/lib/zuul/builds/e10133348b7f4d6c912e9e94f3bd3f83/work/src
        work_root: /var/lib/zuul/builds/e10133348b7f4d6c912e9e94f3bd3f83/work
      include_vars: []
      items:
      - branch: main
        change: '2152'
        change_message: "frr: allow locking the installed package version\n\nThe Debian
          family only pinned frr via `/etc/apt/preferences.d/frr` with a glob on `frr_version`.
          That does not lock the version in use: if the glob matches nothing in the
          repository the pin has no effect at all, and within the glob apt keeps upgrading
          (8.1.0 \u2192 8.1.5). An `apt-get upgrade` could therefore pull in a new
          frr and restart the daemon.\n\n- New `frr_version_lock` variable (`true`
          by default) puts the installed package on hold, analogous to how the `docker`
          role handles containerd: `apt-mark hold` via `dpkg_selections` on the Debian
          family, `dnf versionlock` on the RedHat family.\n- The package is always
          unlocked before it is installed, independent of the flag, because `apt-get`
          aborts with `E: Held packages were changed` as soon as the role has to change
          the version. Setting `frr_version_lock` to `false` releases an existing
          lock again on the next run.\n- On the RedHat family the versionlock was
          already set unconditionally, so the default keeps the previous behaviour
          there. It now runs *after* the installation, so the version actually in
          use is locked instead of the one available in the repository at that time,
          and `add`/`delete` are guarded by `dnf versionlock list` instead of being
          hidden behind `changed_when: false`.\n- `test_version_lock` in the molecule
          tests asserts the hold via `apt-mark showhold` resp. `dnf versionlock list`.\n\nNote
          for the release notes: on the Debian family this changes behaviour \u2014
          with the default of `true`, frr is put on hold on existing deployments on
          the next run.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/ansible-collection-services/pull/2152
        commit_id: e15e79761d5b5e64a4c777731a6a617f219df8cb
        patchset: e15e79761d5b5e64a4c777731a6a617f219df8cb
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      job: ansible-collection-services-molecule-frr
      jobtags: []
      max_attempts: 3
      message: ZnJyOiBhbGxvdyBsb2NraW5nIHRoZSBpbnN0YWxsZWQgcGFja2FnZSB2ZXJzaW9uCgpUaGUgRGViaWFuIGZhbWlseSBvbmx5IHBpbm5lZCBmcnIgdmlhIGAvZXRjL2FwdC9wcmVmZXJlbmNlcy5kL2ZycmAgd2l0aCBhIGdsb2Igb24gYGZycl92ZXJzaW9uYC4gVGhhdCBkb2VzIG5vdCBsb2NrIHRoZSB2ZXJzaW9uIGluIHVzZTogaWYgdGhlIGdsb2IgbWF0Y2hlcyBub3RoaW5nIGluIHRoZSByZXBvc2l0b3J5IHRoZSBwaW4gaGFzIG5vIGVmZmVjdCBhdCBhbGwsIGFuZCB3aXRoaW4gdGhlIGdsb2IgYXB0IGtlZXBzIHVwZ3JhZGluZyAoOC4xLjAg4oaSIDguMS41KS4gQW4gYGFwdC1nZXQgdXBncmFkZWAgY291bGQgdGhlcmVmb3JlIHB1bGwgaW4gYSBuZXcgZnJyIGFuZCByZXN0YXJ0IHRoZSBkYWVtb24uCgotIE5ldyBgZnJyX3ZlcnNpb25fbG9ja2AgdmFyaWFibGUgKGB0cnVlYCBieSBkZWZhdWx0KSBwdXRzIHRoZSBpbnN0YWxsZWQgcGFja2FnZSBvbiBob2xkLCBhbmFsb2dvdXMgdG8gaG93IHRoZSBgZG9ja2VyYCByb2xlIGhhbmRsZXMgY29udGFpbmVyZDogYGFwdC1tYXJrIGhvbGRgIHZpYSBgZHBrZ19zZWxlY3Rpb25zYCBvbiB0aGUgRGViaWFuIGZhbWlseSwgYGRuZiB2ZXJzaW9ubG9ja2Agb24gdGhlIFJlZEhhdCBmYW1pbHkuCi0gVGhlIHBhY2thZ2UgaXMgYWx3YXlzIHVubG9ja2VkIGJlZm9yZSBpdCBpcyBpbnN0YWxsZWQsIGluZGVwZW5kZW50IG9mIHRoZSBmbGFnLCBiZWNhdXNlIGBhcHQtZ2V0YCBhYm9ydHMgd2l0aCBgRTogSGVsZCBwYWNrYWdlcyB3ZXJlIGNoYW5nZWRgIGFzIHNvb24gYXMgdGhlIHJvbGUgaGFzIHRvIGNoYW5nZSB0aGUgdmVyc2lvbi4gU2V0dGluZyBgZnJyX3ZlcnNpb25fbG9ja2AgdG8gYGZhbHNlYCByZWxlYXNlcyBhbiBleGlzdGluZyBsb2NrIGFnYWluIG9uIHRoZSBuZXh0IHJ1bi4KLSBPbiB0aGUgUmVkSGF0IGZhbWlseSB0aGUgdmVyc2lvbmxvY2sgd2FzIGFscmVhZHkgc2V0IHVuY29uZGl0aW9uYWxseSwgc28gdGhlIGRlZmF1bHQga2VlcHMgdGhlIHByZXZpb3VzIGJlaGF2aW91ciB0aGVyZS4gSXQgbm93IHJ1bnMgKmFmdGVyKiB0aGUgaW5zdGFsbGF0aW9uLCBzbyB0aGUgdmVyc2lvbiBhY3R1YWxseSBpbiB1c2UgaXMgbG9ja2VkIGluc3RlYWQgb2YgdGhlIG9uZSBhdmFpbGFibGUgaW4gdGhlIHJlcG9zaXRvcnkgYXQgdGhhdCB0aW1lLCBhbmQgYGFkZGAvYGRlbGV0ZWAgYXJlIGd1YXJkZWQgYnkgYGRuZiB2ZXJzaW9ubG9jayBsaXN0YCBpbnN0ZWFkIG9mIGJlaW5nIGhpZGRlbiBiZWhpbmQgYGNoYW5nZWRfd2hlbjogZmFsc2VgLgotIGB0ZXN0X3ZlcnNpb25fbG9ja2AgaW4gdGhlIG1vbGVjdWxlIHRlc3RzIGFzc2VydHMgdGhlIGhvbGQgdmlhIGBhcHQtbWFyayBzaG93aG9sZGAgcmVzcC4gYGRuZiB2ZXJzaW9ubG9jayBsaXN0YC4KCk5vdGUgZm9yIHRoZSByZWxlYXNlIG5vdGVzOiBvbiB0aGUgRGViaWFuIGZhbWlseSB0aGlzIGNoYW5nZXMgYmVoYXZpb3VyIOKAlCB3aXRoIHRoZSBkZWZhdWx0IG9mIGB0cnVlYCwgZnJyIGlzIHB1dCBvbiBob2xkIG9uIGV4aXN0aW5nIGRlcGxveW1lbnRzIG9uIHRoZSBuZXh0IHJ1bi4KCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUp
      patchset: e15e79761d5b5e64a4c777731a6a617f219df8cb
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: dcb06ea8a3ad422cc9d98b376216617b2daa6a02
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-molecule/run.yaml
          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: 1800
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/ansible-collection-services
        name: osism/ansible-collection-services
        short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
      projects:
        github.com/osism/ansible-collection-services:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          checkout: main
          checkout_description: zuul branch
          commit: 94b1dc9499d6ea02b3459c99025bd8e306a46c12
          name: osism/ansible-collection-services
          required: false
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
      ref: refs/pull/2152/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
