)]}'
{"zuul.d/project.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"e0300c1db89e0004fcf14aee84e1f900c4851c0e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- project:"},{"line_number":2,"context_line":"    check:"},{"line_number":3,"context_line":"      jobs:"},{"line_number":4,"context_line":"        - neutron-ovn-bgp-tempest-multinode"},{"line_number":5,"context_line":"    gate:"},{"line_number":6,"context_line":"      jobs:"},{"line_number":7,"context_line":"        - neutron-functional"},{"line_number":8,"context_line":"        - neutron-ovs-tempest-multinode-full:"},{"line_number":9,"context_line":"            voting: false  # LP#2161894"},{"line_number":10,"context_line":"        - neutron-ovn-grenade-multinode"},{"line_number":11,"context_line":"        - neutron-ovs-grenade-multinode"},{"line_number":12,"context_line":"        - neutron-ovn-tempest-ipv6-only-ovs-release"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"4b12933e_00b79e62","line":13,"range":{"start_line":1,"start_character":2,"end_line":13,"end_character":0},"updated":"2026-08-19 14:57:32.000000000","message":"Job neutron-ovn-bgp-tempest-multinode not defined","commit_id":"1ee385bf60d34ca6e068dfef83fb8de87ed8b00c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3639af9ed8420dcd1aaeba5833ee6dd84a147fe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- project:"},{"line_number":2,"context_line":"    check:"},{"line_number":3,"context_line":"      jobs:"},{"line_number":4,"context_line":"        - neutron-ovn-bgp-tempest-multinode"},{"line_number":5,"context_line":"    gate:"},{"line_number":6,"context_line":"      jobs:"},{"line_number":7,"context_line":"        - neutron-functional"},{"line_number":8,"context_line":"        - neutron-ovs-tempest-multinode-full:"},{"line_number":9,"context_line":"            voting: false  # LP#2161894"},{"line_number":10,"context_line":"        - neutron-ovn-grenade-multinode"},{"line_number":11,"context_line":"        - neutron-ovs-grenade-multinode"},{"line_number":12,"context_line":"        - neutron-ovn-tempest-ipv6-only-ovs-release"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"59019dc6_bfdde175","line":13,"range":{"start_line":1,"start_character":2,"end_line":13,"end_character":0},"updated":"2026-08-19 14:58:09.000000000","message":"Job neutron-ovn-bgp-tempest-multinode not defined","commit_id":"1ee385bf60d34ca6e068dfef83fb8de87ed8b00c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"3cb3c0e7789123c16e2da662d08265888528f902","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- project:"},{"line_number":2,"context_line":"    check:"},{"line_number":3,"context_line":"      jobs:"},{"line_number":4,"context_line":"        - neutron-ovn-bgp-tempest-multinode"},{"line_number":5,"context_line":"    gate:"},{"line_number":6,"context_line":"      jobs:"},{"line_number":7,"context_line":"        - neutron-functional"},{"line_number":8,"context_line":"        - neutron-ovs-tempest-multinode-full:"},{"line_number":9,"context_line":"            voting: false  # LP#2161894"},{"line_number":10,"context_line":"        - neutron-ovn-grenade-multinode"},{"line_number":11,"context_line":"        - neutron-ovs-grenade-multinode"},{"line_number":12,"context_line":"        - neutron-ovn-tempest-ipv6-only-ovs-release"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"59ef697c_46872105","line":12,"range":{"start_line":1,"start_character":2,"end_line":12,"end_character":0},"updated":"2026-08-19 14:58:43.000000000","message":"Job neutron-ovn-bgp-tempest-multinode not defined","commit_id":"0f49740f327be4b683159ebab395b3d7ecb87325"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9be297b59f40695ddf7244676eb97e6c62a86c93","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- project:"},{"line_number":2,"context_line":"    check:"},{"line_number":3,"context_line":"      jobs:"},{"line_number":4,"context_line":"        - neutron-ovn-bgp-tempest-multinode"},{"line_number":5,"context_line":"    gate:"},{"line_number":6,"context_line":"      jobs:"},{"line_number":7,"context_line":"        - neutron-functional"},{"line_number":8,"context_line":"        - neutron-ovs-tempest-multinode-full:"},{"line_number":9,"context_line":"            voting: false  # LP#2161894"},{"line_number":10,"context_line":"        - neutron-ovn-grenade-multinode"},{"line_number":11,"context_line":"        - neutron-ovs-grenade-multinode"},{"line_number":12,"context_line":"        - neutron-ovn-tempest-ipv6-only-ovs-release"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"6fd8351b_662a3210","line":12,"range":{"start_line":1,"start_character":2,"end_line":12,"end_character":0},"updated":"2026-08-19 14:59:30.000000000","message":"Job neutron-ovn-bgp-tempest-multinode not defined","commit_id":"0f49740f327be4b683159ebab395b3d7ecb87325"}],"zuul.d/tempest-multinode-bgp.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a3639af9ed8420dcd1aaeba5833ee6dd84a147fe","unresolved":false,"context_lines":[{"line_number":40,"context_line":"          - compute1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- job:"},{"line_number":43,"context_line":"    name: neutron-ovn-bgp-tempest-multinode"},{"line_number":44,"context_line":"    parent: neutron-tempest-plugin-ovn"},{"line_number":45,"context_line":"    nodeset: neutron-five-node-noble-bgp"},{"line_number":46,"context_line":"    post-run: playbooks/wait_bgp.yaml"},{"line_number":47,"context_line":"    timeout: 10800"},{"line_number":48,"context_line":"    post-timeout: 9600"},{"line_number":49,"context_line":"    required-projects:"},{"line_number":50,"context_line":"      - openstack/devstack"},{"line_number":51,"context_line":"    vars:"},{"line_number":52,"context_line":"      devstack_localrc:"},{"line_number":53,"context_line":"        ENABLE_TLS: True"},{"line_number":54,"context_line":"        PUBLIC_SUBNET_ENABLE_DHCP: True"},{"line_number":55,"context_line":"        OVN_BUILD_FROM_SOURCE: True"},{"line_number":56,"context_line":"        OVN_BRANCH: v26.03.0"},{"line_number":57,"context_line":"        OVS_BRANCH: v3.7.0"},{"line_number":58,"context_line":"        FRR_USE_BFD: True"},{"line_number":59,"context_line":"        ENABLE_FRR: True"},{"line_number":60,"context_line":"        FRR_BGP_ROUTER_ID: \u0027172.24.4.1\u0027"},{"line_number":61,"context_line":"        FRR_BGP_IPV6_SRC: \u00272001:db8::2\u0027"},{"line_number":62,"context_line":"        OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":63,"context_line":"        NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":64,"context_line":"        Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        q-ovn-bgp: true"},{"line_number":67,"context_line":"        tls-proxy: true"},{"line_number":68,"context_line":"        tempest: false"},{"line_number":69,"context_line":"      devstack_plugins:"},{"line_number":70,"context_line":"        neutron: https://opendev.org/openstack/neutron"},{"line_number":71,"context_line":"        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":72,"context_line":"      zuul_copy_output:"},{"line_number":73,"context_line":"        \u0027/var/log/frr\u0027: \u0027logs\u0027"},{"line_number":74,"context_line":"        \u0027/var/log/ovn\u0027: \u0027logs\u0027"},{"line_number":75,"context_line":"        \u0027/var/log/openvswitch\u0027: \u0027logs\u0027"},{"line_number":76,"context_line":"        \u0027/var/lib/ovn\u0027: \u0027logs\u0027"},{"line_number":77,"context_line":"        \u0027/etc/frr\u0027: \u0027logs\u0027"},{"line_number":78,"context_line":"      devstack_local_conf:"},{"line_number":79,"context_line":"        post-config:"},{"line_number":80,"context_line":"          \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":81,"context_line":"            ovn:"},{"line_number":82,"context_line":"              enable_distributed_floating_ip: True"},{"line_number":83,"context_line":"    pre-run: playbooks/configure_bgp_networking.yaml"},{"line_number":84,"context_line":"    post-run: playbooks/collect_bgp_diagnostics.yaml"},{"line_number":85,"context_line":"    group-vars:"},{"line_number":86,"context_line":"      # The tempest and zbgp_compute groups sort after subnode, so their"},{"line_number":87,"context_line":"      # devstack_localrc replaces (not merges with) the subnode group-vars."},{"line_number":88,"context_line":"      # We must repeat the base subnode settings needed by stack.sh."},{"line_number":89,"context_line":"      tempest:"},{"line_number":90,"context_line":"        devstack_localrc: \u0026subnode_localrc"},{"line_number":91,"context_line":"          DATABASE_PASSWORD: secretdatabase"},{"line_number":92,"context_line":"          RABBIT_PASSWORD: secretrabbit"},{"line_number":93,"context_line":"          ADMIN_PASSWORD: secretadmin"},{"line_number":94,"context_line":"          SERVICE_PASSWORD: secretservice"},{"line_number":95,"context_line":"          GLANCE_HOSTPORT: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}:9292\""},{"line_number":96,"context_line":"          Q_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":97,"context_line":"          DATABASE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":98,"context_line":"          RABBIT_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":99,"context_line":"          SERVICE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":100,"context_line":"          HOST_IP: \"{{ hostvars[inventory_hostname][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":101,"context_line":"          LOGFILE: /opt/stack/logs/devstacklog.txt"},{"line_number":102,"context_line":"          LOG_COLOR: false"},{"line_number":103,"context_line":"          VERBOSE: true"},{"line_number":104,"context_line":"          VERBOSE_NO_TIMESTAMP: true"},{"line_number":105,"context_line":"          LIBS_FROM_GIT: neutron-tempest-plugin"},{"line_number":106,"context_line":"          OVN_BUILD_FROM_SOURCE: False"},{"line_number":107,"context_line":"          Q_PLUGIN: \"noop\""},{"line_number":108,"context_line":"          SERVICES_FOR_TEMPEST: neutron,nova,keystone,glance"},{"line_number":109,"context_line":"          IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"},{"line_number":110,"context_line":"          ADVANCED_IMAGE_NAME: ubuntu-22.04-minimal-cloudimg-amd64"},{"line_number":111,"context_line":"          ADVANCED_INSTANCE_TYPE: ntp_image_256M"},{"line_number":112,"context_line":"          ADVANCED_INSTANCE_USER: ubuntu"},{"line_number":113,"context_line":"          CUSTOMIZE_IMAGE: true"},{"line_number":114,"context_line":"          BUILD_TIMEOUT: 784"},{"line_number":115,"context_line":"          LIVE_MIGRATION_AVAILABLE: True"},{"line_number":116,"context_line":"          USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: True"},{"line_number":117,"context_line":"        devstack_plugins:"},{"line_number":118,"context_line":"          neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":119,"context_line":"        devstack_services:"},{"line_number":120,"context_line":"          tls-proxy: true"},{"line_number":121,"context_line":"          tempest: true"},{"line_number":122,"context_line":"          etcd3: false"},{"line_number":123,"context_line":"          mysql: false"},{"line_number":124,"context_line":"          c-api: false"},{"line_number":125,"context_line":"          c-bak: false"},{"line_number":126,"context_line":"          c-sch: false"},{"line_number":127,"context_line":"          c-vol: false"},{"line_number":128,"context_line":"          cinder: false"},{"line_number":129,"context_line":"          n-api: false"},{"line_number":130,"context_line":"          n-api-meta: false"},{"line_number":131,"context_line":"          n-cond: false"},{"line_number":132,"context_line":"          n-cpu: false"},{"line_number":133,"context_line":"          n-novnc: false"},{"line_number":134,"context_line":"          n-sch: false"},{"line_number":135,"context_line":"          placement-api: false"},{"line_number":136,"context_line":"          br-ex-tcpdump: false"},{"line_number":137,"context_line":"          br-int-flows: false"},{"line_number":138,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":139,"context_line":"          q-ovn-agent: false"},{"line_number":140,"context_line":"          ovn-bgp: false"},{"line_number":141,"context_line":"          ovn-controller: false"},{"line_number":142,"context_line":"          ovn-northd: false"},{"line_number":143,"context_line":"          ovs-vswitchd: false"},{"line_number":144,"context_line":"          ovsdb-server: false"},{"line_number":145,"context_line":"          neutron-dns: false"},{"line_number":146,"context_line":"          neutron-log: false"},{"line_number":147,"context_line":"          neutron-qos: false"},{"line_number":148,"context_line":"          neutron-segments: false"},{"line_number":149,"context_line":"          neutron-trunk: false"},{"line_number":150,"context_line":"          neutron-uplink-status-propagation: false"},{"line_number":151,"context_line":"          neutron-network-segment-range: false"},{"line_number":152,"context_line":"          neutron-port-forwarding: false"},{"line_number":153,"context_line":"          neutron-conntrack-helper: false"},{"line_number":154,"context_line":"          neutron-tag-ports-during-bulk-creation: false"},{"line_number":155,"context_line":"          neutron-ndp-proxy: false"},{"line_number":156,"context_line":"          neutron-subnet-external-network: false"},{"line_number":157,"context_line":"          neutron-port-trusted-vif: false"},{"line_number":158,"context_line":"        devstack_local_conf:"},{"line_number":159,"context_line":"          post-config: {}"},{"line_number":160,"context_line":"          test-config:"},{"line_number":161,"context_line":"            $TEMPEST_CONFIG:"},{"line_number":162,"context_line":"              service_available:"},{"line_number":163,"context_line":"                neutron: True"},{"line_number":164,"context_line":"                nova: True"},{"line_number":165,"context_line":"                glance: True"},{"line_number":166,"context_line":"                key: True"},{"line_number":167,"context_line":"              compute:"},{"line_number":168,"context_line":"                min_compute_nodes: 2"},{"line_number":169,"context_line":"              neutron_plugin_options:"},{"line_number":170,"context_line":"                firewall_driver: ovn"},{"line_number":171,"context_line":"        tempest_concurrency: 4"},{"line_number":172,"context_line":"        tempest_test_regex: \"(^neutron_tempest_plugin.scenario.test_ovn_bgp)\""},{"line_number":173,"context_line":"        # Excluded tests and reasons:"},{"line_number":174,"context_line":"        # - test_port_forwardings: FIP port forwarding not supported"},{"line_number":175,"context_line":"        #     by OVN BGP Agent"},{"line_number":176,"context_line":"        # - test_multiple_gws: creates its own FRR/BFD on br-ex,"},{"line_number":177,"context_line":"        #     conflicts with the BGP spine-leaf fabric"},{"line_number":178,"context_line":"        # - test_snat_external_ip, test_default_sec_grp_scenarios,"},{"line_number":179,"context_line":"        #   test_connectivity_between_vms_on_different_networks,"},{"line_number":180,"context_line":"        #   test_network_basic_ops, test_subnet_details:"},{"line_number":181,"context_line":"        #     ping external gw IP from VM, which is not reachable"},{"line_number":182,"context_line":"        #     with the current BGP implementation"},{"line_number":183,"context_line":"        # - test_server_connectivity_rebuild: rebuilds with"},{"line_number":184,"context_line":"        #     image_ref_alt (ubuntu 2.2GB) which exceeds m1.nano"},{"line_number":185,"context_line":"        #     1GB disk; also image_alt_ssh_user mismatches"},{"line_number":186,"context_line":"        # - test_multicast: multicast not forwarded across the"},{"line_number":187,"context_line":"        #     routed spine-leaf fabric"},{"line_number":188,"context_line":"        # - test_vlan_transparency, test_trunk, test_mac_learning:"},{"line_number":189,"context_line":"        #     not relevant to BGP validation, too slow (1000s+) and"},{"line_number":190,"context_line":"        #     risks job timeout"},{"line_number":191,"context_line":"        tempest_exclude_regex: \"\\"},{"line_number":192,"context_line":"          (^neutron_tempest_plugin.scenario.test_port_forwardings)|\\"},{"line_number":193,"context_line":"          (^neutron_tempest_plugin.scenario.test_multiple_gws)|\\"},{"line_number":194,"context_line":"          (^neutron_tempest_plugin.scenario.test_floatingip.DefaultSnatToExternal.test_snat_external_ip)|\\"},{"line_number":195,"context_line":"          (^neutron_tempest_plugin.scenario.*test_default_sec_grp_scenarios)|\\"},{"line_number":196,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks)|\\"},{"line_number":197,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops)|\\"},{"line_number":198,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details)|\\"},{"line_number":199,"context_line":"          (^tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild)|\\"},{"line_number":200,"context_line":"          (^neutron_tempest_plugin.scenario.test_multicast)|\\"},{"line_number":201,"context_line":"          (^neutron_tempest_plugin.scenario.test_vlan_transparency)|\\"},{"line_number":202,"context_line":"          (^neutron_tempest_plugin.scenario.test_trunk)\""},{"line_number":203,"context_line":"      zbgp_compute:"},{"line_number":204,"context_line":"        devstack_localrc:"},{"line_number":205,"context_line":"          \u003c\u003c: *subnode_localrc"},{"line_number":206,"context_line":"          # Compute1-specific overrides"},{"line_number":207,"context_line":"          Q_PLUGIN: ml2"},{"line_number":208,"context_line":"          OVN_BUILD_FROM_SOURCE: True"},{"line_number":209,"context_line":"          NOVA_VNC_ENABLED: true"},{"line_number":210,"context_line":"          ENABLE_CHASSIS_AS_GW: false"},{"line_number":211,"context_line":"          LIBVIRT_TYPE: qemu"},{"line_number":212,"context_line":"          OVN_BRANCH: v26.03.0"},{"line_number":213,"context_line":"          OVS_BRANCH: v3.7.0"},{"line_number":214,"context_line":"          FRR_USE_BFD: True"},{"line_number":215,"context_line":"          ENABLE_FRR: True"},{"line_number":216,"context_line":"          FRR_BGP_ROUTER_ID: \u0027172.24.4.2\u0027"},{"line_number":217,"context_line":"          FRR_BGP_IPV6_SRC: \u00272001:db8::3\u0027"},{"line_number":218,"context_line":"          OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":219,"context_line":"          NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":220,"context_line":"          Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":221,"context_line":"        devstack_plugins:"},{"line_number":222,"context_line":"          neutron: https://opendev.org/openstack/neutron"},{"line_number":223,"context_line":"        devstack_services:"},{"line_number":224,"context_line":"          # Subnode base services"},{"line_number":225,"context_line":"          n-cpu: true"},{"line_number":226,"context_line":"          placement-client: true"},{"line_number":227,"context_line":"          memory_tracker: true"},{"line_number":228,"context_line":"          file_tracker: true"},{"line_number":229,"context_line":"          tls-proxy: true"},{"line_number":230,"context_line":"          dstat: false"},{"line_number":231,"context_line":"          horizon: false"},{"line_number":232,"context_line":"          tempest: false"},{"line_number":233,"context_line":"          # OVN services"},{"line_number":234,"context_line":"          q-ovn-agent: true"},{"line_number":235,"context_line":"          ovn-controller: true"},{"line_number":236,"context_line":"          ovs-vswitchd: true"},{"line_number":237,"context_line":"          ovsdb-server: true"},{"line_number":238,"context_line":"          ovn-northd: false"},{"line_number":239,"context_line":"          br-ex-tcpdump: false"},{"line_number":240,"context_line":"          br-int-flows: true"},{"line_number":241,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":242,"context_line":"          # Cinder services"},{"line_number":243,"context_line":"          c-api: false"},{"line_number":244,"context_line":"          c-bak: false"},{"line_number":245,"context_line":"          c-sch: false"},{"line_number":246,"context_line":"          c-vol: false"},{"line_number":247,"context_line":"          cinder: false"},{"line_number":248,"context_line":"          # Swift services"},{"line_number":249,"context_line":"          s-account: false"},{"line_number":250,"context_line":"          s-container-sync: false"},{"line_number":251,"context_line":"          s-container: false"},{"line_number":252,"context_line":"          s-object: false"},{"line_number":253,"context_line":"          s-proxy: false"},{"line_number":254,"context_line":"        devstack_local_conf:"},{"line_number":255,"context_line":"          post-config:"},{"line_number":256,"context_line":"            \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":257,"context_line":"              ovn:"},{"line_number":258,"context_line":"                enable_distributed_floating_ip: True"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0ddb75b1_ef392ce5","line":258,"range":{"start_line":43,"start_character":4,"end_line":258,"end_character":0},"updated":"2026-08-19 14:58:09.000000000","message":"The key \"post-run\" appears more than once; duplicate keys are not permitted.","commit_id":"1ee385bf60d34ca6e068dfef83fb8de87ed8b00c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"e0300c1db89e0004fcf14aee84e1f900c4851c0e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"          - compute1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- job:"},{"line_number":43,"context_line":"    name: neutron-ovn-bgp-tempest-multinode"},{"line_number":44,"context_line":"    parent: neutron-tempest-plugin-ovn"},{"line_number":45,"context_line":"    nodeset: neutron-five-node-noble-bgp"},{"line_number":46,"context_line":"    post-run: playbooks/wait_bgp.yaml"},{"line_number":47,"context_line":"    timeout: 10800"},{"line_number":48,"context_line":"    post-timeout: 9600"},{"line_number":49,"context_line":"    required-projects:"},{"line_number":50,"context_line":"      - openstack/devstack"},{"line_number":51,"context_line":"    vars:"},{"line_number":52,"context_line":"      devstack_localrc:"},{"line_number":53,"context_line":"        ENABLE_TLS: True"},{"line_number":54,"context_line":"        PUBLIC_SUBNET_ENABLE_DHCP: True"},{"line_number":55,"context_line":"        OVN_BUILD_FROM_SOURCE: True"},{"line_number":56,"context_line":"        OVN_BRANCH: v26.03.0"},{"line_number":57,"context_line":"        OVS_BRANCH: v3.7.0"},{"line_number":58,"context_line":"        FRR_USE_BFD: True"},{"line_number":59,"context_line":"        ENABLE_FRR: True"},{"line_number":60,"context_line":"        FRR_BGP_ROUTER_ID: \u0027172.24.4.1\u0027"},{"line_number":61,"context_line":"        FRR_BGP_IPV6_SRC: \u00272001:db8::2\u0027"},{"line_number":62,"context_line":"        OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":63,"context_line":"        NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":64,"context_line":"        Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        q-ovn-bgp: true"},{"line_number":67,"context_line":"        tls-proxy: true"},{"line_number":68,"context_line":"        tempest: false"},{"line_number":69,"context_line":"      devstack_plugins:"},{"line_number":70,"context_line":"        neutron: https://opendev.org/openstack/neutron"},{"line_number":71,"context_line":"        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":72,"context_line":"      zuul_copy_output:"},{"line_number":73,"context_line":"        \u0027/var/log/frr\u0027: \u0027logs\u0027"},{"line_number":74,"context_line":"        \u0027/var/log/ovn\u0027: \u0027logs\u0027"},{"line_number":75,"context_line":"        \u0027/var/log/openvswitch\u0027: \u0027logs\u0027"},{"line_number":76,"context_line":"        \u0027/var/lib/ovn\u0027: \u0027logs\u0027"},{"line_number":77,"context_line":"        \u0027/etc/frr\u0027: \u0027logs\u0027"},{"line_number":78,"context_line":"      devstack_local_conf:"},{"line_number":79,"context_line":"        post-config:"},{"line_number":80,"context_line":"          \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":81,"context_line":"            ovn:"},{"line_number":82,"context_line":"              enable_distributed_floating_ip: True"},{"line_number":83,"context_line":"    pre-run: playbooks/configure_bgp_networking.yaml"},{"line_number":84,"context_line":"    post-run: playbooks/collect_bgp_diagnostics.yaml"},{"line_number":85,"context_line":"    group-vars:"},{"line_number":86,"context_line":"      # The tempest and zbgp_compute groups sort after subnode, so their"},{"line_number":87,"context_line":"      # devstack_localrc replaces (not merges with) the subnode group-vars."},{"line_number":88,"context_line":"      # We must repeat the base subnode settings needed by stack.sh."},{"line_number":89,"context_line":"      tempest:"},{"line_number":90,"context_line":"        devstack_localrc: \u0026subnode_localrc"},{"line_number":91,"context_line":"          DATABASE_PASSWORD: secretdatabase"},{"line_number":92,"context_line":"          RABBIT_PASSWORD: secretrabbit"},{"line_number":93,"context_line":"          ADMIN_PASSWORD: secretadmin"},{"line_number":94,"context_line":"          SERVICE_PASSWORD: secretservice"},{"line_number":95,"context_line":"          GLANCE_HOSTPORT: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}:9292\""},{"line_number":96,"context_line":"          Q_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":97,"context_line":"          DATABASE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":98,"context_line":"          RABBIT_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":99,"context_line":"          SERVICE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":100,"context_line":"          HOST_IP: \"{{ hostvars[inventory_hostname][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":101,"context_line":"          LOGFILE: /opt/stack/logs/devstacklog.txt"},{"line_number":102,"context_line":"          LOG_COLOR: false"},{"line_number":103,"context_line":"          VERBOSE: true"},{"line_number":104,"context_line":"          VERBOSE_NO_TIMESTAMP: true"},{"line_number":105,"context_line":"          LIBS_FROM_GIT: neutron-tempest-plugin"},{"line_number":106,"context_line":"          OVN_BUILD_FROM_SOURCE: False"},{"line_number":107,"context_line":"          Q_PLUGIN: \"noop\""},{"line_number":108,"context_line":"          SERVICES_FOR_TEMPEST: neutron,nova,keystone,glance"},{"line_number":109,"context_line":"          IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"},{"line_number":110,"context_line":"          ADVANCED_IMAGE_NAME: ubuntu-22.04-minimal-cloudimg-amd64"},{"line_number":111,"context_line":"          ADVANCED_INSTANCE_TYPE: ntp_image_256M"},{"line_number":112,"context_line":"          ADVANCED_INSTANCE_USER: ubuntu"},{"line_number":113,"context_line":"          CUSTOMIZE_IMAGE: true"},{"line_number":114,"context_line":"          BUILD_TIMEOUT: 784"},{"line_number":115,"context_line":"          LIVE_MIGRATION_AVAILABLE: True"},{"line_number":116,"context_line":"          USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: True"},{"line_number":117,"context_line":"        devstack_plugins:"},{"line_number":118,"context_line":"          neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":119,"context_line":"        devstack_services:"},{"line_number":120,"context_line":"          tls-proxy: true"},{"line_number":121,"context_line":"          tempest: true"},{"line_number":122,"context_line":"          etcd3: false"},{"line_number":123,"context_line":"          mysql: false"},{"line_number":124,"context_line":"          c-api: false"},{"line_number":125,"context_line":"          c-bak: false"},{"line_number":126,"context_line":"          c-sch: false"},{"line_number":127,"context_line":"          c-vol: false"},{"line_number":128,"context_line":"          cinder: false"},{"line_number":129,"context_line":"          n-api: false"},{"line_number":130,"context_line":"          n-api-meta: false"},{"line_number":131,"context_line":"          n-cond: false"},{"line_number":132,"context_line":"          n-cpu: false"},{"line_number":133,"context_line":"          n-novnc: false"},{"line_number":134,"context_line":"          n-sch: false"},{"line_number":135,"context_line":"          placement-api: false"},{"line_number":136,"context_line":"          br-ex-tcpdump: false"},{"line_number":137,"context_line":"          br-int-flows: false"},{"line_number":138,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":139,"context_line":"          q-ovn-agent: false"},{"line_number":140,"context_line":"          ovn-bgp: false"},{"line_number":141,"context_line":"          ovn-controller: false"},{"line_number":142,"context_line":"          ovn-northd: false"},{"line_number":143,"context_line":"          ovs-vswitchd: false"},{"line_number":144,"context_line":"          ovsdb-server: false"},{"line_number":145,"context_line":"          neutron-dns: false"},{"line_number":146,"context_line":"          neutron-log: false"},{"line_number":147,"context_line":"          neutron-qos: false"},{"line_number":148,"context_line":"          neutron-segments: false"},{"line_number":149,"context_line":"          neutron-trunk: false"},{"line_number":150,"context_line":"          neutron-uplink-status-propagation: false"},{"line_number":151,"context_line":"          neutron-network-segment-range: false"},{"line_number":152,"context_line":"          neutron-port-forwarding: false"},{"line_number":153,"context_line":"          neutron-conntrack-helper: false"},{"line_number":154,"context_line":"          neutron-tag-ports-during-bulk-creation: false"},{"line_number":155,"context_line":"          neutron-ndp-proxy: false"},{"line_number":156,"context_line":"          neutron-subnet-external-network: false"},{"line_number":157,"context_line":"          neutron-port-trusted-vif: false"},{"line_number":158,"context_line":"        devstack_local_conf:"},{"line_number":159,"context_line":"          post-config: {}"},{"line_number":160,"context_line":"          test-config:"},{"line_number":161,"context_line":"            $TEMPEST_CONFIG:"},{"line_number":162,"context_line":"              service_available:"},{"line_number":163,"context_line":"                neutron: True"},{"line_number":164,"context_line":"                nova: True"},{"line_number":165,"context_line":"                glance: True"},{"line_number":166,"context_line":"                key: True"},{"line_number":167,"context_line":"              compute:"},{"line_number":168,"context_line":"                min_compute_nodes: 2"},{"line_number":169,"context_line":"              neutron_plugin_options:"},{"line_number":170,"context_line":"                firewall_driver: ovn"},{"line_number":171,"context_line":"        tempest_concurrency: 4"},{"line_number":172,"context_line":"        tempest_test_regex: \"(^neutron_tempest_plugin.scenario.test_ovn_bgp)\""},{"line_number":173,"context_line":"        # Excluded tests and reasons:"},{"line_number":174,"context_line":"        # - test_port_forwardings: FIP port forwarding not supported"},{"line_number":175,"context_line":"        #     by OVN BGP Agent"},{"line_number":176,"context_line":"        # - test_multiple_gws: creates its own FRR/BFD on br-ex,"},{"line_number":177,"context_line":"        #     conflicts with the BGP spine-leaf fabric"},{"line_number":178,"context_line":"        # - test_snat_external_ip, test_default_sec_grp_scenarios,"},{"line_number":179,"context_line":"        #   test_connectivity_between_vms_on_different_networks,"},{"line_number":180,"context_line":"        #   test_network_basic_ops, test_subnet_details:"},{"line_number":181,"context_line":"        #     ping external gw IP from VM, which is not reachable"},{"line_number":182,"context_line":"        #     with the current BGP implementation"},{"line_number":183,"context_line":"        # - test_server_connectivity_rebuild: rebuilds with"},{"line_number":184,"context_line":"        #     image_ref_alt (ubuntu 2.2GB) which exceeds m1.nano"},{"line_number":185,"context_line":"        #     1GB disk; also image_alt_ssh_user mismatches"},{"line_number":186,"context_line":"        # - test_multicast: multicast not forwarded across the"},{"line_number":187,"context_line":"        #     routed spine-leaf fabric"},{"line_number":188,"context_line":"        # - test_vlan_transparency, test_trunk, test_mac_learning:"},{"line_number":189,"context_line":"        #     not relevant to BGP validation, too slow (1000s+) and"},{"line_number":190,"context_line":"        #     risks job timeout"},{"line_number":191,"context_line":"        tempest_exclude_regex: \"\\"},{"line_number":192,"context_line":"          (^neutron_tempest_plugin.scenario.test_port_forwardings)|\\"},{"line_number":193,"context_line":"          (^neutron_tempest_plugin.scenario.test_multiple_gws)|\\"},{"line_number":194,"context_line":"          (^neutron_tempest_plugin.scenario.test_floatingip.DefaultSnatToExternal.test_snat_external_ip)|\\"},{"line_number":195,"context_line":"          (^neutron_tempest_plugin.scenario.*test_default_sec_grp_scenarios)|\\"},{"line_number":196,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks)|\\"},{"line_number":197,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops)|\\"},{"line_number":198,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details)|\\"},{"line_number":199,"context_line":"          (^tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild)|\\"},{"line_number":200,"context_line":"          (^neutron_tempest_plugin.scenario.test_multicast)|\\"},{"line_number":201,"context_line":"          (^neutron_tempest_plugin.scenario.test_vlan_transparency)|\\"},{"line_number":202,"context_line":"          (^neutron_tempest_plugin.scenario.test_trunk)\""},{"line_number":203,"context_line":"      zbgp_compute:"},{"line_number":204,"context_line":"        devstack_localrc:"},{"line_number":205,"context_line":"          \u003c\u003c: *subnode_localrc"},{"line_number":206,"context_line":"          # Compute1-specific overrides"},{"line_number":207,"context_line":"          Q_PLUGIN: ml2"},{"line_number":208,"context_line":"          OVN_BUILD_FROM_SOURCE: True"},{"line_number":209,"context_line":"          NOVA_VNC_ENABLED: true"},{"line_number":210,"context_line":"          ENABLE_CHASSIS_AS_GW: false"},{"line_number":211,"context_line":"          LIBVIRT_TYPE: qemu"},{"line_number":212,"context_line":"          OVN_BRANCH: v26.03.0"},{"line_number":213,"context_line":"          OVS_BRANCH: v3.7.0"},{"line_number":214,"context_line":"          FRR_USE_BFD: True"},{"line_number":215,"context_line":"          ENABLE_FRR: True"},{"line_number":216,"context_line":"          FRR_BGP_ROUTER_ID: \u0027172.24.4.2\u0027"},{"line_number":217,"context_line":"          FRR_BGP_IPV6_SRC: \u00272001:db8::3\u0027"},{"line_number":218,"context_line":"          OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":219,"context_line":"          NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":220,"context_line":"          Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":221,"context_line":"        devstack_plugins:"},{"line_number":222,"context_line":"          neutron: https://opendev.org/openstack/neutron"},{"line_number":223,"context_line":"        devstack_services:"},{"line_number":224,"context_line":"          # Subnode base services"},{"line_number":225,"context_line":"          n-cpu: true"},{"line_number":226,"context_line":"          placement-client: true"},{"line_number":227,"context_line":"          memory_tracker: true"},{"line_number":228,"context_line":"          file_tracker: true"},{"line_number":229,"context_line":"          tls-proxy: true"},{"line_number":230,"context_line":"          dstat: false"},{"line_number":231,"context_line":"          horizon: false"},{"line_number":232,"context_line":"          tempest: false"},{"line_number":233,"context_line":"          # OVN services"},{"line_number":234,"context_line":"          q-ovn-agent: true"},{"line_number":235,"context_line":"          ovn-controller: true"},{"line_number":236,"context_line":"          ovs-vswitchd: true"},{"line_number":237,"context_line":"          ovsdb-server: true"},{"line_number":238,"context_line":"          ovn-northd: false"},{"line_number":239,"context_line":"          br-ex-tcpdump: false"},{"line_number":240,"context_line":"          br-int-flows: true"},{"line_number":241,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":242,"context_line":"          # Cinder services"},{"line_number":243,"context_line":"          c-api: false"},{"line_number":244,"context_line":"          c-bak: false"},{"line_number":245,"context_line":"          c-sch: false"},{"line_number":246,"context_line":"          c-vol: false"},{"line_number":247,"context_line":"          cinder: false"},{"line_number":248,"context_line":"          # Swift services"},{"line_number":249,"context_line":"          s-account: false"},{"line_number":250,"context_line":"          s-container-sync: false"},{"line_number":251,"context_line":"          s-container: false"},{"line_number":252,"context_line":"          s-object: false"},{"line_number":253,"context_line":"          s-proxy: false"},{"line_number":254,"context_line":"        devstack_local_conf:"},{"line_number":255,"context_line":"          post-config:"},{"line_number":256,"context_line":"            \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":257,"context_line":"              ovn:"},{"line_number":258,"context_line":"                enable_distributed_floating_ip: True"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"41196dce_e8fc883a","line":258,"range":{"start_line":43,"start_character":4,"end_line":258,"end_character":0},"updated":"2026-08-19 14:57:32.000000000","message":"The key \"post-run\" appears more than once; duplicate keys are not permitted.","commit_id":"1ee385bf60d34ca6e068dfef83fb8de87ed8b00c"},{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"03752607316346c1918e4478e832eff794824f37","unresolved":false,"context_lines":[{"line_number":40,"context_line":"          - compute1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- job:"},{"line_number":43,"context_line":"    name: neutron-ovn-bgp-tempest-multinode"},{"line_number":44,"context_line":"    parent: neutron-tempest-plugin-ovn"},{"line_number":45,"context_line":"    nodeset: neutron-five-node-noble-bgp"},{"line_number":46,"context_line":"    post-run: playbooks/wait_bgp.yaml"},{"line_number":47,"context_line":"    timeout: 10800"},{"line_number":48,"context_line":"    post-timeout: 9600"},{"line_number":49,"context_line":"    required-projects:"},{"line_number":50,"context_line":"      - openstack/devstack"},{"line_number":51,"context_line":"    vars:"},{"line_number":52,"context_line":"      devstack_localrc:"},{"line_number":53,"context_line":"        ENABLE_TLS: True"},{"line_number":54,"context_line":"        PUBLIC_SUBNET_ENABLE_DHCP: True"},{"line_number":55,"context_line":"        OVN_BUILD_FROM_SOURCE: True"},{"line_number":56,"context_line":"        OVN_BRANCH: v26.03.0"},{"line_number":57,"context_line":"        OVS_BRANCH: v3.7.0"},{"line_number":58,"context_line":"        FRR_USE_BFD: True"},{"line_number":59,"context_line":"        ENABLE_FRR: True"},{"line_number":60,"context_line":"        FRR_BGP_ROUTER_ID: \u0027172.24.4.1\u0027"},{"line_number":61,"context_line":"        FRR_BGP_IPV6_SRC: \u00272001:db8::2\u0027"},{"line_number":62,"context_line":"        OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":63,"context_line":"        NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":64,"context_line":"        Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        q-ovn-bgp: true"},{"line_number":67,"context_line":"        tls-proxy: true"},{"line_number":68,"context_line":"        tempest: false"},{"line_number":69,"context_line":"      devstack_plugins:"},{"line_number":70,"context_line":"        neutron: https://opendev.org/openstack/neutron"},{"line_number":71,"context_line":"        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":72,"context_line":"      zuul_copy_output:"},{"line_number":73,"context_line":"        \u0027/var/log/frr\u0027: \u0027logs\u0027"},{"line_number":74,"context_line":"        \u0027/var/log/ovn\u0027: \u0027logs\u0027"},{"line_number":75,"context_line":"        \u0027/var/log/openvswitch\u0027: \u0027logs\u0027"},{"line_number":76,"context_line":"        \u0027/var/lib/ovn\u0027: \u0027logs\u0027"},{"line_number":77,"context_line":"        \u0027/etc/frr\u0027: \u0027logs\u0027"},{"line_number":78,"context_line":"      devstack_local_conf:"},{"line_number":79,"context_line":"        post-config:"},{"line_number":80,"context_line":"          \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":81,"context_line":"            ovn:"},{"line_number":82,"context_line":"              enable_distributed_floating_ip: True"},{"line_number":83,"context_line":"    pre-run: playbooks/configure_bgp_networking.yaml"},{"line_number":84,"context_line":"    post-run: playbooks/collect_bgp_diagnostics.yaml"},{"line_number":85,"context_line":"    group-vars:"},{"line_number":86,"context_line":"      # The tempest and zbgp_compute groups sort after subnode, so their"},{"line_number":87,"context_line":"      # devstack_localrc replaces (not merges with) the subnode group-vars."},{"line_number":88,"context_line":"      # We must repeat the base subnode settings needed by stack.sh."},{"line_number":89,"context_line":"      tempest:"},{"line_number":90,"context_line":"        devstack_localrc: \u0026subnode_localrc"},{"line_number":91,"context_line":"          DATABASE_PASSWORD: secretdatabase"},{"line_number":92,"context_line":"          RABBIT_PASSWORD: secretrabbit"},{"line_number":93,"context_line":"          ADMIN_PASSWORD: secretadmin"},{"line_number":94,"context_line":"          SERVICE_PASSWORD: secretservice"},{"line_number":95,"context_line":"          GLANCE_HOSTPORT: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}:9292\""},{"line_number":96,"context_line":"          Q_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":97,"context_line":"          DATABASE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":98,"context_line":"          RABBIT_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":99,"context_line":"          SERVICE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":100,"context_line":"          HOST_IP: \"{{ hostvars[inventory_hostname][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":101,"context_line":"          LOGFILE: /opt/stack/logs/devstacklog.txt"},{"line_number":102,"context_line":"          LOG_COLOR: false"},{"line_number":103,"context_line":"          VERBOSE: true"},{"line_number":104,"context_line":"          VERBOSE_NO_TIMESTAMP: true"},{"line_number":105,"context_line":"          LIBS_FROM_GIT: neutron-tempest-plugin"},{"line_number":106,"context_line":"          OVN_BUILD_FROM_SOURCE: False"},{"line_number":107,"context_line":"          Q_PLUGIN: \"noop\""},{"line_number":108,"context_line":"          SERVICES_FOR_TEMPEST: neutron,nova,keystone,glance"},{"line_number":109,"context_line":"          IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"},{"line_number":110,"context_line":"          ADVANCED_IMAGE_NAME: ubuntu-22.04-minimal-cloudimg-amd64"},{"line_number":111,"context_line":"          ADVANCED_INSTANCE_TYPE: ntp_image_256M"},{"line_number":112,"context_line":"          ADVANCED_INSTANCE_USER: ubuntu"},{"line_number":113,"context_line":"          CUSTOMIZE_IMAGE: true"},{"line_number":114,"context_line":"          BUILD_TIMEOUT: 784"},{"line_number":115,"context_line":"          LIVE_MIGRATION_AVAILABLE: True"},{"line_number":116,"context_line":"          USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: True"},{"line_number":117,"context_line":"        devstack_plugins:"},{"line_number":118,"context_line":"          neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":119,"context_line":"        devstack_services:"},{"line_number":120,"context_line":"          tls-proxy: true"},{"line_number":121,"context_line":"          tempest: true"},{"line_number":122,"context_line":"          etcd3: false"},{"line_number":123,"context_line":"          mysql: false"},{"line_number":124,"context_line":"          c-api: false"},{"line_number":125,"context_line":"          c-bak: false"},{"line_number":126,"context_line":"          c-sch: false"},{"line_number":127,"context_line":"          c-vol: false"},{"line_number":128,"context_line":"          cinder: false"},{"line_number":129,"context_line":"          n-api: false"},{"line_number":130,"context_line":"          n-api-meta: false"},{"line_number":131,"context_line":"          n-cond: false"},{"line_number":132,"context_line":"          n-cpu: false"},{"line_number":133,"context_line":"          n-novnc: false"},{"line_number":134,"context_line":"          n-sch: false"},{"line_number":135,"context_line":"          placement-api: false"},{"line_number":136,"context_line":"          br-ex-tcpdump: false"},{"line_number":137,"context_line":"          br-int-flows: false"},{"line_number":138,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":139,"context_line":"          q-ovn-agent: false"},{"line_number":140,"context_line":"          ovn-bgp: false"},{"line_number":141,"context_line":"          ovn-controller: false"},{"line_number":142,"context_line":"          ovn-northd: false"},{"line_number":143,"context_line":"          ovs-vswitchd: false"},{"line_number":144,"context_line":"          ovsdb-server: false"},{"line_number":145,"context_line":"          neutron-dns: false"},{"line_number":146,"context_line":"          neutron-log: false"},{"line_number":147,"context_line":"          neutron-qos: false"},{"line_number":148,"context_line":"          neutron-segments: false"},{"line_number":149,"context_line":"          neutron-trunk: false"},{"line_number":150,"context_line":"          neutron-uplink-status-propagation: false"},{"line_number":151,"context_line":"          neutron-network-segment-range: false"},{"line_number":152,"context_line":"          neutron-port-forwarding: false"},{"line_number":153,"context_line":"          neutron-conntrack-helper: false"},{"line_number":154,"context_line":"          neutron-tag-ports-during-bulk-creation: false"},{"line_number":155,"context_line":"          neutron-ndp-proxy: false"},{"line_number":156,"context_line":"          neutron-subnet-external-network: false"},{"line_number":157,"context_line":"          neutron-port-trusted-vif: false"},{"line_number":158,"context_line":"        devstack_local_conf:"},{"line_number":159,"context_line":"          post-config: {}"},{"line_number":160,"context_line":"          test-config:"},{"line_number":161,"context_line":"            $TEMPEST_CONFIG:"},{"line_number":162,"context_line":"              service_available:"},{"line_number":163,"context_line":"                neutron: True"},{"line_number":164,"context_line":"                nova: True"},{"line_number":165,"context_line":"                glance: True"},{"line_number":166,"context_line":"                key: True"},{"line_number":167,"context_line":"              compute:"},{"line_number":168,"context_line":"                min_compute_nodes: 2"},{"line_number":169,"context_line":"              neutron_plugin_options:"},{"line_number":170,"context_line":"                firewall_driver: ovn"},{"line_number":171,"context_line":"        tempest_concurrency: 4"},{"line_number":172,"context_line":"        tempest_test_regex: \"(^neutron_tempest_plugin.scenario.test_ovn_bgp)\""},{"line_number":173,"context_line":"        # Excluded tests and reasons:"},{"line_number":174,"context_line":"        # - test_port_forwardings: FIP port forwarding not supported"},{"line_number":175,"context_line":"        #     by OVN BGP Agent"},{"line_number":176,"context_line":"        # - test_multiple_gws: creates its own FRR/BFD on br-ex,"},{"line_number":177,"context_line":"        #     conflicts with the BGP spine-leaf fabric"},{"line_number":178,"context_line":"        # - test_snat_external_ip, test_default_sec_grp_scenarios,"},{"line_number":179,"context_line":"        #   test_connectivity_between_vms_on_different_networks,"},{"line_number":180,"context_line":"        #   test_network_basic_ops, test_subnet_details:"},{"line_number":181,"context_line":"        #     ping external gw IP from VM, which is not reachable"},{"line_number":182,"context_line":"        #     with the current BGP implementation"},{"line_number":183,"context_line":"        # - test_server_connectivity_rebuild: rebuilds with"},{"line_number":184,"context_line":"        #     image_ref_alt (ubuntu 2.2GB) which exceeds m1.nano"},{"line_number":185,"context_line":"        #     1GB disk; also image_alt_ssh_user mismatches"},{"line_number":186,"context_line":"        # - test_multicast: multicast not forwarded across the"},{"line_number":187,"context_line":"        #     routed spine-leaf fabric"},{"line_number":188,"context_line":"        # - test_vlan_transparency, test_trunk, test_mac_learning:"},{"line_number":189,"context_line":"        #     not relevant to BGP validation, too slow (1000s+) and"},{"line_number":190,"context_line":"        #     risks job timeout"},{"line_number":191,"context_line":"        tempest_exclude_regex: \"\\"},{"line_number":192,"context_line":"          (^neutron_tempest_plugin.scenario.test_port_forwardings)|\\"},{"line_number":193,"context_line":"          (^neutron_tempest_plugin.scenario.test_multiple_gws)|\\"},{"line_number":194,"context_line":"          (^neutron_tempest_plugin.scenario.test_floatingip.DefaultSnatToExternal.test_snat_external_ip)|\\"},{"line_number":195,"context_line":"          (^neutron_tempest_plugin.scenario.*test_default_sec_grp_scenarios)|\\"},{"line_number":196,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks)|\\"},{"line_number":197,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops)|\\"},{"line_number":198,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details)|\\"},{"line_number":199,"context_line":"          (^tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild)|\\"},{"line_number":200,"context_line":"          (^neutron_tempest_plugin.scenario.test_multicast)|\\"},{"line_number":201,"context_line":"          (^neutron_tempest_plugin.scenario.test_vlan_transparency)|\\"},{"line_number":202,"context_line":"          (^neutron_tempest_plugin.scenario.test_trunk)\""},{"line_number":203,"context_line":"      zbgp_compute:"},{"line_number":204,"context_line":"        devstack_localrc:"},{"line_number":205,"context_line":"          \u003c\u003c: *subnode_localrc"},{"line_number":206,"context_line":"          # Compute1-specific overrides"},{"line_number":207,"context_line":"          Q_PLUGIN: ml2"},{"line_number":208,"context_line":"          OVN_BUILD_FROM_SOURCE: True"},{"line_number":209,"context_line":"          NOVA_VNC_ENABLED: true"},{"line_number":210,"context_line":"          ENABLE_CHASSIS_AS_GW: false"},{"line_number":211,"context_line":"          LIBVIRT_TYPE: qemu"},{"line_number":212,"context_line":"          OVN_BRANCH: v26.03.0"},{"line_number":213,"context_line":"          OVS_BRANCH: v3.7.0"},{"line_number":214,"context_line":"          FRR_USE_BFD: True"},{"line_number":215,"context_line":"          ENABLE_FRR: True"},{"line_number":216,"context_line":"          FRR_BGP_ROUTER_ID: \u0027172.24.4.2\u0027"},{"line_number":217,"context_line":"          FRR_BGP_IPV6_SRC: \u00272001:db8::3\u0027"},{"line_number":218,"context_line":"          OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":219,"context_line":"          NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":220,"context_line":"          Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":221,"context_line":"        devstack_plugins:"},{"line_number":222,"context_line":"          neutron: https://opendev.org/openstack/neutron"},{"line_number":223,"context_line":"        devstack_services:"},{"line_number":224,"context_line":"          # Subnode base services"},{"line_number":225,"context_line":"          n-cpu: true"},{"line_number":226,"context_line":"          placement-client: true"},{"line_number":227,"context_line":"          memory_tracker: true"},{"line_number":228,"context_line":"          file_tracker: true"},{"line_number":229,"context_line":"          tls-proxy: true"},{"line_number":230,"context_line":"          dstat: false"},{"line_number":231,"context_line":"          horizon: false"},{"line_number":232,"context_line":"          tempest: false"},{"line_number":233,"context_line":"          # OVN services"},{"line_number":234,"context_line":"          q-ovn-agent: true"},{"line_number":235,"context_line":"          ovn-controller: true"},{"line_number":236,"context_line":"          ovs-vswitchd: true"},{"line_number":237,"context_line":"          ovsdb-server: true"},{"line_number":238,"context_line":"          ovn-northd: false"},{"line_number":239,"context_line":"          br-ex-tcpdump: false"},{"line_number":240,"context_line":"          br-int-flows: true"},{"line_number":241,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":242,"context_line":"          # Cinder services"},{"line_number":243,"context_line":"          c-api: false"},{"line_number":244,"context_line":"          c-bak: false"},{"line_number":245,"context_line":"          c-sch: false"},{"line_number":246,"context_line":"          c-vol: false"},{"line_number":247,"context_line":"          cinder: false"},{"line_number":248,"context_line":"          # Swift services"},{"line_number":249,"context_line":"          s-account: false"},{"line_number":250,"context_line":"          s-container-sync: false"},{"line_number":251,"context_line":"          s-container: false"},{"line_number":252,"context_line":"          s-object: false"},{"line_number":253,"context_line":"          s-proxy: false"},{"line_number":254,"context_line":"        devstack_local_conf:"},{"line_number":255,"context_line":"          post-config:"},{"line_number":256,"context_line":"            \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":257,"context_line":"              ovn:"},{"line_number":258,"context_line":"                enable_distributed_floating_ip: True"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"894ea4f1_0c5bf764","line":258,"range":{"start_line":43,"start_character":4,"end_line":258,"end_character":0},"updated":"2026-08-19 14:56:38.000000000","message":"The key \"post-run\" appears more than once; duplicate keys are not permitted.","commit_id":"1ee385bf60d34ca6e068dfef83fb8de87ed8b00c"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9be297b59f40695ddf7244676eb97e6c62a86c93","unresolved":false,"context_lines":[{"line_number":40,"context_line":"          - compute1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- job:"},{"line_number":43,"context_line":"    name: neutron-ovn-bgp-tempest-multinode"},{"line_number":44,"context_line":"    parent: neutron-tempest-plugin-ovn"},{"line_number":45,"context_line":"    nodeset: neutron-five-node-noble-bgp"},{"line_number":46,"context_line":"    post-run: playbooks/wait_bgp.yaml"},{"line_number":47,"context_line":"    timeout: 10800"},{"line_number":48,"context_line":"    post-timeout: 9600"},{"line_number":49,"context_line":"    required-projects:"},{"line_number":50,"context_line":"      - openstack/devstack"},{"line_number":51,"context_line":"    vars:"},{"line_number":52,"context_line":"      devstack_localrc:"},{"line_number":53,"context_line":"        ENABLE_TLS: True"},{"line_number":54,"context_line":"        PUBLIC_SUBNET_ENABLE_DHCP: True"},{"line_number":55,"context_line":"        OVN_BUILD_FROM_SOURCE: True"},{"line_number":56,"context_line":"        OVN_BRANCH: v26.03.0"},{"line_number":57,"context_line":"        OVS_BRANCH: v3.7.0"},{"line_number":58,"context_line":"        FRR_USE_BFD: True"},{"line_number":59,"context_line":"        ENABLE_FRR: True"},{"line_number":60,"context_line":"        FRR_BGP_ROUTER_ID: \u0027172.24.4.1\u0027"},{"line_number":61,"context_line":"        FRR_BGP_IPV6_SRC: \u00272001:db8::2\u0027"},{"line_number":62,"context_line":"        OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":63,"context_line":"        NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":64,"context_line":"        Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        q-ovn-bgp: true"},{"line_number":67,"context_line":"        tls-proxy: true"},{"line_number":68,"context_line":"        tempest: false"},{"line_number":69,"context_line":"      devstack_plugins:"},{"line_number":70,"context_line":"        neutron: https://opendev.org/openstack/neutron"},{"line_number":71,"context_line":"        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":72,"context_line":"      zuul_copy_output:"},{"line_number":73,"context_line":"        \u0027/var/log/frr\u0027: \u0027logs\u0027"},{"line_number":74,"context_line":"        \u0027/var/log/ovn\u0027: \u0027logs\u0027"},{"line_number":75,"context_line":"        \u0027/var/log/openvswitch\u0027: \u0027logs\u0027"},{"line_number":76,"context_line":"        \u0027/var/lib/ovn\u0027: \u0027logs\u0027"},{"line_number":77,"context_line":"        \u0027/etc/frr\u0027: \u0027logs\u0027"},{"line_number":78,"context_line":"      devstack_local_conf:"},{"line_number":79,"context_line":"        post-config:"},{"line_number":80,"context_line":"          \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":81,"context_line":"            ovn:"},{"line_number":82,"context_line":"              enable_distributed_floating_ip: True"},{"line_number":83,"context_line":"    pre-run: playbooks/configure_bgp_networking.yaml"},{"line_number":84,"context_line":"    post-run: playbooks/collect_bgp_diagnostics.yaml"},{"line_number":85,"context_line":"    group-vars:"},{"line_number":86,"context_line":"      # The tempest and zbgp_compute groups sort after subnode, so their"},{"line_number":87,"context_line":"      # devstack_localrc replaces (not merges with) the subnode group-vars."},{"line_number":88,"context_line":"      # We must repeat the base subnode settings needed by stack.sh."},{"line_number":89,"context_line":"      tempest:"},{"line_number":90,"context_line":"        devstack_localrc: \u0026subnode_localrc"},{"line_number":91,"context_line":"          DATABASE_PASSWORD: secretdatabase"},{"line_number":92,"context_line":"          RABBIT_PASSWORD: secretrabbit"},{"line_number":93,"context_line":"          ADMIN_PASSWORD: secretadmin"},{"line_number":94,"context_line":"          SERVICE_PASSWORD: secretservice"},{"line_number":95,"context_line":"          GLANCE_HOSTPORT: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}:9292\""},{"line_number":96,"context_line":"          Q_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":97,"context_line":"          DATABASE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":98,"context_line":"          RABBIT_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":99,"context_line":"          SERVICE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":100,"context_line":"          HOST_IP: \"{{ hostvars[inventory_hostname][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":101,"context_line":"          LOGFILE: /opt/stack/logs/devstacklog.txt"},{"line_number":102,"context_line":"          LOG_COLOR: false"},{"line_number":103,"context_line":"          VERBOSE: true"},{"line_number":104,"context_line":"          VERBOSE_NO_TIMESTAMP: true"},{"line_number":105,"context_line":"          LIBS_FROM_GIT: neutron-tempest-plugin"},{"line_number":106,"context_line":"          OVN_BUILD_FROM_SOURCE: False"},{"line_number":107,"context_line":"          Q_PLUGIN: \"noop\""},{"line_number":108,"context_line":"          SERVICES_FOR_TEMPEST: neutron,nova,keystone,glance"},{"line_number":109,"context_line":"          IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"},{"line_number":110,"context_line":"          ADVANCED_IMAGE_NAME: ubuntu-22.04-minimal-cloudimg-amd64"},{"line_number":111,"context_line":"          ADVANCED_INSTANCE_TYPE: ntp_image_256M"},{"line_number":112,"context_line":"          ADVANCED_INSTANCE_USER: ubuntu"},{"line_number":113,"context_line":"          CUSTOMIZE_IMAGE: true"},{"line_number":114,"context_line":"          BUILD_TIMEOUT: 784"},{"line_number":115,"context_line":"          LIVE_MIGRATION_AVAILABLE: True"},{"line_number":116,"context_line":"          USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: True"},{"line_number":117,"context_line":"        devstack_plugins:"},{"line_number":118,"context_line":"          neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":119,"context_line":"        devstack_services:"},{"line_number":120,"context_line":"          tls-proxy: true"},{"line_number":121,"context_line":"          tempest: true"},{"line_number":122,"context_line":"          etcd3: false"},{"line_number":123,"context_line":"          mysql: false"},{"line_number":124,"context_line":"          c-api: false"},{"line_number":125,"context_line":"          c-bak: false"},{"line_number":126,"context_line":"          c-sch: false"},{"line_number":127,"context_line":"          c-vol: false"},{"line_number":128,"context_line":"          cinder: false"},{"line_number":129,"context_line":"          n-api: false"},{"line_number":130,"context_line":"          n-api-meta: false"},{"line_number":131,"context_line":"          n-cond: false"},{"line_number":132,"context_line":"          n-cpu: false"},{"line_number":133,"context_line":"          n-novnc: false"},{"line_number":134,"context_line":"          n-sch: false"},{"line_number":135,"context_line":"          placement-api: false"},{"line_number":136,"context_line":"          br-ex-tcpdump: false"},{"line_number":137,"context_line":"          br-int-flows: false"},{"line_number":138,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":139,"context_line":"          q-ovn-agent: false"},{"line_number":140,"context_line":"          ovn-bgp: false"},{"line_number":141,"context_line":"          ovn-controller: false"},{"line_number":142,"context_line":"          ovn-northd: false"},{"line_number":143,"context_line":"          ovs-vswitchd: false"},{"line_number":144,"context_line":"          ovsdb-server: false"},{"line_number":145,"context_line":"          neutron-dns: false"},{"line_number":146,"context_line":"          neutron-log: false"},{"line_number":147,"context_line":"          neutron-qos: false"},{"line_number":148,"context_line":"          neutron-segments: false"},{"line_number":149,"context_line":"          neutron-trunk: false"},{"line_number":150,"context_line":"          neutron-uplink-status-propagation: false"},{"line_number":151,"context_line":"          neutron-network-segment-range: false"},{"line_number":152,"context_line":"          neutron-port-forwarding: false"},{"line_number":153,"context_line":"          neutron-conntrack-helper: false"},{"line_number":154,"context_line":"          neutron-tag-ports-during-bulk-creation: false"},{"line_number":155,"context_line":"          neutron-ndp-proxy: false"},{"line_number":156,"context_line":"          neutron-subnet-external-network: false"},{"line_number":157,"context_line":"          neutron-port-trusted-vif: false"},{"line_number":158,"context_line":"        devstack_local_conf:"},{"line_number":159,"context_line":"          post-config: {}"},{"line_number":160,"context_line":"          test-config:"},{"line_number":161,"context_line":"            $TEMPEST_CONFIG:"},{"line_number":162,"context_line":"              service_available:"},{"line_number":163,"context_line":"                neutron: True"},{"line_number":164,"context_line":"                nova: True"},{"line_number":165,"context_line":"                glance: True"},{"line_number":166,"context_line":"                key: True"},{"line_number":167,"context_line":"              compute:"},{"line_number":168,"context_line":"                min_compute_nodes: 2"},{"line_number":169,"context_line":"              neutron_plugin_options:"},{"line_number":170,"context_line":"                firewall_driver: ovn"},{"line_number":171,"context_line":"        tempest_concurrency: 4"},{"line_number":172,"context_line":"        tempest_test_regex: \"(^neutron_tempest_plugin.scenario.test_ovn_bgp)\""},{"line_number":173,"context_line":"        # Excluded tests and reasons:"},{"line_number":174,"context_line":"        # - test_port_forwardings: FIP port forwarding not supported"},{"line_number":175,"context_line":"        #     by OVN BGP Agent"},{"line_number":176,"context_line":"        # - test_multiple_gws: creates its own FRR/BFD on br-ex,"},{"line_number":177,"context_line":"        #     conflicts with the BGP spine-leaf fabric"},{"line_number":178,"context_line":"        # - test_snat_external_ip, test_default_sec_grp_scenarios,"},{"line_number":179,"context_line":"        #   test_connectivity_between_vms_on_different_networks,"},{"line_number":180,"context_line":"        #   test_network_basic_ops, test_subnet_details:"},{"line_number":181,"context_line":"        #     ping external gw IP from VM, which is not reachable"},{"line_number":182,"context_line":"        #     with the current BGP implementation"},{"line_number":183,"context_line":"        # - test_server_connectivity_rebuild: rebuilds with"},{"line_number":184,"context_line":"        #     image_ref_alt (ubuntu 2.2GB) which exceeds m1.nano"},{"line_number":185,"context_line":"        #     1GB disk; also image_alt_ssh_user mismatches"},{"line_number":186,"context_line":"        # - test_multicast: multicast not forwarded across the"},{"line_number":187,"context_line":"        #     routed spine-leaf fabric"},{"line_number":188,"context_line":"        # - test_vlan_transparency, test_trunk, test_mac_learning:"},{"line_number":189,"context_line":"        #     not relevant to BGP validation, too slow (1000s+) and"},{"line_number":190,"context_line":"        #     risks job timeout"},{"line_number":191,"context_line":"        tempest_exclude_regex: \"\\"},{"line_number":192,"context_line":"          (^neutron_tempest_plugin.scenario.test_port_forwardings)|\\"},{"line_number":193,"context_line":"          (^neutron_tempest_plugin.scenario.test_multiple_gws)|\\"},{"line_number":194,"context_line":"          (^neutron_tempest_plugin.scenario.test_floatingip.DefaultSnatToExternal.test_snat_external_ip)|\\"},{"line_number":195,"context_line":"          (^neutron_tempest_plugin.scenario.*test_default_sec_grp_scenarios)|\\"},{"line_number":196,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks)|\\"},{"line_number":197,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops)|\\"},{"line_number":198,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details)|\\"},{"line_number":199,"context_line":"          (^tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild)|\\"},{"line_number":200,"context_line":"          (^neutron_tempest_plugin.scenario.test_multicast)|\\"},{"line_number":201,"context_line":"          (^neutron_tempest_plugin.scenario.test_vlan_transparency)|\\"},{"line_number":202,"context_line":"          (^neutron_tempest_plugin.scenario.test_trunk)\""},{"line_number":203,"context_line":"      zbgp_compute:"},{"line_number":204,"context_line":"        devstack_localrc:"},{"line_number":205,"context_line":"          \u003c\u003c: *subnode_localrc"},{"line_number":206,"context_line":"          # Compute1-specific overrides"},{"line_number":207,"context_line":"          Q_PLUGIN: ml2"},{"line_number":208,"context_line":"          OVN_BUILD_FROM_SOURCE: True"},{"line_number":209,"context_line":"          NOVA_VNC_ENABLED: true"},{"line_number":210,"context_line":"          ENABLE_CHASSIS_AS_GW: false"},{"line_number":211,"context_line":"          LIBVIRT_TYPE: qemu"},{"line_number":212,"context_line":"          OVN_BRANCH: v26.03.0"},{"line_number":213,"context_line":"          OVS_BRANCH: v3.7.0"},{"line_number":214,"context_line":"          FRR_USE_BFD: True"},{"line_number":215,"context_line":"          ENABLE_FRR: True"},{"line_number":216,"context_line":"          FRR_BGP_ROUTER_ID: \u0027172.24.4.2\u0027"},{"line_number":217,"context_line":"          FRR_BGP_IPV6_SRC: \u00272001:db8::3\u0027"},{"line_number":218,"context_line":"          OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":219,"context_line":"          NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":220,"context_line":"          Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":221,"context_line":"        devstack_plugins:"},{"line_number":222,"context_line":"          neutron: https://opendev.org/openstack/neutron"},{"line_number":223,"context_line":"        devstack_services:"},{"line_number":224,"context_line":"          # Subnode base services"},{"line_number":225,"context_line":"          n-cpu: true"},{"line_number":226,"context_line":"          placement-client: true"},{"line_number":227,"context_line":"          memory_tracker: true"},{"line_number":228,"context_line":"          file_tracker: true"},{"line_number":229,"context_line":"          tls-proxy: true"},{"line_number":230,"context_line":"          dstat: false"},{"line_number":231,"context_line":"          horizon: false"},{"line_number":232,"context_line":"          tempest: false"},{"line_number":233,"context_line":"          # OVN services"},{"line_number":234,"context_line":"          q-ovn-agent: true"},{"line_number":235,"context_line":"          ovn-controller: true"},{"line_number":236,"context_line":"          ovs-vswitchd: true"},{"line_number":237,"context_line":"          ovsdb-server: true"},{"line_number":238,"context_line":"          ovn-northd: false"},{"line_number":239,"context_line":"          br-ex-tcpdump: false"},{"line_number":240,"context_line":"          br-int-flows: true"},{"line_number":241,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":242,"context_line":"          # Cinder services"},{"line_number":243,"context_line":"          c-api: false"},{"line_number":244,"context_line":"          c-bak: false"},{"line_number":245,"context_line":"          c-sch: false"},{"line_number":246,"context_line":"          c-vol: false"},{"line_number":247,"context_line":"          cinder: false"},{"line_number":248,"context_line":"          # Swift services"},{"line_number":249,"context_line":"          s-account: false"},{"line_number":250,"context_line":"          s-container-sync: false"},{"line_number":251,"context_line":"          s-container: false"},{"line_number":252,"context_line":"          s-object: false"},{"line_number":253,"context_line":"          s-proxy: false"},{"line_number":254,"context_line":"        devstack_local_conf:"},{"line_number":255,"context_line":"          post-config:"},{"line_number":256,"context_line":"            \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":257,"context_line":"              ovn:"},{"line_number":258,"context_line":"                enable_distributed_floating_ip: True"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"a06fca28_5ba5dd02","line":258,"range":{"start_line":43,"start_character":4,"end_line":258,"end_character":0},"updated":"2026-08-19 14:59:30.000000000","message":"The key \"post-run\" appears more than once; duplicate keys are not permitted.","commit_id":"0f49740f327be4b683159ebab395b3d7ecb87325"},{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"5ef36e97c05161721f372816fa07daec36bbd2e5","unresolved":false,"context_lines":[{"line_number":40,"context_line":"          - compute1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- job:"},{"line_number":43,"context_line":"    name: neutron-ovn-bgp-tempest-multinode"},{"line_number":44,"context_line":"    parent: neutron-tempest-plugin-ovn"},{"line_number":45,"context_line":"    nodeset: neutron-five-node-noble-bgp"},{"line_number":46,"context_line":"    post-run: playbooks/wait_bgp.yaml"},{"line_number":47,"context_line":"    timeout: 10800"},{"line_number":48,"context_line":"    post-timeout: 9600"},{"line_number":49,"context_line":"    required-projects:"},{"line_number":50,"context_line":"      - openstack/devstack"},{"line_number":51,"context_line":"    vars:"},{"line_number":52,"context_line":"      devstack_localrc:"},{"line_number":53,"context_line":"        ENABLE_TLS: True"},{"line_number":54,"context_line":"        PUBLIC_SUBNET_ENABLE_DHCP: True"},{"line_number":55,"context_line":"        OVN_BUILD_FROM_SOURCE: True"},{"line_number":56,"context_line":"        OVN_BRANCH: v26.03.0"},{"line_number":57,"context_line":"        OVS_BRANCH: v3.7.0"},{"line_number":58,"context_line":"        FRR_USE_BFD: True"},{"line_number":59,"context_line":"        ENABLE_FRR: True"},{"line_number":60,"context_line":"        FRR_BGP_ROUTER_ID: \u0027172.24.4.1\u0027"},{"line_number":61,"context_line":"        FRR_BGP_IPV6_SRC: \u00272001:db8::2\u0027"},{"line_number":62,"context_line":"        OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":63,"context_line":"        NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":64,"context_line":"        Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        q-ovn-bgp: true"},{"line_number":67,"context_line":"        tls-proxy: true"},{"line_number":68,"context_line":"        tempest: false"},{"line_number":69,"context_line":"      devstack_plugins:"},{"line_number":70,"context_line":"        neutron: https://opendev.org/openstack/neutron"},{"line_number":71,"context_line":"        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":72,"context_line":"      zuul_copy_output:"},{"line_number":73,"context_line":"        \u0027/var/log/frr\u0027: \u0027logs\u0027"},{"line_number":74,"context_line":"        \u0027/var/log/ovn\u0027: \u0027logs\u0027"},{"line_number":75,"context_line":"        \u0027/var/log/openvswitch\u0027: \u0027logs\u0027"},{"line_number":76,"context_line":"        \u0027/var/lib/ovn\u0027: \u0027logs\u0027"},{"line_number":77,"context_line":"        \u0027/etc/frr\u0027: \u0027logs\u0027"},{"line_number":78,"context_line":"      devstack_local_conf:"},{"line_number":79,"context_line":"        post-config:"},{"line_number":80,"context_line":"          \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":81,"context_line":"            ovn:"},{"line_number":82,"context_line":"              enable_distributed_floating_ip: True"},{"line_number":83,"context_line":"    pre-run: playbooks/configure_bgp_networking.yaml"},{"line_number":84,"context_line":"    post-run: playbooks/collect_bgp_diagnostics.yaml"},{"line_number":85,"context_line":"    group-vars:"},{"line_number":86,"context_line":"      # The tempest and zbgp_compute groups sort after subnode, so their"},{"line_number":87,"context_line":"      # devstack_localrc replaces (not merges with) the subnode group-vars."},{"line_number":88,"context_line":"      # We must repeat the base subnode settings needed by stack.sh."},{"line_number":89,"context_line":"      tempest:"},{"line_number":90,"context_line":"        devstack_localrc: \u0026subnode_localrc"},{"line_number":91,"context_line":"          DATABASE_PASSWORD: secretdatabase"},{"line_number":92,"context_line":"          RABBIT_PASSWORD: secretrabbit"},{"line_number":93,"context_line":"          ADMIN_PASSWORD: secretadmin"},{"line_number":94,"context_line":"          SERVICE_PASSWORD: secretservice"},{"line_number":95,"context_line":"          GLANCE_HOSTPORT: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}:9292\""},{"line_number":96,"context_line":"          Q_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":97,"context_line":"          DATABASE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":98,"context_line":"          RABBIT_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":99,"context_line":"          SERVICE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":100,"context_line":"          HOST_IP: \"{{ hostvars[inventory_hostname][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":101,"context_line":"          LOGFILE: /opt/stack/logs/devstacklog.txt"},{"line_number":102,"context_line":"          LOG_COLOR: false"},{"line_number":103,"context_line":"          VERBOSE: true"},{"line_number":104,"context_line":"          VERBOSE_NO_TIMESTAMP: true"},{"line_number":105,"context_line":"          LIBS_FROM_GIT: neutron-tempest-plugin"},{"line_number":106,"context_line":"          OVN_BUILD_FROM_SOURCE: False"},{"line_number":107,"context_line":"          Q_PLUGIN: \"noop\""},{"line_number":108,"context_line":"          SERVICES_FOR_TEMPEST: neutron,nova,keystone,glance"},{"line_number":109,"context_line":"          IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"},{"line_number":110,"context_line":"          ADVANCED_IMAGE_NAME: ubuntu-22.04-minimal-cloudimg-amd64"},{"line_number":111,"context_line":"          ADVANCED_INSTANCE_TYPE: ntp_image_256M"},{"line_number":112,"context_line":"          ADVANCED_INSTANCE_USER: ubuntu"},{"line_number":113,"context_line":"          CUSTOMIZE_IMAGE: true"},{"line_number":114,"context_line":"          BUILD_TIMEOUT: 784"},{"line_number":115,"context_line":"          LIVE_MIGRATION_AVAILABLE: True"},{"line_number":116,"context_line":"          USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: True"},{"line_number":117,"context_line":"        devstack_plugins:"},{"line_number":118,"context_line":"          neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":119,"context_line":"        devstack_services:"},{"line_number":120,"context_line":"          tls-proxy: true"},{"line_number":121,"context_line":"          tempest: true"},{"line_number":122,"context_line":"          etcd3: false"},{"line_number":123,"context_line":"          mysql: false"},{"line_number":124,"context_line":"          c-api: false"},{"line_number":125,"context_line":"          c-bak: false"},{"line_number":126,"context_line":"          c-sch: false"},{"line_number":127,"context_line":"          c-vol: false"},{"line_number":128,"context_line":"          cinder: false"},{"line_number":129,"context_line":"          n-api: false"},{"line_number":130,"context_line":"          n-api-meta: false"},{"line_number":131,"context_line":"          n-cond: false"},{"line_number":132,"context_line":"          n-cpu: false"},{"line_number":133,"context_line":"          n-novnc: false"},{"line_number":134,"context_line":"          n-sch: false"},{"line_number":135,"context_line":"          placement-api: false"},{"line_number":136,"context_line":"          br-ex-tcpdump: false"},{"line_number":137,"context_line":"          br-int-flows: false"},{"line_number":138,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":139,"context_line":"          q-ovn-agent: false"},{"line_number":140,"context_line":"          ovn-bgp: false"},{"line_number":141,"context_line":"          ovn-controller: false"},{"line_number":142,"context_line":"          ovn-northd: false"},{"line_number":143,"context_line":"          ovs-vswitchd: false"},{"line_number":144,"context_line":"          ovsdb-server: false"},{"line_number":145,"context_line":"          neutron-dns: false"},{"line_number":146,"context_line":"          neutron-log: false"},{"line_number":147,"context_line":"          neutron-qos: false"},{"line_number":148,"context_line":"          neutron-segments: false"},{"line_number":149,"context_line":"          neutron-trunk: false"},{"line_number":150,"context_line":"          neutron-uplink-status-propagation: false"},{"line_number":151,"context_line":"          neutron-network-segment-range: false"},{"line_number":152,"context_line":"          neutron-port-forwarding: false"},{"line_number":153,"context_line":"          neutron-conntrack-helper: false"},{"line_number":154,"context_line":"          neutron-tag-ports-during-bulk-creation: false"},{"line_number":155,"context_line":"          neutron-ndp-proxy: false"},{"line_number":156,"context_line":"          neutron-subnet-external-network: false"},{"line_number":157,"context_line":"          neutron-port-trusted-vif: false"},{"line_number":158,"context_line":"        devstack_local_conf:"},{"line_number":159,"context_line":"          post-config: {}"},{"line_number":160,"context_line":"          test-config:"},{"line_number":161,"context_line":"            $TEMPEST_CONFIG:"},{"line_number":162,"context_line":"              service_available:"},{"line_number":163,"context_line":"                neutron: True"},{"line_number":164,"context_line":"                nova: True"},{"line_number":165,"context_line":"                glance: True"},{"line_number":166,"context_line":"                key: True"},{"line_number":167,"context_line":"              compute:"},{"line_number":168,"context_line":"                min_compute_nodes: 2"},{"line_number":169,"context_line":"              neutron_plugin_options:"},{"line_number":170,"context_line":"                firewall_driver: ovn"},{"line_number":171,"context_line":"        tempest_concurrency: 4"},{"line_number":172,"context_line":"        tempest_test_regex: \"(^neutron_tempest_plugin.scenario.test_ovn_bgp)\""},{"line_number":173,"context_line":"        # Excluded tests and reasons:"},{"line_number":174,"context_line":"        # - test_port_forwardings: FIP port forwarding not supported"},{"line_number":175,"context_line":"        #     by OVN BGP Agent"},{"line_number":176,"context_line":"        # - test_multiple_gws: creates its own FRR/BFD on br-ex,"},{"line_number":177,"context_line":"        #     conflicts with the BGP spine-leaf fabric"},{"line_number":178,"context_line":"        # - test_snat_external_ip, test_default_sec_grp_scenarios,"},{"line_number":179,"context_line":"        #   test_connectivity_between_vms_on_different_networks,"},{"line_number":180,"context_line":"        #   test_network_basic_ops, test_subnet_details:"},{"line_number":181,"context_line":"        #     ping external gw IP from VM, which is not reachable"},{"line_number":182,"context_line":"        #     with the current BGP implementation"},{"line_number":183,"context_line":"        # - test_server_connectivity_rebuild: rebuilds with"},{"line_number":184,"context_line":"        #     image_ref_alt (ubuntu 2.2GB) which exceeds m1.nano"},{"line_number":185,"context_line":"        #     1GB disk; also image_alt_ssh_user mismatches"},{"line_number":186,"context_line":"        # - test_multicast: multicast not forwarded across the"},{"line_number":187,"context_line":"        #     routed spine-leaf fabric"},{"line_number":188,"context_line":"        # - test_vlan_transparency, test_trunk, test_mac_learning:"},{"line_number":189,"context_line":"        #     not relevant to BGP validation, too slow (1000s+) and"},{"line_number":190,"context_line":"        #     risks job timeout"},{"line_number":191,"context_line":"        tempest_exclude_regex: \"\\"},{"line_number":192,"context_line":"          (^neutron_tempest_plugin.scenario.test_port_forwardings)|\\"},{"line_number":193,"context_line":"          (^neutron_tempest_plugin.scenario.test_multiple_gws)|\\"},{"line_number":194,"context_line":"          (^neutron_tempest_plugin.scenario.test_floatingip.DefaultSnatToExternal.test_snat_external_ip)|\\"},{"line_number":195,"context_line":"          (^neutron_tempest_plugin.scenario.*test_default_sec_grp_scenarios)|\\"},{"line_number":196,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks)|\\"},{"line_number":197,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops)|\\"},{"line_number":198,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details)|\\"},{"line_number":199,"context_line":"          (^tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild)|\\"},{"line_number":200,"context_line":"          (^neutron_tempest_plugin.scenario.test_multicast)|\\"},{"line_number":201,"context_line":"          (^neutron_tempest_plugin.scenario.test_vlan_transparency)|\\"},{"line_number":202,"context_line":"          (^neutron_tempest_plugin.scenario.test_trunk)\""},{"line_number":203,"context_line":"      zbgp_compute:"},{"line_number":204,"context_line":"        devstack_localrc:"},{"line_number":205,"context_line":"          \u003c\u003c: *subnode_localrc"},{"line_number":206,"context_line":"          # Compute1-specific overrides"},{"line_number":207,"context_line":"          Q_PLUGIN: ml2"},{"line_number":208,"context_line":"          OVN_BUILD_FROM_SOURCE: True"},{"line_number":209,"context_line":"          NOVA_VNC_ENABLED: true"},{"line_number":210,"context_line":"          ENABLE_CHASSIS_AS_GW: false"},{"line_number":211,"context_line":"          LIBVIRT_TYPE: qemu"},{"line_number":212,"context_line":"          OVN_BRANCH: v26.03.0"},{"line_number":213,"context_line":"          OVS_BRANCH: v3.7.0"},{"line_number":214,"context_line":"          FRR_USE_BFD: True"},{"line_number":215,"context_line":"          ENABLE_FRR: True"},{"line_number":216,"context_line":"          FRR_BGP_ROUTER_ID: \u0027172.24.4.2\u0027"},{"line_number":217,"context_line":"          FRR_BGP_IPV6_SRC: \u00272001:db8::3\u0027"},{"line_number":218,"context_line":"          OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":219,"context_line":"          NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":220,"context_line":"          Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":221,"context_line":"        devstack_plugins:"},{"line_number":222,"context_line":"          neutron: https://opendev.org/openstack/neutron"},{"line_number":223,"context_line":"        devstack_services:"},{"line_number":224,"context_line":"          # Subnode base services"},{"line_number":225,"context_line":"          n-cpu: true"},{"line_number":226,"context_line":"          placement-client: true"},{"line_number":227,"context_line":"          memory_tracker: true"},{"line_number":228,"context_line":"          file_tracker: true"},{"line_number":229,"context_line":"          tls-proxy: true"},{"line_number":230,"context_line":"          dstat: false"},{"line_number":231,"context_line":"          horizon: false"},{"line_number":232,"context_line":"          tempest: false"},{"line_number":233,"context_line":"          # OVN services"},{"line_number":234,"context_line":"          q-ovn-agent: true"},{"line_number":235,"context_line":"          ovn-controller: true"},{"line_number":236,"context_line":"          ovs-vswitchd: true"},{"line_number":237,"context_line":"          ovsdb-server: true"},{"line_number":238,"context_line":"          ovn-northd: false"},{"line_number":239,"context_line":"          br-ex-tcpdump: false"},{"line_number":240,"context_line":"          br-int-flows: true"},{"line_number":241,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":242,"context_line":"          # Cinder services"},{"line_number":243,"context_line":"          c-api: false"},{"line_number":244,"context_line":"          c-bak: false"},{"line_number":245,"context_line":"          c-sch: false"},{"line_number":246,"context_line":"          c-vol: false"},{"line_number":247,"context_line":"          cinder: false"},{"line_number":248,"context_line":"          # Swift services"},{"line_number":249,"context_line":"          s-account: false"},{"line_number":250,"context_line":"          s-container-sync: false"},{"line_number":251,"context_line":"          s-container: false"},{"line_number":252,"context_line":"          s-object: false"},{"line_number":253,"context_line":"          s-proxy: false"},{"line_number":254,"context_line":"        devstack_local_conf:"},{"line_number":255,"context_line":"          post-config:"},{"line_number":256,"context_line":"            \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":257,"context_line":"              ovn:"},{"line_number":258,"context_line":"                enable_distributed_floating_ip: True"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ab2ff8d8_eb01c07b","line":258,"range":{"start_line":43,"start_character":4,"end_line":258,"end_character":0},"updated":"2026-08-19 14:57:56.000000000","message":"The key \"post-run\" appears more than once; duplicate keys are not permitted.","commit_id":"0f49740f327be4b683159ebab395b3d7ecb87325"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check-arm64","change_message_id":"3cb3c0e7789123c16e2da662d08265888528f902","unresolved":false,"context_lines":[{"line_number":40,"context_line":"          - compute1"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- job:"},{"line_number":43,"context_line":"    name: neutron-ovn-bgp-tempest-multinode"},{"line_number":44,"context_line":"    parent: neutron-tempest-plugin-ovn"},{"line_number":45,"context_line":"    nodeset: neutron-five-node-noble-bgp"},{"line_number":46,"context_line":"    post-run: playbooks/wait_bgp.yaml"},{"line_number":47,"context_line":"    timeout: 10800"},{"line_number":48,"context_line":"    post-timeout: 9600"},{"line_number":49,"context_line":"    required-projects:"},{"line_number":50,"context_line":"      - openstack/devstack"},{"line_number":51,"context_line":"    vars:"},{"line_number":52,"context_line":"      devstack_localrc:"},{"line_number":53,"context_line":"        ENABLE_TLS: True"},{"line_number":54,"context_line":"        PUBLIC_SUBNET_ENABLE_DHCP: True"},{"line_number":55,"context_line":"        OVN_BUILD_FROM_SOURCE: True"},{"line_number":56,"context_line":"        OVN_BRANCH: v26.03.0"},{"line_number":57,"context_line":"        OVS_BRANCH: v3.7.0"},{"line_number":58,"context_line":"        FRR_USE_BFD: True"},{"line_number":59,"context_line":"        ENABLE_FRR: True"},{"line_number":60,"context_line":"        FRR_BGP_ROUTER_ID: \u0027172.24.4.1\u0027"},{"line_number":61,"context_line":"        FRR_BGP_IPV6_SRC: \u00272001:db8::2\u0027"},{"line_number":62,"context_line":"        OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":63,"context_line":"        NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":64,"context_line":"        Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        q-ovn-bgp: true"},{"line_number":67,"context_line":"        tls-proxy: true"},{"line_number":68,"context_line":"        tempest: false"},{"line_number":69,"context_line":"      devstack_plugins:"},{"line_number":70,"context_line":"        neutron: https://opendev.org/openstack/neutron"},{"line_number":71,"context_line":"        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":72,"context_line":"      zuul_copy_output:"},{"line_number":73,"context_line":"        \u0027/var/log/frr\u0027: \u0027logs\u0027"},{"line_number":74,"context_line":"        \u0027/var/log/ovn\u0027: \u0027logs\u0027"},{"line_number":75,"context_line":"        \u0027/var/log/openvswitch\u0027: \u0027logs\u0027"},{"line_number":76,"context_line":"        \u0027/var/lib/ovn\u0027: \u0027logs\u0027"},{"line_number":77,"context_line":"        \u0027/etc/frr\u0027: \u0027logs\u0027"},{"line_number":78,"context_line":"      devstack_local_conf:"},{"line_number":79,"context_line":"        post-config:"},{"line_number":80,"context_line":"          \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":81,"context_line":"            ovn:"},{"line_number":82,"context_line":"              enable_distributed_floating_ip: True"},{"line_number":83,"context_line":"    pre-run: playbooks/configure_bgp_networking.yaml"},{"line_number":84,"context_line":"    post-run: playbooks/collect_bgp_diagnostics.yaml"},{"line_number":85,"context_line":"    group-vars:"},{"line_number":86,"context_line":"      # The tempest and zbgp_compute groups sort after subnode, so their"},{"line_number":87,"context_line":"      # devstack_localrc replaces (not merges with) the subnode group-vars."},{"line_number":88,"context_line":"      # We must repeat the base subnode settings needed by stack.sh."},{"line_number":89,"context_line":"      tempest:"},{"line_number":90,"context_line":"        devstack_localrc: \u0026subnode_localrc"},{"line_number":91,"context_line":"          DATABASE_PASSWORD: secretdatabase"},{"line_number":92,"context_line":"          RABBIT_PASSWORD: secretrabbit"},{"line_number":93,"context_line":"          ADMIN_PASSWORD: secretadmin"},{"line_number":94,"context_line":"          SERVICE_PASSWORD: secretservice"},{"line_number":95,"context_line":"          GLANCE_HOSTPORT: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}:9292\""},{"line_number":96,"context_line":"          Q_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":97,"context_line":"          DATABASE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":98,"context_line":"          RABBIT_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":99,"context_line":"          SERVICE_HOST: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":100,"context_line":"          HOST_IP: \"{{ hostvars[inventory_hostname][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":101,"context_line":"          LOGFILE: /opt/stack/logs/devstacklog.txt"},{"line_number":102,"context_line":"          LOG_COLOR: false"},{"line_number":103,"context_line":"          VERBOSE: true"},{"line_number":104,"context_line":"          VERBOSE_NO_TIMESTAMP: true"},{"line_number":105,"context_line":"          LIBS_FROM_GIT: neutron-tempest-plugin"},{"line_number":106,"context_line":"          OVN_BUILD_FROM_SOURCE: False"},{"line_number":107,"context_line":"          Q_PLUGIN: \"noop\""},{"line_number":108,"context_line":"          SERVICES_FOR_TEMPEST: neutron,nova,keystone,glance"},{"line_number":109,"context_line":"          IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img"},{"line_number":110,"context_line":"          ADVANCED_IMAGE_NAME: ubuntu-22.04-minimal-cloudimg-amd64"},{"line_number":111,"context_line":"          ADVANCED_INSTANCE_TYPE: ntp_image_256M"},{"line_number":112,"context_line":"          ADVANCED_INSTANCE_USER: ubuntu"},{"line_number":113,"context_line":"          CUSTOMIZE_IMAGE: true"},{"line_number":114,"context_line":"          BUILD_TIMEOUT: 784"},{"line_number":115,"context_line":"          LIVE_MIGRATION_AVAILABLE: True"},{"line_number":116,"context_line":"          USE_BLOCK_MIGRATION_FOR_LIVE_MIGRATION: True"},{"line_number":117,"context_line":"        devstack_plugins:"},{"line_number":118,"context_line":"          neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin"},{"line_number":119,"context_line":"        devstack_services:"},{"line_number":120,"context_line":"          tls-proxy: true"},{"line_number":121,"context_line":"          tempest: true"},{"line_number":122,"context_line":"          etcd3: false"},{"line_number":123,"context_line":"          mysql: false"},{"line_number":124,"context_line":"          c-api: false"},{"line_number":125,"context_line":"          c-bak: false"},{"line_number":126,"context_line":"          c-sch: false"},{"line_number":127,"context_line":"          c-vol: false"},{"line_number":128,"context_line":"          cinder: false"},{"line_number":129,"context_line":"          n-api: false"},{"line_number":130,"context_line":"          n-api-meta: false"},{"line_number":131,"context_line":"          n-cond: false"},{"line_number":132,"context_line":"          n-cpu: false"},{"line_number":133,"context_line":"          n-novnc: false"},{"line_number":134,"context_line":"          n-sch: false"},{"line_number":135,"context_line":"          placement-api: false"},{"line_number":136,"context_line":"          br-ex-tcpdump: false"},{"line_number":137,"context_line":"          br-int-flows: false"},{"line_number":138,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":139,"context_line":"          q-ovn-agent: false"},{"line_number":140,"context_line":"          ovn-bgp: false"},{"line_number":141,"context_line":"          ovn-controller: false"},{"line_number":142,"context_line":"          ovn-northd: false"},{"line_number":143,"context_line":"          ovs-vswitchd: false"},{"line_number":144,"context_line":"          ovsdb-server: false"},{"line_number":145,"context_line":"          neutron-dns: false"},{"line_number":146,"context_line":"          neutron-log: false"},{"line_number":147,"context_line":"          neutron-qos: false"},{"line_number":148,"context_line":"          neutron-segments: false"},{"line_number":149,"context_line":"          neutron-trunk: false"},{"line_number":150,"context_line":"          neutron-uplink-status-propagation: false"},{"line_number":151,"context_line":"          neutron-network-segment-range: false"},{"line_number":152,"context_line":"          neutron-port-forwarding: false"},{"line_number":153,"context_line":"          neutron-conntrack-helper: false"},{"line_number":154,"context_line":"          neutron-tag-ports-during-bulk-creation: false"},{"line_number":155,"context_line":"          neutron-ndp-proxy: false"},{"line_number":156,"context_line":"          neutron-subnet-external-network: false"},{"line_number":157,"context_line":"          neutron-port-trusted-vif: false"},{"line_number":158,"context_line":"        devstack_local_conf:"},{"line_number":159,"context_line":"          post-config: {}"},{"line_number":160,"context_line":"          test-config:"},{"line_number":161,"context_line":"            $TEMPEST_CONFIG:"},{"line_number":162,"context_line":"              service_available:"},{"line_number":163,"context_line":"                neutron: True"},{"line_number":164,"context_line":"                nova: True"},{"line_number":165,"context_line":"                glance: True"},{"line_number":166,"context_line":"                key: True"},{"line_number":167,"context_line":"              compute:"},{"line_number":168,"context_line":"                min_compute_nodes: 2"},{"line_number":169,"context_line":"              neutron_plugin_options:"},{"line_number":170,"context_line":"                firewall_driver: ovn"},{"line_number":171,"context_line":"        tempest_concurrency: 4"},{"line_number":172,"context_line":"        tempest_test_regex: \"(^neutron_tempest_plugin.scenario.test_ovn_bgp)\""},{"line_number":173,"context_line":"        # Excluded tests and reasons:"},{"line_number":174,"context_line":"        # - test_port_forwardings: FIP port forwarding not supported"},{"line_number":175,"context_line":"        #     by OVN BGP Agent"},{"line_number":176,"context_line":"        # - test_multiple_gws: creates its own FRR/BFD on br-ex,"},{"line_number":177,"context_line":"        #     conflicts with the BGP spine-leaf fabric"},{"line_number":178,"context_line":"        # - test_snat_external_ip, test_default_sec_grp_scenarios,"},{"line_number":179,"context_line":"        #   test_connectivity_between_vms_on_different_networks,"},{"line_number":180,"context_line":"        #   test_network_basic_ops, test_subnet_details:"},{"line_number":181,"context_line":"        #     ping external gw IP from VM, which is not reachable"},{"line_number":182,"context_line":"        #     with the current BGP implementation"},{"line_number":183,"context_line":"        # - test_server_connectivity_rebuild: rebuilds with"},{"line_number":184,"context_line":"        #     image_ref_alt (ubuntu 2.2GB) which exceeds m1.nano"},{"line_number":185,"context_line":"        #     1GB disk; also image_alt_ssh_user mismatches"},{"line_number":186,"context_line":"        # - test_multicast: multicast not forwarded across the"},{"line_number":187,"context_line":"        #     routed spine-leaf fabric"},{"line_number":188,"context_line":"        # - test_vlan_transparency, test_trunk, test_mac_learning:"},{"line_number":189,"context_line":"        #     not relevant to BGP validation, too slow (1000s+) and"},{"line_number":190,"context_line":"        #     risks job timeout"},{"line_number":191,"context_line":"        tempest_exclude_regex: \"\\"},{"line_number":192,"context_line":"          (^neutron_tempest_plugin.scenario.test_port_forwardings)|\\"},{"line_number":193,"context_line":"          (^neutron_tempest_plugin.scenario.test_multiple_gws)|\\"},{"line_number":194,"context_line":"          (^neutron_tempest_plugin.scenario.test_floatingip.DefaultSnatToExternal.test_snat_external_ip)|\\"},{"line_number":195,"context_line":"          (^neutron_tempest_plugin.scenario.*test_default_sec_grp_scenarios)|\\"},{"line_number":196,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks)|\\"},{"line_number":197,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops)|\\"},{"line_number":198,"context_line":"          (^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details)|\\"},{"line_number":199,"context_line":"          (^tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_rebuild)|\\"},{"line_number":200,"context_line":"          (^neutron_tempest_plugin.scenario.test_multicast)|\\"},{"line_number":201,"context_line":"          (^neutron_tempest_plugin.scenario.test_vlan_transparency)|\\"},{"line_number":202,"context_line":"          (^neutron_tempest_plugin.scenario.test_trunk)\""},{"line_number":203,"context_line":"      zbgp_compute:"},{"line_number":204,"context_line":"        devstack_localrc:"},{"line_number":205,"context_line":"          \u003c\u003c: *subnode_localrc"},{"line_number":206,"context_line":"          # Compute1-specific overrides"},{"line_number":207,"context_line":"          Q_PLUGIN: ml2"},{"line_number":208,"context_line":"          OVN_BUILD_FROM_SOURCE: True"},{"line_number":209,"context_line":"          NOVA_VNC_ENABLED: true"},{"line_number":210,"context_line":"          ENABLE_CHASSIS_AS_GW: false"},{"line_number":211,"context_line":"          LIBVIRT_TYPE: qemu"},{"line_number":212,"context_line":"          OVN_BRANCH: v26.03.0"},{"line_number":213,"context_line":"          OVS_BRANCH: v3.7.0"},{"line_number":214,"context_line":"          FRR_USE_BFD: True"},{"line_number":215,"context_line":"          ENABLE_FRR: True"},{"line_number":216,"context_line":"          FRR_BGP_ROUTER_ID: \u0027172.24.4.2\u0027"},{"line_number":217,"context_line":"          FRR_BGP_IPV6_SRC: \u00272001:db8::3\u0027"},{"line_number":218,"context_line":"          OVN_AGENT_EXTENSIONS: \u0027metadata,ovn-bgp\u0027"},{"line_number":219,"context_line":"          NEUTRON_BGP_PEER_BRIDGES: \u0027br-bgp-0,br-bgp-1\u0027"},{"line_number":220,"context_line":"          Q_ASSIGN_GATEWAY_TO_PUBLIC_BRIDGE: false"},{"line_number":221,"context_line":"        devstack_plugins:"},{"line_number":222,"context_line":"          neutron: https://opendev.org/openstack/neutron"},{"line_number":223,"context_line":"        devstack_services:"},{"line_number":224,"context_line":"          # Subnode base services"},{"line_number":225,"context_line":"          n-cpu: true"},{"line_number":226,"context_line":"          placement-client: true"},{"line_number":227,"context_line":"          memory_tracker: true"},{"line_number":228,"context_line":"          file_tracker: true"},{"line_number":229,"context_line":"          tls-proxy: true"},{"line_number":230,"context_line":"          dstat: false"},{"line_number":231,"context_line":"          horizon: false"},{"line_number":232,"context_line":"          tempest: false"},{"line_number":233,"context_line":"          # OVN services"},{"line_number":234,"context_line":"          q-ovn-agent: true"},{"line_number":235,"context_line":"          ovn-controller: true"},{"line_number":236,"context_line":"          ovs-vswitchd: true"},{"line_number":237,"context_line":"          ovsdb-server: true"},{"line_number":238,"context_line":"          ovn-northd: false"},{"line_number":239,"context_line":"          br-ex-tcpdump: false"},{"line_number":240,"context_line":"          br-int-flows: true"},{"line_number":241,"context_line":"          q-ovn-metadata-agent: false"},{"line_number":242,"context_line":"          # Cinder services"},{"line_number":243,"context_line":"          c-api: false"},{"line_number":244,"context_line":"          c-bak: false"},{"line_number":245,"context_line":"          c-sch: false"},{"line_number":246,"context_line":"          c-vol: false"},{"line_number":247,"context_line":"          cinder: false"},{"line_number":248,"context_line":"          # Swift services"},{"line_number":249,"context_line":"          s-account: false"},{"line_number":250,"context_line":"          s-container-sync: false"},{"line_number":251,"context_line":"          s-container: false"},{"line_number":252,"context_line":"          s-object: false"},{"line_number":253,"context_line":"          s-proxy: false"},{"line_number":254,"context_line":"        devstack_local_conf:"},{"line_number":255,"context_line":"          post-config:"},{"line_number":256,"context_line":"            \"/$NEUTRON_CORE_PLUGIN_CONF\":"},{"line_number":257,"context_line":"              ovn:"},{"line_number":258,"context_line":"                enable_distributed_floating_ip: True"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"e195d737_17894f6f","line":258,"range":{"start_line":43,"start_character":4,"end_line":258,"end_character":0},"updated":"2026-08-19 14:58:43.000000000","message":"The key \"post-run\" appears more than once; duplicate keys are not permitted.","commit_id":"0f49740f327be4b683159ebab395b3d7ecb87325"}]}
