all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe44:32b6
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 4d60e74e-a735-4bb7-bf8f-c568d9817e77
        host_id: 9a3b43c52073b98876da7433cf53a5f9772104a91b94e1d0ef2a8e4f
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe44:32b6
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.108
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.235
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe44:32b6
        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-osism-test-setup explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/python-osism/.zuul.yaml@main#128>'
      - '<Job python-osism-test-setup explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#133>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 21f30e27085740c8871a632b42d45750
      build_refs:
      - branch: main
        change: '1839'
        change_message: "Fix NetBox state change race conditions with unified locking
          and conn\u2026\n\n\u2026ection limiting\r\n\r\nImplemented two critical
          fixes to prevent race conditions when multiple state changes occur simultaneously
          for NetBox nodes:\r\n\r\n1. Unified Lock Keys:\r\n   - All three state-setting
          functions now use the same lock key per device\r\n   - Previously each function
          used different locks allowing parallel execution\r\n   - Prevents race conditions
          when multiple states change in quick succession\r\n   - Fixed incorrect
          lock key in set_power_state (was using provision_state key)\r\n\r\n2. NetBox
          Connection Limiting:\r\n   - Implemented Redis-based semaphore system to
          limit concurrent connections\r\n   - Default: maximum 5 concurrent operations
          per NetBox instance\r\n   - Configurable via NETBOX_MAX_CONNECTIONS environment
          variable\r\n   - Prevents overloading NetBox services during parallel operations\r\n
          \  - Works for both primary and secondary NetBox instances\r\n\r\n3. Increased
          Timeouts:\r\n   - Lock acquisition timeout: 20s -> 120s (2 minutes)\r\n
          \  - Auto-release time: 60s -> 300s (5 minutes)\r\n   - Handles high-concurrency
          scenarios during node provisioning and sync\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1839
        commit_id: eaa79704b61009f316213f9fadfacdc6bc8d3bce
        patchset: eaa79704b61009f316213f9fadfacdc6bc8d3bce
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      buildset: 9ac840303ba1402399ebf6743377bb60
      buildset_refs:
      - branch: main
        change: '1839'
        change_message: "Fix NetBox state change race conditions with unified locking
          and conn\u2026\n\n\u2026ection limiting\r\n\r\nImplemented two critical
          fixes to prevent race conditions when multiple state changes occur simultaneously
          for NetBox nodes:\r\n\r\n1. Unified Lock Keys:\r\n   - All three state-setting
          functions now use the same lock key per device\r\n   - Previously each function
          used different locks allowing parallel execution\r\n   - Prevents race conditions
          when multiple states change in quick succession\r\n   - Fixed incorrect
          lock key in set_power_state (was using provision_state key)\r\n\r\n2. NetBox
          Connection Limiting:\r\n   - Implemented Redis-based semaphore system to
          limit concurrent connections\r\n   - Default: maximum 5 concurrent operations
          per NetBox instance\r\n   - Configurable via NETBOX_MAX_CONNECTIONS environment
          variable\r\n   - Prevents overloading NetBox services during parallel operations\r\n
          \  - Works for both primary and secondary NetBox instances\r\n\r\n3. Increased
          Timeouts:\r\n   - Lock acquisition timeout: 20s -> 120s (2 minutes)\r\n
          \  - Auto-release time: 60s -> 300s (5 minutes)\r\n   - Handles high-concurrency
          scenarios during node provisioning and sync\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1839
        commit_id: eaa79704b61009f316213f9fadfacdc6bc8d3bce
        patchset: eaa79704b61009f316213f9fadfacdc6bc8d3bce
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      change: '1839'
      change_message: "Fix NetBox state change race conditions with unified locking
        and conn\u2026\n\n\u2026ection limiting\r\n\r\nImplemented two critical fixes
        to prevent race conditions when multiple state changes occur simultaneously
        for NetBox nodes:\r\n\r\n1. Unified Lock Keys:\r\n   - All three state-setting
        functions now use the same lock key per device\r\n   - Previously each function
        used different locks allowing parallel execution\r\n   - Prevents race conditions
        when multiple states change in quick succession\r\n   - Fixed incorrect lock
        key in set_power_state (was using provision_state key)\r\n\r\n2. NetBox Connection
        Limiting:\r\n   - Implemented Redis-based semaphore system to limit concurrent
        connections\r\n   - Default: maximum 5 concurrent operations per NetBox instance\r\n
        \  - Configurable via NETBOX_MAX_CONNECTIONS environment variable\r\n   -
        Prevents overloading NetBox services during parallel operations\r\n   - Works
        for both primary and secondary NetBox instances\r\n\r\n3. Increased Timeouts:\r\n
        \  - Lock acquisition timeout: 20s -> 120s (2 minutes)\r\n   - Auto-release
        time: 60s -> 300s (5 minutes)\r\n   - Handles high-concurrency scenarios during
        node provisioning and sync\r\n\r\nAI-assisted: Claude Code"
      change_url: https://github.com/osism/python-osism/pull/1839
      child_jobs: []
      commit_id: eaa79704b61009f316213f9fadfacdc6bc8d3bce
      event_id: 3a881310-c85f-11f0-91c8-a16c877b1c8d
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/21f30e27085740c8871a632b42d45750/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/21f30e27085740c8871a632b42d45750/work/logs
        result_data_file: /var/lib/zuul/builds/21f30e27085740c8871a632b42d45750/work/results.json
        src_root: /var/lib/zuul/builds/21f30e27085740c8871a632b42d45750/work/src
        work_root: /var/lib/zuul/builds/21f30e27085740c8871a632b42d45750/work
      include_vars: []
      items:
      - branch: main
        change: '1839'
        change_message: "Fix NetBox state change race conditions with unified locking
          and conn\u2026\n\n\u2026ection limiting\r\n\r\nImplemented two critical
          fixes to prevent race conditions when multiple state changes occur simultaneously
          for NetBox nodes:\r\n\r\n1. Unified Lock Keys:\r\n   - All three state-setting
          functions now use the same lock key per device\r\n   - Previously each function
          used different locks allowing parallel execution\r\n   - Prevents race conditions
          when multiple states change in quick succession\r\n   - Fixed incorrect
          lock key in set_power_state (was using provision_state key)\r\n\r\n2. NetBox
          Connection Limiting:\r\n   - Implemented Redis-based semaphore system to
          limit concurrent connections\r\n   - Default: maximum 5 concurrent operations
          per NetBox instance\r\n   - Configurable via NETBOX_MAX_CONNECTIONS environment
          variable\r\n   - Prevents overloading NetBox services during parallel operations\r\n
          \  - Works for both primary and secondary NetBox instances\r\n\r\n3. Increased
          Timeouts:\r\n   - Lock acquisition timeout: 20s -> 120s (2 minutes)\r\n
          \  - Auto-release time: 60s -> 300s (5 minutes)\r\n   - Handles high-concurrency
          scenarios during node provisioning and sync\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1839
        commit_id: eaa79704b61009f316213f9fadfacdc6bc8d3bce
        patchset: eaa79704b61009f316213f9fadfacdc6bc8d3bce
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
        topic: null
      job: python-osism-test-setup
      jobtags: []
      max_attempts: 3
      message: Rml4IE5ldEJveCBzdGF0ZSBjaGFuZ2UgcmFjZSBjb25kaXRpb25zIHdpdGggdW5pZmllZCBsb2NraW5nIGFuZCBjb25u4oCmCgrigKZlY3Rpb24gbGltaXRpbmcNCg0KSW1wbGVtZW50ZWQgdHdvIGNyaXRpY2FsIGZpeGVzIHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zIHdoZW4gbXVsdGlwbGUgc3RhdGUgY2hhbmdlcyBvY2N1ciBzaW11bHRhbmVvdXNseSBmb3IgTmV0Qm94IG5vZGVzOg0KDQoxLiBVbmlmaWVkIExvY2sgS2V5czoNCiAgIC0gQWxsIHRocmVlIHN0YXRlLXNldHRpbmcgZnVuY3Rpb25zIG5vdyB1c2UgdGhlIHNhbWUgbG9jayBrZXkgcGVyIGRldmljZQ0KICAgLSBQcmV2aW91c2x5IGVhY2ggZnVuY3Rpb24gdXNlZCBkaWZmZXJlbnQgbG9ja3MgYWxsb3dpbmcgcGFyYWxsZWwgZXhlY3V0aW9uDQogICAtIFByZXZlbnRzIHJhY2UgY29uZGl0aW9ucyB3aGVuIG11bHRpcGxlIHN0YXRlcyBjaGFuZ2UgaW4gcXVpY2sgc3VjY2Vzc2lvbg0KICAgLSBGaXhlZCBpbmNvcnJlY3QgbG9jayBrZXkgaW4gc2V0X3Bvd2VyX3N0YXRlICh3YXMgdXNpbmcgcHJvdmlzaW9uX3N0YXRlIGtleSkNCg0KMi4gTmV0Qm94IENvbm5lY3Rpb24gTGltaXRpbmc6DQogICAtIEltcGxlbWVudGVkIFJlZGlzLWJhc2VkIHNlbWFwaG9yZSBzeXN0ZW0gdG8gbGltaXQgY29uY3VycmVudCBjb25uZWN0aW9ucw0KICAgLSBEZWZhdWx0OiBtYXhpbXVtIDUgY29uY3VycmVudCBvcGVyYXRpb25zIHBlciBOZXRCb3ggaW5zdGFuY2UNCiAgIC0gQ29uZmlndXJhYmxlIHZpYSBORVRCT1hfTUFYX0NPTk5FQ1RJT05TIGVudmlyb25tZW50IHZhcmlhYmxlDQogICAtIFByZXZlbnRzIG92ZXJsb2FkaW5nIE5ldEJveCBzZXJ2aWNlcyBkdXJpbmcgcGFyYWxsZWwgb3BlcmF0aW9ucw0KICAgLSBXb3JrcyBmb3IgYm90aCBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgTmV0Qm94IGluc3RhbmNlcw0KDQozLiBJbmNyZWFzZWQgVGltZW91dHM6DQogICAtIExvY2sgYWNxdWlzaXRpb24gdGltZW91dDogMjBzIC0+IDEyMHMgKDIgbWludXRlcykNCiAgIC0gQXV0by1yZWxlYXNlIHRpbWU6IDYwcyAtPiAzMDBzICg1IG1pbnV0ZXMpDQogICAtIEhhbmRsZXMgaGlnaC1jb25jdXJyZW5jeSBzY2VuYXJpb3MgZHVyaW5nIG5vZGUgcHJvdmlzaW9uaW5nIGFuZCBzeW5jDQoNCkFJLWFzc2lzdGVkOiBDbGF1ZGUgQ29kZQ==
      patchset: eaa79704b61009f316213f9fadfacdc6bc8d3bce
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/python-osism:
            canonical_name: github.com/osism/python-osism
            checkout: main
            commit: d9b05faae3880f0da5b355fdca8b0a51a730d2aa
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/python-osism/playbooks/test-setup.yml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/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/osism/python-osism
        name: osism/python-osism
        short_name: python-osism
        src_dir: src/github.com/osism/python-osism
      projects:
        github.com/osism/python-osism:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          checkout: main
          checkout_description: zuul branch
          commit: d9b05faae3880f0da5b355fdca8b0a51a730d2aa
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/1839/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
