I can't for the life of me get external connectivity working, openstack itself works i just cant get external connectivity working, I can see ovs has created br-ex with bond1 attached. ovs-vsctl get open . external_ids:ovn-bridge-mapping shows: "physnst1:br-ex" I have tried creating the network with both: openstack network create --share --external --provider-physical-network physnet1 --provider-network-type vlan --provider-segment 233 public openstack network create --share --external --provider-physical-network physnet1 --provider-network-type flat publicnet-flat Only errors i can see is in the neutron container when i try and either create an instance on said network or attach a fip is is: (similar errors from a vlan type network this is just the error i pulled at the time) ERROR neutron.plugins.ml2.managers [req-de7f1cb8-ac8e-4dd6-ad2a-e14afdb152b5 req-c6a2aaff-ccf9-4ef3-9ef 7-1a8e4c7a1e41 9c27de6bdc4449abbbbcd5e5c4951bb9 2fced1ff77f5428eb2b63879bdd608cc - - default default] Failed to bind port 03cc1708-d4a2-4b11-bca2-40ebe0acff60 on host 02 for vnic_type normal using segments [{'id': '2ef64682-b5ff-472b-935d-a3c2b615d70f', 'network_type': 'flat', 'physical_network': 'physnet1', 'segmentation_id': None, 'network_id': '52b4f4e9-47f3-431b-8c45-ec8cc17f561d'}] WARNING neutron.scheduler.dhcp_agent_scheduler [None req-aafa81d9-479c-4f56-be6f-54d4ab3b42aa 1b29a 2297a224cdcaaba84e0eac30205 bafabcf2414d4adf98cab165c3f3de12 - - default default] No more DHCP agents WARNING neutron.api.rpc.agentnotifiers.dhcp_rpc_agent_api [None req-aafa81d9-479c-4f56-be6f-54d4ab3b42aa 1b29a2297a224cdcaaba84e0eac30205 bafabcf2414d4adf98cab165c3f3de12 - - default default] Unable to schedule network 5fa049f5-0ed4-4287-9c63-dd753c853c35: no agents available; will retry on subsequent port and subnet creation events. I just cant figure out WHY this isn't working.. Below is my config: ############# ### /etc/network/interfaces: ############# auto bond1 iface bond1 inet manual bond-slaves eno2 eno4 bond-mode 802.3ad bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-lacp-rate 1 mtu 9000 auto bond1.30 iface bond1.30 inet manual vlan-raw-device bond1 ## (br-pubv is for my public vip) auto bond1.232 iface bond1.232 inet manual vlan-raw-device bond1 auto br-overlay iface br-overlay inet static bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports bond1.30 address auto br-pubv iface br-pubv inet static address gateway bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports bond1.232 ############# ### openstack_user_config.yml: ############# - network: container_bridge: "br-ex" network_interface: "bond1" type: "vlan" range: "232:332" net_name: "physnet1" group_binds: - neutron_ovn_controller ############# ### user_variables.yml ############# neutron_plugin_type: ml2.ovn neutron_plugin_base: - ovn-router - qos - neutron.services.ovn_l3.plugin.OVNL3RouterPlugin - neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin - vpnaas - metering - firewall_v2 neutron_ml2_drivers_type: "vlan,local,geneve,flat" neutron_provider_networks: network_types: "geneve" network_geneve_ranges: "1:1000" network_vlan_ranges: "physnet1" network_mappings: "physnet1:br-ex" network_interface_mappings: "br-ex:bond1" Bond1 is a trunk port (no native vlan), that has access to both overlay vlan and the 232:332 vlan range which both work when setting either network as a bridge on bond1 so connectivity is there. I have network-northd/gateway_hosts defined as well as: neutron_neutron_conf_overrides: ovn: enable_distributed_floating_ip: True openstack_host_specific_kernel_modules: - name: "openvswitch" pattern: "CONFIG_OPENVSWITCH" This should by all accounts just work, but for some reason for me it's not, what steps have i missed?