)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4eb6b4c4f72d9e792951d452d0531525dc76e220","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2f671524_b2a78df7","updated":"2026-07-27 13:28:32.000000000","message":"Workflowing as this is a CI fix.","commit_id":"2fd6ad15da45d8c2d982779a3854015a75cd49fc"}],"zuul.d/ironic-jobs.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"19952e017bd186a77c1e8722c462e1de497fbec1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: ironic-base"},{"line_number":4,"context_line":"    abstract: true"},{"line_number":5,"context_line":"    description: Base job for devstack/tempest based ironic jobs."},{"line_number":6,"context_line":"    parent: devstack-tempest"},{"line_number":7,"context_line":"    nodeset: openstack-single-node-jammy"},{"line_number":8,"context_line":"    post-run: playbooks/ci-workarounds/get_extra_logging.yaml"},{"line_number":9,"context_line":"    timeout: 10800"},{"line_number":10,"context_line":"    required-projects:"},{"line_number":11,"context_line":"      # TODO(TheJulia): Explicitly pull in DIB until we get a release cut."},{"line_number":12,"context_line":"      - opendev.org/openstack/diskimage-builder"},{"line_number":13,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":14,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":15,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":16,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":17,"context_line":"        override-checkout: 2024.1-last"},{"line_number":18,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":19,"context_line":"        checkout-override: 3.3.0"},{"line_number":20,"context_line":"    irrelevant-files:"},{"line_number":21,"context_line":"      - ^.*\\.rst$"},{"line_number":22,"context_line":"      - ^api-ref/.*$"},{"line_number":23,"context_line":"      - ^doc/.*$"},{"line_number":24,"context_line":"      - ^driver-requirements.txt$"},{"line_number":25,"context_line":"      - ^install-guide/.*$"},{"line_number":26,"context_line":"      - ^ironic/locale/.*$"},{"line_number":27,"context_line":"      - ^ironic/tests/.*$"},{"line_number":28,"context_line":"      - ^releasenotes/.*$"},{"line_number":29,"context_line":"      - ^setup.cfg$"},{"line_number":30,"context_line":"      - ^test-requirements.txt$"},{"line_number":31,"context_line":"      - ^tox.ini$"},{"line_number":32,"context_line":"    vars:"},{"line_number":33,"context_line":"      tox_envlist: all"},{"line_number":34,"context_line":"      tempest_test_timeout: 2400"},{"line_number":35,"context_line":"      tempest_test_regex: ironic_tempest_plugin.tests.scenario"},{"line_number":36,"context_line":"      tempest_concurrency: 1"},{"line_number":37,"context_line":"      devstack_localrc:"},{"line_number":38,"context_line":"        DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":39,"context_line":"        FORCE_CONFIG_DRIVE: True"},{"line_number":40,"context_line":"        INSTALL_TEMPEST: False # Don\u0027t install a tempest package globally"},{"line_number":41,"context_line":"        VIRT_DRIVER: ironic"},{"line_number":42,"context_line":"        BUILD_TIMEOUT: 1800"},{"line_number":43,"context_line":"        IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":44,"context_line":"        IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":45,"context_line":"        IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":46,"context_line":"        IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":47,"context_line":"        IRONIC_INSPECTOR_BUILD_RAMDISK: False"},{"line_number":48,"context_line":"        IRONIC_INSPECTOR_TEMPEST_INTROSPECTION_TIMEOUT: 1200"},{"line_number":49,"context_line":"        IRONIC_TEMPEST_BUILD_TIMEOUT: 1800"},{"line_number":50,"context_line":"        IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False"},{"line_number":51,"context_line":"        IRONIC_VM_COUNT: 2"},{"line_number":52,"context_line":"        IRONIC_VM_EPHEMERAL_DISK: 1"},{"line_number":53,"context_line":"        IRONIC_VM_SPECS_RAM: 3072"},{"line_number":54,"context_line":"        IRONIC_VM_LOG_DIR: \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027"},{"line_number":55,"context_line":"        # NOTE(dtantsur): in some jobs we end up with 12 disks total, so reduce"},{"line_number":56,"context_line":"        # each of them. For don\u0027t need all 10 GiB for CirrOS anyway."},{"line_number":57,"context_line":"        IRONIC_VM_SPECS_DISK: 4"},{"line_number":58,"context_line":"        IRONIC_VM_SPECS_CPU: 2"},{"line_number":59,"context_line":"        Q_AGENT: openvswitch"},{"line_number":60,"context_line":"        Q_ML2_TENANT_NETWORK_TYPE: vxlan"},{"line_number":61,"context_line":"        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch"},{"line_number":62,"context_line":"        SERVICE_TIMEOUT: 90"},{"line_number":63,"context_line":"        # NOTE(TheJulia): Devstack default glance limit is 1GB, we need"},{"line_number":64,"context_line":"        # something more like 5GB for baremetal jobs due to image sizes"},{"line_number":65,"context_line":"        # with firmware."},{"line_number":66,"context_line":"        GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 5000"},{"line_number":67,"context_line":"        # NOTE(TheJulia): Disable neutron firewall as bug"},{"line_number":68,"context_line":"        # https://bugs.launchpad.net/neutron/+bug/1944201"},{"line_number":69,"context_line":"        # causes us an abnormally high job failure rate due to the ports"},{"line_number":70,"context_line":"        # not being found (as neutron crashed on initialization)."},{"line_number":71,"context_line":"        Q_USE_SECGROUP: False"},{"line_number":72,"context_line":"        # Default API workers is 2, however only 1 is needed,"},{"line_number":73,"context_line":"        # which cuts API memory utilziation in half reducing the risk of"},{"line_number":74,"context_line":"        # oom-killer events in CI."},{"line_number":75,"context_line":"        API_WORKERS: 1"},{"line_number":76,"context_line":"        CIRROS_VERSION: 0.6.1"},{"line_number":77,"context_line":"      devstack_plugins:"},{"line_number":78,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":79,"context_line":"      tempest_plugins:"},{"line_number":80,"context_line":"        - ironic-tempest-plugin"},{"line_number":81,"context_line":"      zuul_copy_output:"},{"line_number":82,"context_line":"        \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027: \u0027logs\u0027"},{"line_number":83,"context_line":"        \u0027{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log\u0027: \u0027logs\u0027"},{"line_number":84,"context_line":"      devstack_services:"},{"line_number":85,"context_line":"        # TODO: re-enable dstat once https://storyboard.openstack.org/#!/story/2008185"},{"line_number":86,"context_line":"        # is resolved"},{"line_number":87,"context_line":"        dstat: false"},{"line_number":88,"context_line":"        q-agt: true"},{"line_number":89,"context_line":"        q-dhcp: true"},{"line_number":90,"context_line":"        q-l3: true"},{"line_number":91,"context_line":"        q-meta: true"},{"line_number":92,"context_line":"        q-svc: true"},{"line_number":93,"context_line":"        ovn-controller: false"},{"line_number":94,"context_line":"        ovn-northd: false"},{"line_number":95,"context_line":"        q-ovn-metadata-agent: false"},{"line_number":96,"context_line":"        c-api: False"},{"line_number":97,"context_line":"        c-bak: False"},{"line_number":98,"context_line":"        c-sch: False"},{"line_number":99,"context_line":"        c-vol: False"},{"line_number":100,"context_line":"        cinder: False"},{"line_number":101,"context_line":"        s-account: False"},{"line_number":102,"context_line":"        s-container: False"},{"line_number":103,"context_line":"        s-object: False"},{"line_number":104,"context_line":"        s-proxy: False"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# NOTE(TheJulia): This job is being phased out as it ends up executing"},{"line_number":107,"context_line":"# the wholedisk standalone deploy, the partition standalone deploy,"},{"line_number":108,"context_line":"# software raid tests, and ramdisk iso boot tests. All of this while in"},{"line_number":109,"context_line":"# UEFI mode. Although the redfish test runs the exact same tests and *more*."},{"line_number":110,"context_line":"# On top of that, there really is not a good variation which would be"},{"line_number":111,"context_line":"# impacted through IPMI while we keep other ipmi jobs in our CI config."},{"line_number":112,"context_line":"- job:"},{"line_number":113,"context_line":"    name: ironic-standalone"},{"line_number":114,"context_line":"    description:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"44db79b1_c50addd1","line":111,"range":{"start_line":2,"start_character":2,"end_line":111,"end_character":0},"updated":"2026-07-23 16:48:00.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][5][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"aeb7637a0bf36c0b8f24c08795b9e06e4cd7affd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: ironic-base"},{"line_number":4,"context_line":"    abstract: true"},{"line_number":5,"context_line":"    description: Base job for devstack/tempest based ironic jobs."},{"line_number":6,"context_line":"    parent: devstack-tempest"},{"line_number":7,"context_line":"    nodeset: openstack-single-node-jammy"},{"line_number":8,"context_line":"    post-run: playbooks/ci-workarounds/get_extra_logging.yaml"},{"line_number":9,"context_line":"    timeout: 10800"},{"line_number":10,"context_line":"    required-projects:"},{"line_number":11,"context_line":"      # TODO(TheJulia): Explicitly pull in DIB until we get a release cut."},{"line_number":12,"context_line":"      - opendev.org/openstack/diskimage-builder"},{"line_number":13,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":14,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":15,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":16,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":17,"context_line":"        override-checkout: 2024.1-last"},{"line_number":18,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":19,"context_line":"        checkout-override: 3.3.0"},{"line_number":20,"context_line":"    irrelevant-files:"},{"line_number":21,"context_line":"      - ^.*\\.rst$"},{"line_number":22,"context_line":"      - ^api-ref/.*$"},{"line_number":23,"context_line":"      - ^doc/.*$"},{"line_number":24,"context_line":"      - ^driver-requirements.txt$"},{"line_number":25,"context_line":"      - ^install-guide/.*$"},{"line_number":26,"context_line":"      - ^ironic/locale/.*$"},{"line_number":27,"context_line":"      - ^ironic/tests/.*$"},{"line_number":28,"context_line":"      - ^releasenotes/.*$"},{"line_number":29,"context_line":"      - ^setup.cfg$"},{"line_number":30,"context_line":"      - ^test-requirements.txt$"},{"line_number":31,"context_line":"      - ^tox.ini$"},{"line_number":32,"context_line":"    vars:"},{"line_number":33,"context_line":"      tox_envlist: all"},{"line_number":34,"context_line":"      tempest_test_timeout: 2400"},{"line_number":35,"context_line":"      tempest_test_regex: ironic_tempest_plugin.tests.scenario"},{"line_number":36,"context_line":"      tempest_concurrency: 1"},{"line_number":37,"context_line":"      devstack_localrc:"},{"line_number":38,"context_line":"        DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":39,"context_line":"        FORCE_CONFIG_DRIVE: True"},{"line_number":40,"context_line":"        INSTALL_TEMPEST: False # Don\u0027t install a tempest package globally"},{"line_number":41,"context_line":"        VIRT_DRIVER: ironic"},{"line_number":42,"context_line":"        BUILD_TIMEOUT: 1800"},{"line_number":43,"context_line":"        IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":44,"context_line":"        IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":45,"context_line":"        IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":46,"context_line":"        IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":47,"context_line":"        IRONIC_INSPECTOR_BUILD_RAMDISK: False"},{"line_number":48,"context_line":"        IRONIC_INSPECTOR_TEMPEST_INTROSPECTION_TIMEOUT: 1200"},{"line_number":49,"context_line":"        IRONIC_TEMPEST_BUILD_TIMEOUT: 1800"},{"line_number":50,"context_line":"        IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False"},{"line_number":51,"context_line":"        IRONIC_VM_COUNT: 2"},{"line_number":52,"context_line":"        IRONIC_VM_EPHEMERAL_DISK: 1"},{"line_number":53,"context_line":"        IRONIC_VM_SPECS_RAM: 3072"},{"line_number":54,"context_line":"        IRONIC_VM_LOG_DIR: \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027"},{"line_number":55,"context_line":"        # NOTE(dtantsur): in some jobs we end up with 12 disks total, so reduce"},{"line_number":56,"context_line":"        # each of them. For don\u0027t need all 10 GiB for CirrOS anyway."},{"line_number":57,"context_line":"        IRONIC_VM_SPECS_DISK: 4"},{"line_number":58,"context_line":"        IRONIC_VM_SPECS_CPU: 2"},{"line_number":59,"context_line":"        Q_AGENT: openvswitch"},{"line_number":60,"context_line":"        Q_ML2_TENANT_NETWORK_TYPE: vxlan"},{"line_number":61,"context_line":"        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch"},{"line_number":62,"context_line":"        SERVICE_TIMEOUT: 90"},{"line_number":63,"context_line":"        # NOTE(TheJulia): Devstack default glance limit is 1GB, we need"},{"line_number":64,"context_line":"        # something more like 5GB for baremetal jobs due to image sizes"},{"line_number":65,"context_line":"        # with firmware."},{"line_number":66,"context_line":"        GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 5000"},{"line_number":67,"context_line":"        # NOTE(TheJulia): Disable neutron firewall as bug"},{"line_number":68,"context_line":"        # https://bugs.launchpad.net/neutron/+bug/1944201"},{"line_number":69,"context_line":"        # causes us an abnormally high job failure rate due to the ports"},{"line_number":70,"context_line":"        # not being found (as neutron crashed on initialization)."},{"line_number":71,"context_line":"        Q_USE_SECGROUP: False"},{"line_number":72,"context_line":"        # Default API workers is 2, however only 1 is needed,"},{"line_number":73,"context_line":"        # which cuts API memory utilziation in half reducing the risk of"},{"line_number":74,"context_line":"        # oom-killer events in CI."},{"line_number":75,"context_line":"        API_WORKERS: 1"},{"line_number":76,"context_line":"        CIRROS_VERSION: 0.6.1"},{"line_number":77,"context_line":"      devstack_plugins:"},{"line_number":78,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":79,"context_line":"      tempest_plugins:"},{"line_number":80,"context_line":"        - ironic-tempest-plugin"},{"line_number":81,"context_line":"      zuul_copy_output:"},{"line_number":82,"context_line":"        \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027: \u0027logs\u0027"},{"line_number":83,"context_line":"        \u0027{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log\u0027: \u0027logs\u0027"},{"line_number":84,"context_line":"      devstack_services:"},{"line_number":85,"context_line":"        # TODO: re-enable dstat once https://storyboard.openstack.org/#!/story/2008185"},{"line_number":86,"context_line":"        # is resolved"},{"line_number":87,"context_line":"        dstat: false"},{"line_number":88,"context_line":"        q-agt: true"},{"line_number":89,"context_line":"        q-dhcp: true"},{"line_number":90,"context_line":"        q-l3: true"},{"line_number":91,"context_line":"        q-meta: true"},{"line_number":92,"context_line":"        q-svc: true"},{"line_number":93,"context_line":"        ovn-controller: false"},{"line_number":94,"context_line":"        ovn-northd: false"},{"line_number":95,"context_line":"        q-ovn-metadata-agent: false"},{"line_number":96,"context_line":"        c-api: False"},{"line_number":97,"context_line":"        c-bak: False"},{"line_number":98,"context_line":"        c-sch: False"},{"line_number":99,"context_line":"        c-vol: False"},{"line_number":100,"context_line":"        cinder: False"},{"line_number":101,"context_line":"        s-account: False"},{"line_number":102,"context_line":"        s-container: False"},{"line_number":103,"context_line":"        s-object: False"},{"line_number":104,"context_line":"        s-proxy: False"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# NOTE(TheJulia): This job is being phased out as it ends up executing"},{"line_number":107,"context_line":"# the wholedisk standalone deploy, the partition standalone deploy,"},{"line_number":108,"context_line":"# software raid tests, and ramdisk iso boot tests. All of this while in"},{"line_number":109,"context_line":"# UEFI mode. Although the redfish test runs the exact same tests and *more*."},{"line_number":110,"context_line":"# On top of that, there really is not a good variation which would be"},{"line_number":111,"context_line":"# impacted through IPMI while we keep other ipmi jobs in our CI config."},{"line_number":112,"context_line":"- job:"},{"line_number":113,"context_line":"    name: ironic-standalone"},{"line_number":114,"context_line":"    description:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"58b9e4c9_60ed9458","line":111,"range":{"start_line":2,"start_character":2,"end_line":111,"end_character":0},"updated":"2026-07-23 16:48:13.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][5][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"aeb7637a0bf36c0b8f24c08795b9e06e4cd7affd","unresolved":false,"context_lines":[{"line_number":586,"context_line":"      devstack_localrc:"},{"line_number":587,"context_line":"        IRONIC_ENFORCE_SCOPE: True"},{"line_number":588,"context_line":""},{"line_number":589,"context_line":"- job:"},{"line_number":590,"context_line":"    name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode"},{"line_number":591,"context_line":"    description: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode"},{"line_number":592,"context_line":"    parent: tempest-multinode-full-base"},{"line_number":593,"context_line":"    nodeset: openstack-two-node-jammy"},{"line_number":594,"context_line":"    pre-run: playbooks/ci-workarounds/pre.yaml"},{"line_number":595,"context_line":"    required-projects:"},{"line_number":596,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":597,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":598,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":599,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":600,"context_line":"        override-checkout: 2024.1-last"},{"line_number":601,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":602,"context_line":"        checkout-override: 3.3.0"},{"line_number":603,"context_line":"      - opendev.org/openstack/networking-generic-switch"},{"line_number":604,"context_line":"    irrelevant-files:"},{"line_number":605,"context_line":"      - ^.*\\.rst$"},{"line_number":606,"context_line":"      - ^api-ref/.*$"},{"line_number":607,"context_line":"      - ^doc/.*$"},{"line_number":608,"context_line":"      - ^driver-requirements.txt$"},{"line_number":609,"context_line":"      - ^install-guide/.*$"},{"line_number":610,"context_line":"      - ^ironic/locale/.*$"},{"line_number":611,"context_line":"      - ^ironic/tests/.*$"},{"line_number":612,"context_line":"      - ^releasenotes/.*$"},{"line_number":613,"context_line":"      - ^setup.cfg$"},{"line_number":614,"context_line":"      - ^tools/.*$"},{"line_number":615,"context_line":"      - ^tox.ini$"},{"line_number":616,"context_line":"    roles:"},{"line_number":617,"context_line":"      - zuul: opendev.org/zuul/zuul-jobs"},{"line_number":618,"context_line":"    vars:"},{"line_number":619,"context_line":"      tox_envlist: all"},{"line_number":620,"context_line":"      tempest_concurrency: 3"},{"line_number":621,"context_line":"      tempest_test_regex: \"ironic_tempest_plugin.tests.scenario\""},{"line_number":622,"context_line":"      tempest_test_timeout: 2400"},{"line_number":623,"context_line":"      devstack_localrc:"},{"line_number":624,"context_line":"        BUILD_TIMEOUT: 2400"},{"line_number":625,"context_line":"        DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":626,"context_line":"        ENABLE_TENANT_TUNNELS: False"},{"line_number":627,"context_line":"        ENABLE_TENANT_VLANS: True"},{"line_number":628,"context_line":"        FORCE_CONFIG_DRIVE: True"},{"line_number":629,"context_line":"        GENERIC_SWITCH_KEY_FILE: /opt/stack/.ssh/id_rsa"},{"line_number":630,"context_line":"        HOST_TOPOLOGY: multinode"},{"line_number":631,"context_line":"        HOST_TOPOLOGY_ROLE: primary"},{"line_number":632,"context_line":"        INSTALL_TEMPEST: False # Don\u0027t install a tempest package globally"},{"line_number":633,"context_line":"        IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":634,"context_line":"        HOST_TOPOLOGY_SUBNODES: \"{{ hostvars[\u0027compute1\u0027][\u0027nodepool\u0027][\u0027public_ipv4\u0027] }}\""},{"line_number":635,"context_line":"        IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":636,"context_line":"        IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":637,"context_line":"        IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":638,"context_line":"        IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":639,"context_line":"        IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":640,"context_line":"        IRONIC_INSPECTOR_BUILD_RAMDISK: False"},{"line_number":641,"context_line":"        IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":642,"context_line":"        IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":643,"context_line":"        IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1"},{"line_number":644,"context_line":"        IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24"},{"line_number":645,"context_line":"        IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":646,"context_line":"        IRONIC_TEMPEST_BUILD_TIMEOUT: 600"},{"line_number":647,"context_line":"        IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True"},{"line_number":648,"context_line":"        IRONIC_USE_LINK_LOCAL: True"},{"line_number":649,"context_line":"        IRONIC_VM_COUNT: 3"},{"line_number":650,"context_line":"        IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":651,"context_line":"        IRONIC_VM_LOG_DIR: \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027"},{"line_number":652,"context_line":"        IRONIC_VM_SPECS_RAM: 1024"},{"line_number":653,"context_line":"        IRONIC_VM_SPECS_DISK: 4"},{"line_number":654,"context_line":"        IRONIC_VM_SPECS_CPU: 1"},{"line_number":655,"context_line":"        OVS_BRIDGE_MAPPINGS: \u0027mynetwork:brbm,public:br-infra\u0027"},{"line_number":656,"context_line":"        OVS_PHYSICAL_BRIDGE: brbm"},{"line_number":657,"context_line":"        PHYSICAL_NETWORK: mynetwork"},{"line_number":658,"context_line":"        PUBLIC_BRIDGE: br-infra"},{"line_number":659,"context_line":"        Q_AGENT: openvswitch"},{"line_number":660,"context_line":"        Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":661,"context_line":"        Q_PLUGIN: ml2"},{"line_number":662,"context_line":"        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch"},{"line_number":663,"context_line":"        SWIFT_ENABLE_TEMPURLS: True"},{"line_number":664,"context_line":"        SWIFT_TEMPURL_KEY: secretkey"},{"line_number":665,"context_line":"        TENANT_VLAN_RANGE: 100:150"},{"line_number":666,"context_line":"        VIRT_DRIVER: ironic"},{"line_number":667,"context_line":"        # We\u0027re using a lot of disk space in this job. Some testing nodes have"},{"line_number":668,"context_line":"        # a small root partition, so use /opt which is mounted from a bigger"},{"line_number":669,"context_line":"        # ephemeral partition on such nodes"},{"line_number":670,"context_line":"        LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"      devstack_plugins:"},{"line_number":673,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":674,"context_line":"        networking-generic-switch: https://opendev.org/openstack/networking-generic-switch"},{"line_number":675,"context_line":"      tempest_plugins:"},{"line_number":676,"context_line":"        - ironic-tempest-plugin"},{"line_number":677,"context_line":"      zuul_copy_output:"},{"line_number":678,"context_line":"        \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027: \u0027logs\u0027"},{"line_number":679,"context_line":"        \u0027{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log\u0027: \u0027logs\u0027"},{"line_number":680,"context_line":"      devstack_services:"},{"line_number":681,"context_line":"        c-api: False"},{"line_number":682,"context_line":"        c-bak: False"},{"line_number":683,"context_line":"        c-sch: False"},{"line_number":684,"context_line":"        c-vol: False"},{"line_number":685,"context_line":"        cinder: False"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        s-account: True"},{"line_number":688,"context_line":"        s-container: True"},{"line_number":689,"context_line":"        s-object: True"},{"line_number":690,"context_line":"        s-proxy: True"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        dstat: True"},{"line_number":693,"context_line":"        g-api: True"},{"line_number":694,"context_line":"        key: True"},{"line_number":695,"context_line":"        mysql: True"},{"line_number":696,"context_line":"        n-api: True"},{"line_number":697,"context_line":"        n-api-meta: True"},{"line_number":698,"context_line":"        n-cond: True"},{"line_number":699,"context_line":"        n-cpu: True"},{"line_number":700,"context_line":"        n-novnc: True"},{"line_number":701,"context_line":"        n-sch: True"},{"line_number":702,"context_line":"        placement-api: True"},{"line_number":703,"context_line":"        q-agt: True"},{"line_number":704,"context_line":"        q-dhcp: True"},{"line_number":705,"context_line":"        q-l3: True"},{"line_number":706,"context_line":"        q-meta: True"},{"line_number":707,"context_line":"        q-metering: True"},{"line_number":708,"context_line":"        q-svc: True"},{"line_number":709,"context_line":"        ovn-controller: False"},{"line_number":710,"context_line":"        ovn-northd: False"},{"line_number":711,"context_line":"        q-ovn-metadata-agent: False"},{"line_number":712,"context_line":"        rabbit: True"},{"line_number":713,"context_line":"    group-vars:"},{"line_number":714,"context_line":"      subnode:"},{"line_number":715,"context_line":"        devstack_localrc:"},{"line_number":716,"context_line":"          ENABLE_TENANT_TUNNELS: False"},{"line_number":717,"context_line":"          ENABLE_TENANT_VLANS: True"},{"line_number":718,"context_line":"          FORCE_CONFIG_DRIVE: True"},{"line_number":719,"context_line":"          HOST_TOPOLOGY: multinode"},{"line_number":720,"context_line":"          HOST_TOPOLOGY_ROLE: subnode"},{"line_number":721,"context_line":"          IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":722,"context_line":"          IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":723,"context_line":"          IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":724,"context_line":"          IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":725,"context_line":"          IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":726,"context_line":"          IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":727,"context_line":"          IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":728,"context_line":"          IRONIC_USE_LINK_LOCAL: True"},{"line_number":729,"context_line":"          IRONIC_VM_COUNT: 3"},{"line_number":730,"context_line":"          IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":731,"context_line":"          IRONIC_VM_LOG_DIR: \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027"},{"line_number":732,"context_line":"          IRONIC_VM_NETWORK_BRIDGE: sub1brbm"},{"line_number":733,"context_line":"          IRONIC_VM_SPECS_RAM: 1024"},{"line_number":734,"context_line":"          IRONIC_VM_SPECS_DISK: 4"},{"line_number":735,"context_line":"          IRONIC_VM_SPECS_CPU: 1"},{"line_number":736,"context_line":"          OVS_BRIDGE_MAPPINGS: \u0027mynetwork:sub1brbm,public:br-infra\u0027"},{"line_number":737,"context_line":"          OVS_PHYSICAL_BRIDGE: sub1brbm"},{"line_number":738,"context_line":"          PHYSICAL_NETWORK: mynetwork"},{"line_number":739,"context_line":"          Q_AGENT: openvswitch"},{"line_number":740,"context_line":"          Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":741,"context_line":"          VIRT_DRIVER: ironic"},{"line_number":742,"context_line":"          PUBLIC_BRIDGE: br-infra"},{"line_number":743,"context_line":"          LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":744,"context_line":"        devstack_services:"},{"line_number":745,"context_line":"          c-api: False"},{"line_number":746,"context_line":"          c-bak: False"},{"line_number":747,"context_line":"          c-sch: False"},{"line_number":748,"context_line":"          c-vol: False"},{"line_number":749,"context_line":"          cinder: False"},{"line_number":750,"context_line":""},{"line_number":751,"context_line":"          q-agt: True"},{"line_number":752,"context_line":"          ovn-controller: False"},{"line_number":753,"context_line":"          ovn-northd: False"},{"line_number":754,"context_line":"          q-ovn-metadata-agent: False"},{"line_number":755,"context_line":"          n-cpu: True"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"- job:"},{"line_number":758,"context_line":"    # NOTE(JayF) This job sets up two nova-computes with two different shards"},{"line_number":759,"context_line":"    # TODO(JayF) Add a post-run validation to ensure the two n-cpus did not"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"713d029f_51d27a19","line":756,"range":{"start_line":589,"start_character":2,"end_line":756,"end_character":0},"updated":"2026-07-23 16:48:13.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][4][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"19952e017bd186a77c1e8722c462e1de497fbec1","unresolved":false,"context_lines":[{"line_number":586,"context_line":"      devstack_localrc:"},{"line_number":587,"context_line":"        IRONIC_ENFORCE_SCOPE: True"},{"line_number":588,"context_line":""},{"line_number":589,"context_line":"- job:"},{"line_number":590,"context_line":"    name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode"},{"line_number":591,"context_line":"    description: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode"},{"line_number":592,"context_line":"    parent: tempest-multinode-full-base"},{"line_number":593,"context_line":"    nodeset: openstack-two-node-jammy"},{"line_number":594,"context_line":"    pre-run: playbooks/ci-workarounds/pre.yaml"},{"line_number":595,"context_line":"    required-projects:"},{"line_number":596,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":597,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":598,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":599,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":600,"context_line":"        override-checkout: 2024.1-last"},{"line_number":601,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":602,"context_line":"        checkout-override: 3.3.0"},{"line_number":603,"context_line":"      - opendev.org/openstack/networking-generic-switch"},{"line_number":604,"context_line":"    irrelevant-files:"},{"line_number":605,"context_line":"      - ^.*\\.rst$"},{"line_number":606,"context_line":"      - ^api-ref/.*$"},{"line_number":607,"context_line":"      - ^doc/.*$"},{"line_number":608,"context_line":"      - ^driver-requirements.txt$"},{"line_number":609,"context_line":"      - ^install-guide/.*$"},{"line_number":610,"context_line":"      - ^ironic/locale/.*$"},{"line_number":611,"context_line":"      - ^ironic/tests/.*$"},{"line_number":612,"context_line":"      - ^releasenotes/.*$"},{"line_number":613,"context_line":"      - ^setup.cfg$"},{"line_number":614,"context_line":"      - ^tools/.*$"},{"line_number":615,"context_line":"      - ^tox.ini$"},{"line_number":616,"context_line":"    roles:"},{"line_number":617,"context_line":"      - zuul: opendev.org/zuul/zuul-jobs"},{"line_number":618,"context_line":"    vars:"},{"line_number":619,"context_line":"      tox_envlist: all"},{"line_number":620,"context_line":"      tempest_concurrency: 3"},{"line_number":621,"context_line":"      tempest_test_regex: \"ironic_tempest_plugin.tests.scenario\""},{"line_number":622,"context_line":"      tempest_test_timeout: 2400"},{"line_number":623,"context_line":"      devstack_localrc:"},{"line_number":624,"context_line":"        BUILD_TIMEOUT: 2400"},{"line_number":625,"context_line":"        DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":626,"context_line":"        ENABLE_TENANT_TUNNELS: False"},{"line_number":627,"context_line":"        ENABLE_TENANT_VLANS: True"},{"line_number":628,"context_line":"        FORCE_CONFIG_DRIVE: True"},{"line_number":629,"context_line":"        GENERIC_SWITCH_KEY_FILE: /opt/stack/.ssh/id_rsa"},{"line_number":630,"context_line":"        HOST_TOPOLOGY: multinode"},{"line_number":631,"context_line":"        HOST_TOPOLOGY_ROLE: primary"},{"line_number":632,"context_line":"        INSTALL_TEMPEST: False # Don\u0027t install a tempest package globally"},{"line_number":633,"context_line":"        IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":634,"context_line":"        HOST_TOPOLOGY_SUBNODES: \"{{ hostvars[\u0027compute1\u0027][\u0027nodepool\u0027][\u0027public_ipv4\u0027] }}\""},{"line_number":635,"context_line":"        IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":636,"context_line":"        IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":637,"context_line":"        IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":638,"context_line":"        IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":639,"context_line":"        IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":640,"context_line":"        IRONIC_INSPECTOR_BUILD_RAMDISK: False"},{"line_number":641,"context_line":"        IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":642,"context_line":"        IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":643,"context_line":"        IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1"},{"line_number":644,"context_line":"        IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24"},{"line_number":645,"context_line":"        IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":646,"context_line":"        IRONIC_TEMPEST_BUILD_TIMEOUT: 600"},{"line_number":647,"context_line":"        IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True"},{"line_number":648,"context_line":"        IRONIC_USE_LINK_LOCAL: True"},{"line_number":649,"context_line":"        IRONIC_VM_COUNT: 3"},{"line_number":650,"context_line":"        IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":651,"context_line":"        IRONIC_VM_LOG_DIR: \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027"},{"line_number":652,"context_line":"        IRONIC_VM_SPECS_RAM: 1024"},{"line_number":653,"context_line":"        IRONIC_VM_SPECS_DISK: 4"},{"line_number":654,"context_line":"        IRONIC_VM_SPECS_CPU: 1"},{"line_number":655,"context_line":"        OVS_BRIDGE_MAPPINGS: \u0027mynetwork:brbm,public:br-infra\u0027"},{"line_number":656,"context_line":"        OVS_PHYSICAL_BRIDGE: brbm"},{"line_number":657,"context_line":"        PHYSICAL_NETWORK: mynetwork"},{"line_number":658,"context_line":"        PUBLIC_BRIDGE: br-infra"},{"line_number":659,"context_line":"        Q_AGENT: openvswitch"},{"line_number":660,"context_line":"        Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":661,"context_line":"        Q_PLUGIN: ml2"},{"line_number":662,"context_line":"        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch"},{"line_number":663,"context_line":"        SWIFT_ENABLE_TEMPURLS: True"},{"line_number":664,"context_line":"        SWIFT_TEMPURL_KEY: secretkey"},{"line_number":665,"context_line":"        TENANT_VLAN_RANGE: 100:150"},{"line_number":666,"context_line":"        VIRT_DRIVER: ironic"},{"line_number":667,"context_line":"        # We\u0027re using a lot of disk space in this job. Some testing nodes have"},{"line_number":668,"context_line":"        # a small root partition, so use /opt which is mounted from a bigger"},{"line_number":669,"context_line":"        # ephemeral partition on such nodes"},{"line_number":670,"context_line":"        LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"      devstack_plugins:"},{"line_number":673,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":674,"context_line":"        networking-generic-switch: https://opendev.org/openstack/networking-generic-switch"},{"line_number":675,"context_line":"      tempest_plugins:"},{"line_number":676,"context_line":"        - ironic-tempest-plugin"},{"line_number":677,"context_line":"      zuul_copy_output:"},{"line_number":678,"context_line":"        \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027: \u0027logs\u0027"},{"line_number":679,"context_line":"        \u0027{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log\u0027: \u0027logs\u0027"},{"line_number":680,"context_line":"      devstack_services:"},{"line_number":681,"context_line":"        c-api: False"},{"line_number":682,"context_line":"        c-bak: False"},{"line_number":683,"context_line":"        c-sch: False"},{"line_number":684,"context_line":"        c-vol: False"},{"line_number":685,"context_line":"        cinder: False"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        s-account: True"},{"line_number":688,"context_line":"        s-container: True"},{"line_number":689,"context_line":"        s-object: True"},{"line_number":690,"context_line":"        s-proxy: True"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        dstat: True"},{"line_number":693,"context_line":"        g-api: True"},{"line_number":694,"context_line":"        key: True"},{"line_number":695,"context_line":"        mysql: True"},{"line_number":696,"context_line":"        n-api: True"},{"line_number":697,"context_line":"        n-api-meta: True"},{"line_number":698,"context_line":"        n-cond: True"},{"line_number":699,"context_line":"        n-cpu: True"},{"line_number":700,"context_line":"        n-novnc: True"},{"line_number":701,"context_line":"        n-sch: True"},{"line_number":702,"context_line":"        placement-api: True"},{"line_number":703,"context_line":"        q-agt: True"},{"line_number":704,"context_line":"        q-dhcp: True"},{"line_number":705,"context_line":"        q-l3: True"},{"line_number":706,"context_line":"        q-meta: True"},{"line_number":707,"context_line":"        q-metering: True"},{"line_number":708,"context_line":"        q-svc: True"},{"line_number":709,"context_line":"        ovn-controller: False"},{"line_number":710,"context_line":"        ovn-northd: False"},{"line_number":711,"context_line":"        q-ovn-metadata-agent: False"},{"line_number":712,"context_line":"        rabbit: True"},{"line_number":713,"context_line":"    group-vars:"},{"line_number":714,"context_line":"      subnode:"},{"line_number":715,"context_line":"        devstack_localrc:"},{"line_number":716,"context_line":"          ENABLE_TENANT_TUNNELS: False"},{"line_number":717,"context_line":"          ENABLE_TENANT_VLANS: True"},{"line_number":718,"context_line":"          FORCE_CONFIG_DRIVE: True"},{"line_number":719,"context_line":"          HOST_TOPOLOGY: multinode"},{"line_number":720,"context_line":"          HOST_TOPOLOGY_ROLE: subnode"},{"line_number":721,"context_line":"          IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":722,"context_line":"          IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":723,"context_line":"          IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":724,"context_line":"          IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":725,"context_line":"          IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":726,"context_line":"          IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":727,"context_line":"          IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":728,"context_line":"          IRONIC_USE_LINK_LOCAL: True"},{"line_number":729,"context_line":"          IRONIC_VM_COUNT: 3"},{"line_number":730,"context_line":"          IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":731,"context_line":"          IRONIC_VM_LOG_DIR: \u0027{{ devstack_base_dir }}/ironic-bm-logs\u0027"},{"line_number":732,"context_line":"          IRONIC_VM_NETWORK_BRIDGE: sub1brbm"},{"line_number":733,"context_line":"          IRONIC_VM_SPECS_RAM: 1024"},{"line_number":734,"context_line":"          IRONIC_VM_SPECS_DISK: 4"},{"line_number":735,"context_line":"          IRONIC_VM_SPECS_CPU: 1"},{"line_number":736,"context_line":"          OVS_BRIDGE_MAPPINGS: \u0027mynetwork:sub1brbm,public:br-infra\u0027"},{"line_number":737,"context_line":"          OVS_PHYSICAL_BRIDGE: sub1brbm"},{"line_number":738,"context_line":"          PHYSICAL_NETWORK: mynetwork"},{"line_number":739,"context_line":"          Q_AGENT: openvswitch"},{"line_number":740,"context_line":"          Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":741,"context_line":"          VIRT_DRIVER: ironic"},{"line_number":742,"context_line":"          PUBLIC_BRIDGE: br-infra"},{"line_number":743,"context_line":"          LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":744,"context_line":"        devstack_services:"},{"line_number":745,"context_line":"          c-api: False"},{"line_number":746,"context_line":"          c-bak: False"},{"line_number":747,"context_line":"          c-sch: False"},{"line_number":748,"context_line":"          c-vol: False"},{"line_number":749,"context_line":"          cinder: False"},{"line_number":750,"context_line":""},{"line_number":751,"context_line":"          q-agt: True"},{"line_number":752,"context_line":"          ovn-controller: False"},{"line_number":753,"context_line":"          ovn-northd: False"},{"line_number":754,"context_line":"          q-ovn-metadata-agent: False"},{"line_number":755,"context_line":"          n-cpu: True"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"- job:"},{"line_number":758,"context_line":"    # NOTE(JayF) This job sets up two nova-computes with two different shards"},{"line_number":759,"context_line":"    # TODO(JayF) Add a post-run validation to ensure the two n-cpus did not"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"f1854ac6_ca8e166a","line":756,"range":{"start_line":589,"start_character":2,"end_line":756,"end_character":0},"updated":"2026-07-23 16:48:00.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][4][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"aeb7637a0bf36c0b8f24c08795b9e06e4cd7affd","unresolved":false,"context_lines":[{"line_number":948,"context_line":"    description: Alias for ironic-tempest-wholedisk-bios-ipmi-direct-tinyipa"},{"line_number":949,"context_line":"    parent: ironic-tempest-bios-ipmi-direct-tinyipa"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"- job:"},{"line_number":952,"context_line":"    name: ironic-grenade"},{"line_number":953,"context_line":"    parent: grenade"},{"line_number":954,"context_line":"    timeout: 10800"},{"line_number":955,"context_line":"    irrelevant-files:"},{"line_number":956,"context_line":"      - ^driver-requirements.txt$"},{"line_number":957,"context_line":"      - ^.*\\.rst$"},{"line_number":958,"context_line":"      - ^api-ref/.*$"},{"line_number":959,"context_line":"      - ^doc/.*$"},{"line_number":960,"context_line":"      - ^install-guide/.*$"},{"line_number":961,"context_line":"      - ^ironic/locale/.*$"},{"line_number":962,"context_line":"      - ^ironic/tests/.*$"},{"line_number":963,"context_line":"      - ^releasenotes/.*$"},{"line_number":964,"context_line":"      - ^setup.cfg$"},{"line_number":965,"context_line":"      - ^tools/.*$"},{"line_number":966,"context_line":"      - ^tox.ini$"},{"line_number":967,"context_line":"    required-projects:"},{"line_number":968,"context_line":"      - opendev.org/openstack/grenade"},{"line_number":969,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":970,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":971,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":972,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":973,"context_line":"        override-checkout: 2024.1-last"},{"line_number":974,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":975,"context_line":"        checkout-override: 3.3.0"},{"line_number":976,"context_line":"    vars:"},{"line_number":977,"context_line":"      grenade_devstack_localrc:"},{"line_number":978,"context_line":"        shared:"},{"line_number":979,"context_line":"          #NOTE: when in UEFI mode, TFTP packets don\u0027t get tracked nor"},{"line_number":980,"context_line":"          #pass between original and upgrade networks. Switch to BIOS"},{"line_number":981,"context_line":"          #until we can fix this properly."},{"line_number":982,"context_line":"          IRONIC_BOOT_MODE: bios"},{"line_number":983,"context_line":"          DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":984,"context_line":"          FORCE_CONFIG_DRIVE: True"},{"line_number":985,"context_line":"          INSTALL_TEMPEST: False"},{"line_number":986,"context_line":"          VIRT_DRIVER: ironic"},{"line_number":987,"context_line":"          BUILD_TIMEOUT: 1200"},{"line_number":988,"context_line":"          IRONIC_TEMPEST_BUILD_TIMEOUT: 1200"},{"line_number":989,"context_line":"          IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":990,"context_line":"          IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":991,"context_line":"          IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":992,"context_line":"          IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":993,"context_line":"          IRONIC_INSPECTOR_BUILD_RAMDISK: False"},{"line_number":994,"context_line":"          IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":995,"context_line":"          IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True"},{"line_number":996,"context_line":"          IRONIC_VM_COUNT: 4"},{"line_number":997,"context_line":"          IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":998,"context_line":"          IRONIC_VM_SPECS_RAM: 1024"},{"line_number":999,"context_line":"          IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":1000,"context_line":"          Q_AGENT: openvswitch"},{"line_number":1001,"context_line":"          Q_ML2_TENANT_NETWORK_TYPE: vxlan"},{"line_number":1002,"context_line":"          Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch"},{"line_number":1003,"context_line":"          SWIFT_ENABLE_TEMPURLS: True"},{"line_number":1004,"context_line":"          SWIFT_TEMPURL_KEY: secretkey"},{"line_number":1005,"context_line":"          EBTABLES_RACE_FIX: True"},{"line_number":1006,"context_line":"          LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":1007,"context_line":"          INSTANCE_WAIT: 120"},{"line_number":1008,"context_line":"          MYSQL_GATHER_PERFORMANCE: False"},{"line_number":1009,"context_line":"          CIRROS_VERSION: 0.6.1"},{"line_number":1010,"context_line":"          # Required as different access rights are used by default"},{"line_number":1011,"context_line":"          # and the classic devstack config which is defaulted doesn\u0027t work."},{"line_number":1012,"context_line":"          IRONIC_ENFORCE_SCOPE: True"},{"line_number":1013,"context_line":"        old:"},{"line_number":1014,"context_line":"          IRONIC_VM_LOG_DIR: \u0027{{ devstack_bases.old }}/ironic-bm-logs\u0027"},{"line_number":1015,"context_line":"      grenade_localrc:"},{"line_number":1016,"context_line":"        BASE_RUN_SMOKE: False"},{"line_number":1017,"context_line":"      grenade_tempest_concurrency: 1"},{"line_number":1018,"context_line":"      grenade_test_timeout: 2600"},{"line_number":1019,"context_line":"      devstack_plugins:"},{"line_number":1020,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":1021,"context_line":"      devstack_services:"},{"line_number":1022,"context_line":"        c-api: False"},{"line_number":1023,"context_line":"        c-bak: False"},{"line_number":1024,"context_line":"        c-sch: False"},{"line_number":1025,"context_line":"        c-vol: False"},{"line_number":1026,"context_line":"        cinder: False"},{"line_number":1027,"context_line":"        ir-api: True"},{"line_number":1028,"context_line":"        ir-cond: True"},{"line_number":1029,"context_line":"        # Neutron services"},{"line_number":1030,"context_line":"        # In the Ironic grenade job we want to explicitly enable ML2/OVS agents"},{"line_number":1031,"context_line":"        # and disable OVN"},{"line_number":1032,"context_line":"        q-agt: true"},{"line_number":1033,"context_line":"        q-dhcp: true"},{"line_number":1034,"context_line":"        q-l3: true"},{"line_number":1035,"context_line":"        q-meta: true"},{"line_number":1036,"context_line":"        q-svc: true"},{"line_number":1037,"context_line":"        q-metering: true"},{"line_number":1038,"context_line":"        ovn-controller: false"},{"line_number":1039,"context_line":"        ovn-northd: false"},{"line_number":1040,"context_line":"        q-ovn-metadata-agent: false"},{"line_number":1041,"context_line":"      tempest_plugins:"},{"line_number":1042,"context_line":"        - ironic-tempest-plugin"},{"line_number":1043,"context_line":"      tempest_test_regex: ironic_tempest_plugin.tests.scenario"},{"line_number":1044,"context_line":"      tox_envlist: all"},{"line_number":1045,"context_line":"      tempest_concurrency: 1"},{"line_number":1046,"context_line":"      zuul_copy_output:"},{"line_number":1047,"context_line":"        \u0027{{ devstack_bases.old }}/ironic-bm-logs\u0027: logs"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"- job:"},{"line_number":1050,"context_line":"    name: ironic-grenade-multinode-multitenant"},{"line_number":1051,"context_line":"    parent: grenade-multinode"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"05c2bea0_131c17ed","line":1048,"range":{"start_line":951,"start_character":2,"end_line":1048,"end_character":0},"updated":"2026-07-23 16:48:13.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][5][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"19952e017bd186a77c1e8722c462e1de497fbec1","unresolved":false,"context_lines":[{"line_number":948,"context_line":"    description: Alias for ironic-tempest-wholedisk-bios-ipmi-direct-tinyipa"},{"line_number":949,"context_line":"    parent: ironic-tempest-bios-ipmi-direct-tinyipa"},{"line_number":950,"context_line":""},{"line_number":951,"context_line":"- job:"},{"line_number":952,"context_line":"    name: ironic-grenade"},{"line_number":953,"context_line":"    parent: grenade"},{"line_number":954,"context_line":"    timeout: 10800"},{"line_number":955,"context_line":"    irrelevant-files:"},{"line_number":956,"context_line":"      - ^driver-requirements.txt$"},{"line_number":957,"context_line":"      - ^.*\\.rst$"},{"line_number":958,"context_line":"      - ^api-ref/.*$"},{"line_number":959,"context_line":"      - ^doc/.*$"},{"line_number":960,"context_line":"      - ^install-guide/.*$"},{"line_number":961,"context_line":"      - ^ironic/locale/.*$"},{"line_number":962,"context_line":"      - ^ironic/tests/.*$"},{"line_number":963,"context_line":"      - ^releasenotes/.*$"},{"line_number":964,"context_line":"      - ^setup.cfg$"},{"line_number":965,"context_line":"      - ^tools/.*$"},{"line_number":966,"context_line":"      - ^tox.ini$"},{"line_number":967,"context_line":"    required-projects:"},{"line_number":968,"context_line":"      - opendev.org/openstack/grenade"},{"line_number":969,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":970,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":971,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":972,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":973,"context_line":"        override-checkout: 2024.1-last"},{"line_number":974,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":975,"context_line":"        checkout-override: 3.3.0"},{"line_number":976,"context_line":"    vars:"},{"line_number":977,"context_line":"      grenade_devstack_localrc:"},{"line_number":978,"context_line":"        shared:"},{"line_number":979,"context_line":"          #NOTE: when in UEFI mode, TFTP packets don\u0027t get tracked nor"},{"line_number":980,"context_line":"          #pass between original and upgrade networks. Switch to BIOS"},{"line_number":981,"context_line":"          #until we can fix this properly."},{"line_number":982,"context_line":"          IRONIC_BOOT_MODE: bios"},{"line_number":983,"context_line":"          DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":984,"context_line":"          FORCE_CONFIG_DRIVE: True"},{"line_number":985,"context_line":"          INSTALL_TEMPEST: False"},{"line_number":986,"context_line":"          VIRT_DRIVER: ironic"},{"line_number":987,"context_line":"          BUILD_TIMEOUT: 1200"},{"line_number":988,"context_line":"          IRONIC_TEMPEST_BUILD_TIMEOUT: 1200"},{"line_number":989,"context_line":"          IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":990,"context_line":"          IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":991,"context_line":"          IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":992,"context_line":"          IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":993,"context_line":"          IRONIC_INSPECTOR_BUILD_RAMDISK: False"},{"line_number":994,"context_line":"          IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":995,"context_line":"          IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True"},{"line_number":996,"context_line":"          IRONIC_VM_COUNT: 4"},{"line_number":997,"context_line":"          IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":998,"context_line":"          IRONIC_VM_SPECS_RAM: 1024"},{"line_number":999,"context_line":"          IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":1000,"context_line":"          Q_AGENT: openvswitch"},{"line_number":1001,"context_line":"          Q_ML2_TENANT_NETWORK_TYPE: vxlan"},{"line_number":1002,"context_line":"          Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch"},{"line_number":1003,"context_line":"          SWIFT_ENABLE_TEMPURLS: True"},{"line_number":1004,"context_line":"          SWIFT_TEMPURL_KEY: secretkey"},{"line_number":1005,"context_line":"          EBTABLES_RACE_FIX: True"},{"line_number":1006,"context_line":"          LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":1007,"context_line":"          INSTANCE_WAIT: 120"},{"line_number":1008,"context_line":"          MYSQL_GATHER_PERFORMANCE: False"},{"line_number":1009,"context_line":"          CIRROS_VERSION: 0.6.1"},{"line_number":1010,"context_line":"          # Required as different access rights are used by default"},{"line_number":1011,"context_line":"          # and the classic devstack config which is defaulted doesn\u0027t work."},{"line_number":1012,"context_line":"          IRONIC_ENFORCE_SCOPE: True"},{"line_number":1013,"context_line":"        old:"},{"line_number":1014,"context_line":"          IRONIC_VM_LOG_DIR: \u0027{{ devstack_bases.old }}/ironic-bm-logs\u0027"},{"line_number":1015,"context_line":"      grenade_localrc:"},{"line_number":1016,"context_line":"        BASE_RUN_SMOKE: False"},{"line_number":1017,"context_line":"      grenade_tempest_concurrency: 1"},{"line_number":1018,"context_line":"      grenade_test_timeout: 2600"},{"line_number":1019,"context_line":"      devstack_plugins:"},{"line_number":1020,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":1021,"context_line":"      devstack_services:"},{"line_number":1022,"context_line":"        c-api: False"},{"line_number":1023,"context_line":"        c-bak: False"},{"line_number":1024,"context_line":"        c-sch: False"},{"line_number":1025,"context_line":"        c-vol: False"},{"line_number":1026,"context_line":"        cinder: False"},{"line_number":1027,"context_line":"        ir-api: True"},{"line_number":1028,"context_line":"        ir-cond: True"},{"line_number":1029,"context_line":"        # Neutron services"},{"line_number":1030,"context_line":"        # In the Ironic grenade job we want to explicitly enable ML2/OVS agents"},{"line_number":1031,"context_line":"        # and disable OVN"},{"line_number":1032,"context_line":"        q-agt: true"},{"line_number":1033,"context_line":"        q-dhcp: true"},{"line_number":1034,"context_line":"        q-l3: true"},{"line_number":1035,"context_line":"        q-meta: true"},{"line_number":1036,"context_line":"        q-svc: true"},{"line_number":1037,"context_line":"        q-metering: true"},{"line_number":1038,"context_line":"        ovn-controller: false"},{"line_number":1039,"context_line":"        ovn-northd: false"},{"line_number":1040,"context_line":"        q-ovn-metadata-agent: false"},{"line_number":1041,"context_line":"      tempest_plugins:"},{"line_number":1042,"context_line":"        - ironic-tempest-plugin"},{"line_number":1043,"context_line":"      tempest_test_regex: ironic_tempest_plugin.tests.scenario"},{"line_number":1044,"context_line":"      tox_envlist: all"},{"line_number":1045,"context_line":"      tempest_concurrency: 1"},{"line_number":1046,"context_line":"      zuul_copy_output:"},{"line_number":1047,"context_line":"        \u0027{{ devstack_bases.old }}/ironic-bm-logs\u0027: logs"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"- job:"},{"line_number":1050,"context_line":"    name: ironic-grenade-multinode-multitenant"},{"line_number":1051,"context_line":"    parent: grenade-multinode"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"47524eb6_e90765ac","line":1048,"range":{"start_line":951,"start_character":2,"end_line":1048,"end_character":0},"updated":"2026-07-23 16:48:00.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][5][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"19952e017bd186a77c1e8722c462e1de497fbec1","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"      zuul_copy_output:"},{"line_number":1047,"context_line":"        \u0027{{ devstack_bases.old }}/ironic-bm-logs\u0027: logs"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"- job:"},{"line_number":1050,"context_line":"    name: ironic-grenade-multinode-multitenant"},{"line_number":1051,"context_line":"    parent: grenade-multinode"},{"line_number":1052,"context_line":"    timeout: 10800"},{"line_number":1053,"context_line":"    irrelevant-files:"},{"line_number":1054,"context_line":"      - ^driver-requirements.txt$"},{"line_number":1055,"context_line":"      - ^.*\\.rst$"},{"line_number":1056,"context_line":"      - ^api-ref/.*$"},{"line_number":1057,"context_line":"      - ^doc/.*$"},{"line_number":1058,"context_line":"      - ^install-guide/.*$"},{"line_number":1059,"context_line":"      - ^ironic/locale/.*$"},{"line_number":1060,"context_line":"      - ^ironic/tests/.*$"},{"line_number":1061,"context_line":"      - ^releasenotes/.*$"},{"line_number":1062,"context_line":"      - ^setup.cfg$"},{"line_number":1063,"context_line":"      - ^tools/.*$"},{"line_number":1064,"context_line":"      - ^tox.ini$"},{"line_number":1065,"context_line":"    required-projects:"},{"line_number":1066,"context_line":"      - opendev.org/openstack/grenade"},{"line_number":1067,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":1068,"context_line":"      - opendev.org/openstack/ironic-lib"},{"line_number":1069,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":1070,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":1071,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":1072,"context_line":"        override-checkout: 2024.1-last"},{"line_number":1073,"context_line":"      - opendev.org/openstack/networking-generic-switch"},{"line_number":1074,"context_line":"      - opendev.org/openstack/python-ironicclient"},{"line_number":1075,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":1076,"context_line":"        checkout-override: 3.3.0"},{"line_number":1077,"context_line":"    vars:"},{"line_number":1078,"context_line":"      grenade_devstack_localrc:"},{"line_number":1079,"context_line":"        shared:"},{"line_number":1080,"context_line":"          DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":1081,"context_line":"          ENABLE_TENANT_TUNNELS: False"},{"line_number":1082,"context_line":"          ENABLE_TENANT_VLANS: True"},{"line_number":1083,"context_line":"          FORCE_CONFIG_DRIVE: True"},{"line_number":1084,"context_line":"          HOST_TOPOLOGY: multinode"},{"line_number":1085,"context_line":"          HOST_TOPOLOGY_ROLE: primary"},{"line_number":1086,"context_line":"          BUILD_TIMEOUT: 1200"},{"line_number":1087,"context_line":"          INSTALL_TEMPEST: False # Don\u0027t install a tempest package globally"},{"line_number":1088,"context_line":"          HOST_TOPOLOGY_SUBNODES: \"{{ hostvars[\u0027compute1\u0027][\u0027nodepool\u0027][\u0027public_ipv4\u0027] }}\""},{"line_number":1089,"context_line":"          IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":1090,"context_line":"          IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":1091,"context_line":"          IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":1092,"context_line":"          IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":1093,"context_line":"          IRONIC_DEFAULT_DEPLOY_INTERFACE: direct"},{"line_number":1094,"context_line":"          IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":1095,"context_line":"          IRONIC_VM_COUNT: 4"},{"line_number":1096,"context_line":"          IRONIC_VM_EPHEMERAL_DISK: 1"},{"line_number":1097,"context_line":"          IRONIC_VM_SPECS_RAM: 1024"},{"line_number":1098,"context_line":"          IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":1099,"context_line":"          IRONIC_TEMPEST_BUILD_TIMEOUT: 1200"},{"line_number":1100,"context_line":"          IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True"},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"          IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":1103,"context_line":"          IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":1104,"context_line":"          IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":1105,"context_line":"          IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1"},{"line_number":1106,"context_line":"          IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24"},{"line_number":1107,"context_line":"          IRONIC_USE_LINK_LOCAL: True"},{"line_number":1108,"context_line":"          OVS_BRIDGE_MAPPINGS: \u0027mynetwork:brbm,public:br-infra\u0027"},{"line_number":1109,"context_line":"          OVS_PHYSICAL_BRIDGE: brbm"},{"line_number":1110,"context_line":"          PHYSICAL_NETWORK: mynetwork"},{"line_number":1111,"context_line":"          PUBLIC_BRIDGE: br-infra"},{"line_number":1112,"context_line":"          Q_AGENT: openvswitch"},{"line_number":1113,"context_line":"          Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":1114,"context_line":"          Q_PLUGIN: ml2"},{"line_number":1115,"context_line":"          SWIFT_ENABLE_TEMPURLS: True"},{"line_number":1116,"context_line":"          SWIFT_TEMPURL_KEY: secretkey"},{"line_number":1117,"context_line":"          TENANT_VLAN_RANGE: 100:150"},{"line_number":1118,"context_line":"          VIRT_DRIVER: ironic"},{"line_number":1119,"context_line":"          EBTABLES_RACE_FIX: True"},{"line_number":1120,"context_line":"          LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":1121,"context_line":"          IRONIC_VM_LOG_DIR: \u0027/opt/stack/ironic-bm-logs\u0027"},{"line_number":1122,"context_line":"      grenade_localrc:"},{"line_number":1123,"context_line":"        BASE_RUN_SMOKE: False"},{"line_number":1124,"context_line":"      devstack_plugins:"},{"line_number":1125,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":1126,"context_line":"        networking-generic-switch: https://opendev.org/openstack/networking-generic-switch"},{"line_number":1127,"context_line":"      devstack_services:"},{"line_number":1128,"context_line":"        c-api: False"},{"line_number":1129,"context_line":"        c-bak: False"},{"line_number":1130,"context_line":"        c-sch: False"},{"line_number":1131,"context_line":"        c-vol: False"},{"line_number":1132,"context_line":"        cinder: False"},{"line_number":1133,"context_line":"        ir-api: True"},{"line_number":1134,"context_line":"        ir-cond: True"},{"line_number":1135,"context_line":"      tempest_plugins:"},{"line_number":1136,"context_line":"        - ironic-tempest-plugin"},{"line_number":1137,"context_line":"      tempest_test_regex: BaremetalMultitenancy"},{"line_number":1138,"context_line":"      tox_envlist: all"},{"line_number":1139,"context_line":"      tempest_concurrency: 1"},{"line_number":1140,"context_line":"      grenade_tempest_concurrency: 1"},{"line_number":1141,"context_line":"      grenade_test_timeout: 2600"},{"line_number":1142,"context_line":"      zuul_copy_output:"},{"line_number":1143,"context_line":"        \u0027/opt/stack/ironic-bm-logs\u0027: logs"},{"line_number":1144,"context_line":"        \u0027{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log\u0027: \u0027logs\u0027"},{"line_number":1145,"context_line":"    group-vars:"},{"line_number":1146,"context_line":"      subnode:"},{"line_number":1147,"context_line":"        devstack_plugins:"},{"line_number":1148,"context_line":"          ironic: https://opendev.org/openstack/ironic"},{"line_number":1149,"context_line":"          networking-generic-switch: https://opendev.org/openstack/networking-generic-switch"},{"line_number":1150,"context_line":"        devstack_services:"},{"line_number":1151,"context_line":"          c-api: False"},{"line_number":1152,"context_line":"          c-bak: False"},{"line_number":1153,"context_line":"          c-sch: False"},{"line_number":1154,"context_line":"          c-vol: False"},{"line_number":1155,"context_line":"          cinder: False"},{"line_number":1156,"context_line":"          g-api: True"},{"line_number":1157,"context_line":"          ir-api: True"},{"line_number":1158,"context_line":"          ir-cond: True"},{"line_number":1159,"context_line":"          n-cpu: True"},{"line_number":1160,"context_line":"          q-agt: True"},{"line_number":1161,"context_line":"          virtualbmc: True"},{"line_number":1162,"context_line":"        grenade_devstack_localrc:"},{"line_number":1163,"context_line":"          shared:"},{"line_number":1164,"context_line":"            DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":1165,"context_line":"            ENABLE_TENANT_TUNNELS: False"},{"line_number":1166,"context_line":"            ENABLE_TENANT_VLANS: True"},{"line_number":1167,"context_line":"            FORCE_CONFIG_DRIVE: True"},{"line_number":1168,"context_line":"            HOST_TOPOLOGY: multinode"},{"line_number":1169,"context_line":"            HOST_TOPOLOGY_ROLE: subnode"},{"line_number":1170,"context_line":"            IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":1171,"context_line":"            IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":1172,"context_line":"            IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":1173,"context_line":"            BUILD_TIMEOUT: 1200"},{"line_number":1174,"context_line":"            IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":1175,"context_line":"            IRONIC_TEMPEST_BUILD_TIMEOUT: 1200"},{"line_number":1176,"context_line":"            IRONIC_DEFAULT_DEPLOY_INTERFACE: direct"},{"line_number":1177,"context_line":"            IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":1178,"context_line":"            IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":1179,"context_line":"            IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":1180,"context_line":"            IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":1181,"context_line":"            IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1"},{"line_number":1182,"context_line":"            IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24"},{"line_number":1183,"context_line":"            IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":1184,"context_line":"            IRONIC_USE_LINK_LOCAL: True"},{"line_number":1185,"context_line":"            IRONIC_VM_COUNT: 4"},{"line_number":1186,"context_line":"            IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":1187,"context_line":"            IRONIC_VM_SPECS_RAM: 1024"},{"line_number":1188,"context_line":"            IRONIC_VM_NETWORK_BRIDGE: sub1brbm"},{"line_number":1189,"context_line":"            OVS_BRIDGE_MAPPINGS: \u0027mynetwork:sub1brbm,public:br-infra\u0027"},{"line_number":1190,"context_line":"            OVS_PHYSICAL_BRIDGE: sub1brbm"},{"line_number":1191,"context_line":"            PHYSICAL_NETWORK: mynetwork"},{"line_number":1192,"context_line":"            PUBLIC_BRIDGE: br-infra"},{"line_number":1193,"context_line":"            Q_AGENT: openvswitch"},{"line_number":1194,"context_line":"            Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":1195,"context_line":"            Q_PLUGIN: ml2"},{"line_number":1196,"context_line":"            SWIFT_ENABLE_TEMPURLS: True"},{"line_number":1197,"context_line":"            SWIFT_TEMPURL_KEY: secretkey"},{"line_number":1198,"context_line":"            VIRT_DRIVER: ironic"},{"line_number":1199,"context_line":"            EBTABLES_RACE_FIX: True"},{"line_number":1200,"context_line":"            LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":1201,"context_line":"            IRONIC_VM_LOG_DIR: \u0027/opt/stack/ironic-bm-logs\u0027"},{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"- job:"},{"line_number":1204,"context_line":"    name: ironic-cross-sushy"},{"line_number":1205,"context_line":"    nodeset: ubuntu-jammy"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"375208af_50a8fbb4","line":1202,"range":{"start_line":1049,"start_character":2,"end_line":1202,"end_character":0},"updated":"2026-07-23 16:48:00.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][8][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"aeb7637a0bf36c0b8f24c08795b9e06e4cd7affd","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"      zuul_copy_output:"},{"line_number":1047,"context_line":"        \u0027{{ devstack_bases.old }}/ironic-bm-logs\u0027: logs"},{"line_number":1048,"context_line":""},{"line_number":1049,"context_line":"- job:"},{"line_number":1050,"context_line":"    name: ironic-grenade-multinode-multitenant"},{"line_number":1051,"context_line":"    parent: grenade-multinode"},{"line_number":1052,"context_line":"    timeout: 10800"},{"line_number":1053,"context_line":"    irrelevant-files:"},{"line_number":1054,"context_line":"      - ^driver-requirements.txt$"},{"line_number":1055,"context_line":"      - ^.*\\.rst$"},{"line_number":1056,"context_line":"      - ^api-ref/.*$"},{"line_number":1057,"context_line":"      - ^doc/.*$"},{"line_number":1058,"context_line":"      - ^install-guide/.*$"},{"line_number":1059,"context_line":"      - ^ironic/locale/.*$"},{"line_number":1060,"context_line":"      - ^ironic/tests/.*$"},{"line_number":1061,"context_line":"      - ^releasenotes/.*$"},{"line_number":1062,"context_line":"      - ^setup.cfg$"},{"line_number":1063,"context_line":"      - ^tools/.*$"},{"line_number":1064,"context_line":"      - ^tox.ini$"},{"line_number":1065,"context_line":"    required-projects:"},{"line_number":1066,"context_line":"      - opendev.org/openstack/grenade"},{"line_number":1067,"context_line":"      - opendev.org/openstack/ironic"},{"line_number":1068,"context_line":"      - opendev.org/openstack/ironic-lib"},{"line_number":1069,"context_line":"      - opendev.org/openstack/ironic-python-agent"},{"line_number":1070,"context_line":"      - opendev.org/openstack/ironic-python-agent-builder"},{"line_number":1071,"context_line":"      - name: opendev.org/openstack/ironic-tempest-plugin"},{"line_number":1072,"context_line":"        override-checkout: 2024.1-last"},{"line_number":1073,"context_line":"      - opendev.org/openstack/networking-generic-switch"},{"line_number":1074,"context_line":"      - opendev.org/openstack/python-ironicclient"},{"line_number":1075,"context_line":"      - name: opendev.org/openstack/virtualbmc"},{"line_number":1076,"context_line":"        checkout-override: 3.3.0"},{"line_number":1077,"context_line":"    vars:"},{"line_number":1078,"context_line":"      grenade_devstack_localrc:"},{"line_number":1079,"context_line":"        shared:"},{"line_number":1080,"context_line":"          DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":1081,"context_line":"          ENABLE_TENANT_TUNNELS: False"},{"line_number":1082,"context_line":"          ENABLE_TENANT_VLANS: True"},{"line_number":1083,"context_line":"          FORCE_CONFIG_DRIVE: True"},{"line_number":1084,"context_line":"          HOST_TOPOLOGY: multinode"},{"line_number":1085,"context_line":"          HOST_TOPOLOGY_ROLE: primary"},{"line_number":1086,"context_line":"          BUILD_TIMEOUT: 1200"},{"line_number":1087,"context_line":"          INSTALL_TEMPEST: False # Don\u0027t install a tempest package globally"},{"line_number":1088,"context_line":"          HOST_TOPOLOGY_SUBNODES: \"{{ hostvars[\u0027compute1\u0027][\u0027nodepool\u0027][\u0027public_ipv4\u0027] }}\""},{"line_number":1089,"context_line":"          IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":1090,"context_line":"          IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":1091,"context_line":"          IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":1092,"context_line":"          IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":1093,"context_line":"          IRONIC_DEFAULT_DEPLOY_INTERFACE: direct"},{"line_number":1094,"context_line":"          IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":1095,"context_line":"          IRONIC_VM_COUNT: 4"},{"line_number":1096,"context_line":"          IRONIC_VM_EPHEMERAL_DISK: 1"},{"line_number":1097,"context_line":"          IRONIC_VM_SPECS_RAM: 1024"},{"line_number":1098,"context_line":"          IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":1099,"context_line":"          IRONIC_TEMPEST_BUILD_TIMEOUT: 1200"},{"line_number":1100,"context_line":"          IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True"},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"          IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":1103,"context_line":"          IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":1104,"context_line":"          IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":1105,"context_line":"          IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1"},{"line_number":1106,"context_line":"          IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24"},{"line_number":1107,"context_line":"          IRONIC_USE_LINK_LOCAL: True"},{"line_number":1108,"context_line":"          OVS_BRIDGE_MAPPINGS: \u0027mynetwork:brbm,public:br-infra\u0027"},{"line_number":1109,"context_line":"          OVS_PHYSICAL_BRIDGE: brbm"},{"line_number":1110,"context_line":"          PHYSICAL_NETWORK: mynetwork"},{"line_number":1111,"context_line":"          PUBLIC_BRIDGE: br-infra"},{"line_number":1112,"context_line":"          Q_AGENT: openvswitch"},{"line_number":1113,"context_line":"          Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":1114,"context_line":"          Q_PLUGIN: ml2"},{"line_number":1115,"context_line":"          SWIFT_ENABLE_TEMPURLS: True"},{"line_number":1116,"context_line":"          SWIFT_TEMPURL_KEY: secretkey"},{"line_number":1117,"context_line":"          TENANT_VLAN_RANGE: 100:150"},{"line_number":1118,"context_line":"          VIRT_DRIVER: ironic"},{"line_number":1119,"context_line":"          EBTABLES_RACE_FIX: True"},{"line_number":1120,"context_line":"          LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":1121,"context_line":"          IRONIC_VM_LOG_DIR: \u0027/opt/stack/ironic-bm-logs\u0027"},{"line_number":1122,"context_line":"      grenade_localrc:"},{"line_number":1123,"context_line":"        BASE_RUN_SMOKE: False"},{"line_number":1124,"context_line":"      devstack_plugins:"},{"line_number":1125,"context_line":"        ironic: https://opendev.org/openstack/ironic"},{"line_number":1126,"context_line":"        networking-generic-switch: https://opendev.org/openstack/networking-generic-switch"},{"line_number":1127,"context_line":"      devstack_services:"},{"line_number":1128,"context_line":"        c-api: False"},{"line_number":1129,"context_line":"        c-bak: False"},{"line_number":1130,"context_line":"        c-sch: False"},{"line_number":1131,"context_line":"        c-vol: False"},{"line_number":1132,"context_line":"        cinder: False"},{"line_number":1133,"context_line":"        ir-api: True"},{"line_number":1134,"context_line":"        ir-cond: True"},{"line_number":1135,"context_line":"      tempest_plugins:"},{"line_number":1136,"context_line":"        - ironic-tempest-plugin"},{"line_number":1137,"context_line":"      tempest_test_regex: BaremetalMultitenancy"},{"line_number":1138,"context_line":"      tox_envlist: all"},{"line_number":1139,"context_line":"      tempest_concurrency: 1"},{"line_number":1140,"context_line":"      grenade_tempest_concurrency: 1"},{"line_number":1141,"context_line":"      grenade_test_timeout: 2600"},{"line_number":1142,"context_line":"      zuul_copy_output:"},{"line_number":1143,"context_line":"        \u0027/opt/stack/ironic-bm-logs\u0027: logs"},{"line_number":1144,"context_line":"        \u0027{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log\u0027: \u0027logs\u0027"},{"line_number":1145,"context_line":"    group-vars:"},{"line_number":1146,"context_line":"      subnode:"},{"line_number":1147,"context_line":"        devstack_plugins:"},{"line_number":1148,"context_line":"          ironic: https://opendev.org/openstack/ironic"},{"line_number":1149,"context_line":"          networking-generic-switch: https://opendev.org/openstack/networking-generic-switch"},{"line_number":1150,"context_line":"        devstack_services:"},{"line_number":1151,"context_line":"          c-api: False"},{"line_number":1152,"context_line":"          c-bak: False"},{"line_number":1153,"context_line":"          c-sch: False"},{"line_number":1154,"context_line":"          c-vol: False"},{"line_number":1155,"context_line":"          cinder: False"},{"line_number":1156,"context_line":"          g-api: True"},{"line_number":1157,"context_line":"          ir-api: True"},{"line_number":1158,"context_line":"          ir-cond: True"},{"line_number":1159,"context_line":"          n-cpu: True"},{"line_number":1160,"context_line":"          q-agt: True"},{"line_number":1161,"context_line":"          virtualbmc: True"},{"line_number":1162,"context_line":"        grenade_devstack_localrc:"},{"line_number":1163,"context_line":"          shared:"},{"line_number":1164,"context_line":"            DEFAULT_INSTANCE_TYPE: baremetal"},{"line_number":1165,"context_line":"            ENABLE_TENANT_TUNNELS: False"},{"line_number":1166,"context_line":"            ENABLE_TENANT_VLANS: True"},{"line_number":1167,"context_line":"            FORCE_CONFIG_DRIVE: True"},{"line_number":1168,"context_line":"            HOST_TOPOLOGY: multinode"},{"line_number":1169,"context_line":"            HOST_TOPOLOGY_ROLE: subnode"},{"line_number":1170,"context_line":"            IRONIC_AUTOMATED_CLEAN_ENABLED: False"},{"line_number":1171,"context_line":"            IRONIC_BAREMETAL_BASIC_OPS: True"},{"line_number":1172,"context_line":"            IRONIC_BUILD_DEPLOY_RAMDISK: False"},{"line_number":1173,"context_line":"            BUILD_TIMEOUT: 1200"},{"line_number":1174,"context_line":"            IRONIC_CALLBACK_TIMEOUT: 1800"},{"line_number":1175,"context_line":"            IRONIC_TEMPEST_BUILD_TIMEOUT: 1200"},{"line_number":1176,"context_line":"            IRONIC_DEFAULT_DEPLOY_INTERFACE: direct"},{"line_number":1177,"context_line":"            IRONIC_DEPLOY_DRIVER: ipmi"},{"line_number":1178,"context_line":"            IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron"},{"line_number":1179,"context_line":"            IRONIC_NETWORK_INTERFACE: neutron"},{"line_number":1180,"context_line":"            IRONIC_PROVISION_NETWORK_NAME: ironic-provision"},{"line_number":1181,"context_line":"            IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1"},{"line_number":1182,"context_line":"            IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24"},{"line_number":1183,"context_line":"            IRONIC_RAMDISK_TYPE: tinyipa"},{"line_number":1184,"context_line":"            IRONIC_USE_LINK_LOCAL: True"},{"line_number":1185,"context_line":"            IRONIC_VM_COUNT: 4"},{"line_number":1186,"context_line":"            IRONIC_VM_EPHEMERAL_DISK: 0"},{"line_number":1187,"context_line":"            IRONIC_VM_SPECS_RAM: 1024"},{"line_number":1188,"context_line":"            IRONIC_VM_NETWORK_BRIDGE: sub1brbm"},{"line_number":1189,"context_line":"            OVS_BRIDGE_MAPPINGS: \u0027mynetwork:sub1brbm,public:br-infra\u0027"},{"line_number":1190,"context_line":"            OVS_PHYSICAL_BRIDGE: sub1brbm"},{"line_number":1191,"context_line":"            PHYSICAL_NETWORK: mynetwork"},{"line_number":1192,"context_line":"            PUBLIC_BRIDGE: br-infra"},{"line_number":1193,"context_line":"            Q_AGENT: openvswitch"},{"line_number":1194,"context_line":"            Q_ML2_TENANT_NETWORK_TYPE: vlan"},{"line_number":1195,"context_line":"            Q_PLUGIN: ml2"},{"line_number":1196,"context_line":"            SWIFT_ENABLE_TEMPURLS: True"},{"line_number":1197,"context_line":"            SWIFT_TEMPURL_KEY: secretkey"},{"line_number":1198,"context_line":"            VIRT_DRIVER: ironic"},{"line_number":1199,"context_line":"            EBTABLES_RACE_FIX: True"},{"line_number":1200,"context_line":"            LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images"},{"line_number":1201,"context_line":"            IRONIC_VM_LOG_DIR: \u0027/opt/stack/ironic-bm-logs\u0027"},{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"- job:"},{"line_number":1204,"context_line":"    name: ironic-cross-sushy"},{"line_number":1205,"context_line":"    nodeset: ubuntu-jammy"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"45b74ef3_fee7f5de","line":1202,"range":{"start_line":1049,"start_character":2,"end_line":1202,"end_character":0},"updated":"2026-07-23 16:48:13.000000000","message":"extra keys not allowed @ data[\u0027required-projects\u0027][8][\u0027checkout-override\u0027]","commit_id":"f34ab29357d0cd986c7fc8730e3d6eed98767da7"}]}
