all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fefe:5285
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: da9aa5c4-64e4-4e35-b9f7-924b260048a0
        host_id: 4ba4344415ca7057d9956ea5de826bbc0b830981e82c0e0f191fa07b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fefe:5285
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.97
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.76
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fefe:5285
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/ansible-collection-services/.zuul.yaml@main#489>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 4a6dcfb75b9044fdaa18c19b58cb2fdc
      build_refs:
      - branch: main
        change: '2147'
        change_message: "frr: make maximum-paths configurable\n\nThe generic templates
          (`frr_leaf`, `frr_loadbalancer` and `frr_loadbalancer_external_uplink`)
          hardcoded `maximum-paths 2` per BGP address family. With four uplinks FRR
          then only installs two of the four ECMP paths, which do not necessarily
          match the paths the switches pick for the return traffic, breaking connections.\n\n-
          Drop the hardcoded setting from the generic templates. Without an explicit
          `maximum-paths`, FRR falls back to its built-in default of `multipath_num`
          (256 in both the Debian and RedHat family packages, independent of the `frr
          defaults traditional` profile), so all available paths are used.\n- The
          new `frr_maximum_paths` variable (unset by default) renders the line again
          when a deployment wants to limit the number of paths.\n- The yrzn templates
          keep their previous default of two paths; the hardcoded value in `frr_yrzn001.conf.j2`
          moves into the new `frr_yrzn001_maximum_paths` variable so it can be overridden
          like its metalbox and network counterparts.\n\nFixes #2122\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n\nhttps://claude.ai/code/session_016NNN5nm8gMUCAGRxQ3EEU8"
        change_url: https://github.com/osism/ansible-collection-services/pull/2147
        commit_id: dd7063125d7d1f067d5242ce7384f6237bf11488
        patchset: dd7063125d7d1f067d5242ce7384f6237bf11488
        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: b8abfd940b3f4581ac1011412f051be1
      buildset_refs:
      - branch: main
        change: '2147'
        change_message: "frr: make maximum-paths configurable\n\nThe generic templates
          (`frr_leaf`, `frr_loadbalancer` and `frr_loadbalancer_external_uplink`)
          hardcoded `maximum-paths 2` per BGP address family. With four uplinks FRR
          then only installs two of the four ECMP paths, which do not necessarily
          match the paths the switches pick for the return traffic, breaking connections.\n\n-
          Drop the hardcoded setting from the generic templates. Without an explicit
          `maximum-paths`, FRR falls back to its built-in default of `multipath_num`
          (256 in both the Debian and RedHat family packages, independent of the `frr
          defaults traditional` profile), so all available paths are used.\n- The
          new `frr_maximum_paths` variable (unset by default) renders the line again
          when a deployment wants to limit the number of paths.\n- The yrzn templates
          keep their previous default of two paths; the hardcoded value in `frr_yrzn001.conf.j2`
          moves into the new `frr_yrzn001_maximum_paths` variable so it can be overridden
          like its metalbox and network counterparts.\n\nFixes #2122\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n\nhttps://claude.ai/code/session_016NNN5nm8gMUCAGRxQ3EEU8"
        change_url: https://github.com/osism/ansible-collection-services/pull/2147
        commit_id: dd7063125d7d1f067d5242ce7384f6237bf11488
        patchset: dd7063125d7d1f067d5242ce7384f6237bf11488
        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: '2147'
      change_message: "frr: make maximum-paths configurable\n\nThe generic templates
        (`frr_leaf`, `frr_loadbalancer` and `frr_loadbalancer_external_uplink`) hardcoded
        `maximum-paths 2` per BGP address family. With four uplinks FRR then only
        installs two of the four ECMP paths, which do not necessarily match the paths
        the switches pick for the return traffic, breaking connections.\n\n- Drop
        the hardcoded setting from the generic templates. Without an explicit `maximum-paths`,
        FRR falls back to its built-in default of `multipath_num` (256 in both the
        Debian and RedHat family packages, independent of the `frr defaults traditional`
        profile), so all available paths are used.\n- The new `frr_maximum_paths`
        variable (unset by default) renders the line again when a deployment wants
        to limit the number of paths.\n- The yrzn templates keep their previous default
        of two paths; the hardcoded value in `frr_yrzn001.conf.j2` moves into the
        new `frr_yrzn001_maximum_paths` variable so it can be overridden like its
        metalbox and network counterparts.\n\nFixes #2122\n\n\U0001F916 Generated
        with [Claude Code](https://claude.com/claude-code)\n\nhttps://claude.ai/code/session_016NNN5nm8gMUCAGRxQ3EEU8"
      change_url: https://github.com/osism/ansible-collection-services/pull/2147
      child_jobs: []
      commit_id: dd7063125d7d1f067d5242ce7384f6237bf11488
      event_id: 4d645bf0-851b-11f1-89ce-05a4a7ba12da
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/4a6dcfb75b9044fdaa18c19b58cb2fdc/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/4a6dcfb75b9044fdaa18c19b58cb2fdc/work/logs
        result_data_file: /var/lib/zuul/builds/4a6dcfb75b9044fdaa18c19b58cb2fdc/work/results.json
        src_root: /var/lib/zuul/builds/4a6dcfb75b9044fdaa18c19b58cb2fdc/work/src
        work_root: /var/lib/zuul/builds/4a6dcfb75b9044fdaa18c19b58cb2fdc/work
      include_vars: []
      items:
      - branch: main
        change: '2147'
        change_message: "frr: make maximum-paths configurable\n\nThe generic templates
          (`frr_leaf`, `frr_loadbalancer` and `frr_loadbalancer_external_uplink`)
          hardcoded `maximum-paths 2` per BGP address family. With four uplinks FRR
          then only installs two of the four ECMP paths, which do not necessarily
          match the paths the switches pick for the return traffic, breaking connections.\n\n-
          Drop the hardcoded setting from the generic templates. Without an explicit
          `maximum-paths`, FRR falls back to its built-in default of `multipath_num`
          (256 in both the Debian and RedHat family packages, independent of the `frr
          defaults traditional` profile), so all available paths are used.\n- The
          new `frr_maximum_paths` variable (unset by default) renders the line again
          when a deployment wants to limit the number of paths.\n- The yrzn templates
          keep their previous default of two paths; the hardcoded value in `frr_yrzn001.conf.j2`
          moves into the new `frr_yrzn001_maximum_paths` variable so it can be overridden
          like its metalbox and network counterparts.\n\nFixes #2122\n\n\U0001F916
          Generated with [Claude Code](https://claude.com/claude-code)\n\nhttps://claude.ai/code/session_016NNN5nm8gMUCAGRxQ3EEU8"
        change_url: https://github.com/osism/ansible-collection-services/pull/2147
        commit_id: dd7063125d7d1f067d5242ce7384f6237bf11488
        patchset: dd7063125d7d1f067d5242ce7384f6237bf11488
        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-lint
      jobtags: []
      max_attempts: 3
      message: ZnJyOiBtYWtlIG1heGltdW0tcGF0aHMgY29uZmlndXJhYmxlCgpUaGUgZ2VuZXJpYyB0ZW1wbGF0ZXMgKGBmcnJfbGVhZmAsIGBmcnJfbG9hZGJhbGFuY2VyYCBhbmQgYGZycl9sb2FkYmFsYW5jZXJfZXh0ZXJuYWxfdXBsaW5rYCkgaGFyZGNvZGVkIGBtYXhpbXVtLXBhdGhzIDJgIHBlciBCR1AgYWRkcmVzcyBmYW1pbHkuIFdpdGggZm91ciB1cGxpbmtzIEZSUiB0aGVuIG9ubHkgaW5zdGFsbHMgdHdvIG9mIHRoZSBmb3VyIEVDTVAgcGF0aHMsIHdoaWNoIGRvIG5vdCBuZWNlc3NhcmlseSBtYXRjaCB0aGUgcGF0aHMgdGhlIHN3aXRjaGVzIHBpY2sgZm9yIHRoZSByZXR1cm4gdHJhZmZpYywgYnJlYWtpbmcgY29ubmVjdGlvbnMuCgotIERyb3AgdGhlIGhhcmRjb2RlZCBzZXR0aW5nIGZyb20gdGhlIGdlbmVyaWMgdGVtcGxhdGVzLiBXaXRob3V0IGFuIGV4cGxpY2l0IGBtYXhpbXVtLXBhdGhzYCwgRlJSIGZhbGxzIGJhY2sgdG8gaXRzIGJ1aWx0LWluIGRlZmF1bHQgb2YgYG11bHRpcGF0aF9udW1gICgyNTYgaW4gYm90aCB0aGUgRGViaWFuIGFuZCBSZWRIYXQgZmFtaWx5IHBhY2thZ2VzLCBpbmRlcGVuZGVudCBvZiB0aGUgYGZyciBkZWZhdWx0cyB0cmFkaXRpb25hbGAgcHJvZmlsZSksIHNvIGFsbCBhdmFpbGFibGUgcGF0aHMgYXJlIHVzZWQuCi0gVGhlIG5ldyBgZnJyX21heGltdW1fcGF0aHNgIHZhcmlhYmxlICh1bnNldCBieSBkZWZhdWx0KSByZW5kZXJzIHRoZSBsaW5lIGFnYWluIHdoZW4gYSBkZXBsb3ltZW50IHdhbnRzIHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgcGF0aHMuCi0gVGhlIHlyem4gdGVtcGxhdGVzIGtlZXAgdGhlaXIgcHJldmlvdXMgZGVmYXVsdCBvZiB0d28gcGF0aHM7IHRoZSBoYXJkY29kZWQgdmFsdWUgaW4gYGZycl95cnpuMDAxLmNvbmYuajJgIG1vdmVzIGludG8gdGhlIG5ldyBgZnJyX3lyem4wMDFfbWF4aW11bV9wYXRoc2AgdmFyaWFibGUgc28gaXQgY2FuIGJlIG92ZXJyaWRkZW4gbGlrZSBpdHMgbWV0YWxib3ggYW5kIG5ldHdvcmsgY291bnRlcnBhcnRzLgoKRml4ZXMgIzIxMjIKCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCgpodHRwczovL2NsYXVkZS5haS9jb2RlL3Nlc3Npb25fMDE2Tk5ONW5tOGdNVUNBR1J4UTNFRVU4
      patchset: dd7063125d7d1f067d5242ce7384f6237bf11488
      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: 1d71e58c93442038e695a5d883d57a603182c7ae
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
          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-lint/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: 238b7ae2d81913845ffe48710a2502e4d6ba518f
          name: osism/ansible-collection-services
          required: false
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
      ref: refs/pull/2147/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
