all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe29:8f47
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 49feab2a-ef85-4bf0-b16f-e99753255dd4
        host_id: 5afd8fc909abddfe2ce3a956a91bbe56629648b7209fd0acfa541862
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe29:8f47
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.115
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.17
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe29:8f47
        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: e43a1ca4ea4c4c7388a4c7a76e1cde56
      build_refs:
      - branch: main
        change: '1827'
        change_message: "Split sync ironic and implement sync netbox with URL filtering\n\nSplit
          the bidirectional sync ironic command into two separate commands:\r\n- sync
          ironic: NetBox \u2192 Ironic synchronization (unchanged direction)\r\n-
          sync netbox: Ironic \u2192 NetBox synchronization (new command)\r\n\r\nThe
          sync ironic command now only synchronizes from NetBox to Ironic, creating/updating/deleting
          Ironic nodes based on NetBox devices. The previously embedded Ironic \u2192
          NetBox state updates have been removed and moved to the new sync netbox
          command.\r\n\r\nImplement sync netbox command to synchronize Ironic node
          states to NetBox:\r\n- Updates provision_state, power_state, and maintenance
          custom fields\r\n- Syncs to primary NetBox and all configured secondary
          instances\r\n- Supports optional node_name parameter to sync specific nodes\r\n-
          Add --netbox-filter parameter for selective NetBox instance updates\r\n-
          Filter uses case-insensitive substring matching on base_url\r\n\r\nThe URL
          filter enables targeted synchronization scenarios:\r\n- Sync only to primary
          NetBox: --netbox-filter primary\r\n- Sync only to specific secondary: --netbox-filter
          secondary-1\r\n- Sync to environment-specific instances: --netbox-filter
          prod\r\n\r\nThis separation allows independent execution of each sync direction
          and provides fine-grained control over which NetBox instances to update.\r\n\r\nAI-assisted:
          Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1827
        commit_id: e1f70683a85e7cff7c7ade24bcde5286400a6b16
        patchset: e1f70683a85e7cff7c7ade24bcde5286400a6b16
        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: ccd6f6f4764246a0b102e90038bc35dc
      buildset_refs:
      - branch: main
        change: '1827'
        change_message: "Split sync ironic and implement sync netbox with URL filtering\n\nSplit
          the bidirectional sync ironic command into two separate commands:\r\n- sync
          ironic: NetBox \u2192 Ironic synchronization (unchanged direction)\r\n-
          sync netbox: Ironic \u2192 NetBox synchronization (new command)\r\n\r\nThe
          sync ironic command now only synchronizes from NetBox to Ironic, creating/updating/deleting
          Ironic nodes based on NetBox devices. The previously embedded Ironic \u2192
          NetBox state updates have been removed and moved to the new sync netbox
          command.\r\n\r\nImplement sync netbox command to synchronize Ironic node
          states to NetBox:\r\n- Updates provision_state, power_state, and maintenance
          custom fields\r\n- Syncs to primary NetBox and all configured secondary
          instances\r\n- Supports optional node_name parameter to sync specific nodes\r\n-
          Add --netbox-filter parameter for selective NetBox instance updates\r\n-
          Filter uses case-insensitive substring matching on base_url\r\n\r\nThe URL
          filter enables targeted synchronization scenarios:\r\n- Sync only to primary
          NetBox: --netbox-filter primary\r\n- Sync only to specific secondary: --netbox-filter
          secondary-1\r\n- Sync to environment-specific instances: --netbox-filter
          prod\r\n\r\nThis separation allows independent execution of each sync direction
          and provides fine-grained control over which NetBox instances to update.\r\n\r\nAI-assisted:
          Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1827
        commit_id: e1f70683a85e7cff7c7ade24bcde5286400a6b16
        patchset: e1f70683a85e7cff7c7ade24bcde5286400a6b16
        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: '1827'
      change_message: "Split sync ironic and implement sync netbox with URL filtering\n\nSplit
        the bidirectional sync ironic command into two separate commands:\r\n- sync
        ironic: NetBox \u2192 Ironic synchronization (unchanged direction)\r\n- sync
        netbox: Ironic \u2192 NetBox synchronization (new command)\r\n\r\nThe sync
        ironic command now only synchronizes from NetBox to Ironic, creating/updating/deleting
        Ironic nodes based on NetBox devices. The previously embedded Ironic \u2192
        NetBox state updates have been removed and moved to the new sync netbox command.\r\n\r\nImplement
        sync netbox command to synchronize Ironic node states to NetBox:\r\n- Updates
        provision_state, power_state, and maintenance custom fields\r\n- Syncs to
        primary NetBox and all configured secondary instances\r\n- Supports optional
        node_name parameter to sync specific nodes\r\n- Add --netbox-filter parameter
        for selective NetBox instance updates\r\n- Filter uses case-insensitive substring
        matching on base_url\r\n\r\nThe URL filter enables targeted synchronization
        scenarios:\r\n- Sync only to primary NetBox: --netbox-filter primary\r\n-
        Sync only to specific secondary: --netbox-filter secondary-1\r\n- Sync to
        environment-specific instances: --netbox-filter prod\r\n\r\nThis separation
        allows independent execution of each sync direction and provides fine-grained
        control over which NetBox instances to update.\r\n\r\nAI-assisted: Claude
        Code"
      change_url: https://github.com/osism/python-osism/pull/1827
      child_jobs: []
      commit_id: e1f70683a85e7cff7c7ade24bcde5286400a6b16
      event_id: 76c24a10-c79e-11f0-9a0a-b882e3f0ce06
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/e43a1ca4ea4c4c7388a4c7a76e1cde56/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e43a1ca4ea4c4c7388a4c7a76e1cde56/work/logs
        result_data_file: /var/lib/zuul/builds/e43a1ca4ea4c4c7388a4c7a76e1cde56/work/results.json
        src_root: /var/lib/zuul/builds/e43a1ca4ea4c4c7388a4c7a76e1cde56/work/src
        work_root: /var/lib/zuul/builds/e43a1ca4ea4c4c7388a4c7a76e1cde56/work
      include_vars: []
      items:
      - branch: main
        change: '1827'
        change_message: "Split sync ironic and implement sync netbox with URL filtering\n\nSplit
          the bidirectional sync ironic command into two separate commands:\r\n- sync
          ironic: NetBox \u2192 Ironic synchronization (unchanged direction)\r\n-
          sync netbox: Ironic \u2192 NetBox synchronization (new command)\r\n\r\nThe
          sync ironic command now only synchronizes from NetBox to Ironic, creating/updating/deleting
          Ironic nodes based on NetBox devices. The previously embedded Ironic \u2192
          NetBox state updates have been removed and moved to the new sync netbox
          command.\r\n\r\nImplement sync netbox command to synchronize Ironic node
          states to NetBox:\r\n- Updates provision_state, power_state, and maintenance
          custom fields\r\n- Syncs to primary NetBox and all configured secondary
          instances\r\n- Supports optional node_name parameter to sync specific nodes\r\n-
          Add --netbox-filter parameter for selective NetBox instance updates\r\n-
          Filter uses case-insensitive substring matching on base_url\r\n\r\nThe URL
          filter enables targeted synchronization scenarios:\r\n- Sync only to primary
          NetBox: --netbox-filter primary\r\n- Sync only to specific secondary: --netbox-filter
          secondary-1\r\n- Sync to environment-specific instances: --netbox-filter
          prod\r\n\r\nThis separation allows independent execution of each sync direction
          and provides fine-grained control over which NetBox instances to update.\r\n\r\nAI-assisted:
          Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1827
        commit_id: e1f70683a85e7cff7c7ade24bcde5286400a6b16
        patchset: e1f70683a85e7cff7c7ade24bcde5286400a6b16
        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: U3BsaXQgc3luYyBpcm9uaWMgYW5kIGltcGxlbWVudCBzeW5jIG5ldGJveCB3aXRoIFVSTCBmaWx0ZXJpbmcKClNwbGl0IHRoZSBiaWRpcmVjdGlvbmFsIHN5bmMgaXJvbmljIGNvbW1hbmQgaW50byB0d28gc2VwYXJhdGUgY29tbWFuZHM6DQotIHN5bmMgaXJvbmljOiBOZXRCb3gg4oaSIElyb25pYyBzeW5jaHJvbml6YXRpb24gKHVuY2hhbmdlZCBkaXJlY3Rpb24pDQotIHN5bmMgbmV0Ym94OiBJcm9uaWMg4oaSIE5ldEJveCBzeW5jaHJvbml6YXRpb24gKG5ldyBjb21tYW5kKQ0KDQpUaGUgc3luYyBpcm9uaWMgY29tbWFuZCBub3cgb25seSBzeW5jaHJvbml6ZXMgZnJvbSBOZXRCb3ggdG8gSXJvbmljLCBjcmVhdGluZy91cGRhdGluZy9kZWxldGluZyBJcm9uaWMgbm9kZXMgYmFzZWQgb24gTmV0Qm94IGRldmljZXMuIFRoZSBwcmV2aW91c2x5IGVtYmVkZGVkIElyb25pYyDihpIgTmV0Qm94IHN0YXRlIHVwZGF0ZXMgaGF2ZSBiZWVuIHJlbW92ZWQgYW5kIG1vdmVkIHRvIHRoZSBuZXcgc3luYyBuZXRib3ggY29tbWFuZC4NCg0KSW1wbGVtZW50IHN5bmMgbmV0Ym94IGNvbW1hbmQgdG8gc3luY2hyb25pemUgSXJvbmljIG5vZGUgc3RhdGVzIHRvIE5ldEJveDoNCi0gVXBkYXRlcyBwcm92aXNpb25fc3RhdGUsIHBvd2VyX3N0YXRlLCBhbmQgbWFpbnRlbmFuY2UgY3VzdG9tIGZpZWxkcw0KLSBTeW5jcyB0byBwcmltYXJ5IE5ldEJveCBhbmQgYWxsIGNvbmZpZ3VyZWQgc2Vjb25kYXJ5IGluc3RhbmNlcw0KLSBTdXBwb3J0cyBvcHRpb25hbCBub2RlX25hbWUgcGFyYW1ldGVyIHRvIHN5bmMgc3BlY2lmaWMgbm9kZXMNCi0gQWRkIC0tbmV0Ym94LWZpbHRlciBwYXJhbWV0ZXIgZm9yIHNlbGVjdGl2ZSBOZXRCb3ggaW5zdGFuY2UgdXBkYXRlcw0KLSBGaWx0ZXIgdXNlcyBjYXNlLWluc2Vuc2l0aXZlIHN1YnN0cmluZyBtYXRjaGluZyBvbiBiYXNlX3VybA0KDQpUaGUgVVJMIGZpbHRlciBlbmFibGVzIHRhcmdldGVkIHN5bmNocm9uaXphdGlvbiBzY2VuYXJpb3M6DQotIFN5bmMgb25seSB0byBwcmltYXJ5IE5ldEJveDogLS1uZXRib3gtZmlsdGVyIHByaW1hcnkNCi0gU3luYyBvbmx5IHRvIHNwZWNpZmljIHNlY29uZGFyeTogLS1uZXRib3gtZmlsdGVyIHNlY29uZGFyeS0xDQotIFN5bmMgdG8gZW52aXJvbm1lbnQtc3BlY2lmaWMgaW5zdGFuY2VzOiAtLW5ldGJveC1maWx0ZXIgcHJvZA0KDQpUaGlzIHNlcGFyYXRpb24gYWxsb3dzIGluZGVwZW5kZW50IGV4ZWN1dGlvbiBvZiBlYWNoIHN5bmMgZGlyZWN0aW9uIGFuZCBwcm92aWRlcyBmaW5lLWdyYWluZWQgY29udHJvbCBvdmVyIHdoaWNoIE5ldEJveCBpbnN0YW5jZXMgdG8gdXBkYXRlLg0KDQpBSS1hc3Npc3RlZDogQ2xhdWRlIENvZGU=
      patchset: e1f70683a85e7cff7c7ade24bcde5286400a6b16
      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: 6cdd4582e41dc6914abbe3076ac0c69d37758031
          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: 6cdd4582e41dc6914abbe3076ac0c69d37758031
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/1827/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
