Public bug reported: Reference bug: https://issues.redhat.com/browse/OSPRH-8988
With ML2/OVN w/ segments, adding a compute with ovn-bridge-mappings for an existing segment does not add the compute to that segment's nova host aggregate. Modifying the ovn-bridge-mappings (adding new or deleting mappings) also does not update the nova host aggregates. With ML2/OVS, via report_state(), create_or_update_agent() is called which updates the agent db table and fires off events which lead to the nova api calls to update the aggregates. ML2/OVN does not use the agents db, but instead monkeypatches some of the agent methods to handle agent API requests. Basic devstack install w/ local.conf from the neutron repo. Add a provider bridges sudo ovs-vsctl add-br br-provider1 sudo ovs-vsctl add-br br-provider2 sudo ovs-vsctl list open . # get existing ovn-bridge-mappings, then append the new provider mapping sudo ovs-vsctl set open . external_ids:ovn-bridge-mappings="public:br-ex,providernet1:br-provider1,providernet2:br-provider2" Add a vlan provider network to ml2_conf.ini and restart q-svc [ml2_type_vlan] network_vlan_ranges = public,providernet1:100:199,providernet2:200:299 Create a provider networks openstack network create providernet1 --share --provider-physical-network providernet1 --provider-network-type vlan --provider-segment 101 openstack network create providernet2 --share --provider-physical- network providernet2 --provider-network-type vlan --provider-segment 201 Verify segments are created/get uuids openstack network segment list Set names on segments openstack network segment set --name providernet1-101 $vlan101_segment openstack network segment set --name providernet2-201 $vlan201_segment Create subnets openstack subnet create --network providernet1 --network-segment providernet1-101 --ip-version 4 --subnet-range 172.30.1.0/24 providernet1-subnet101 openstack subnet create --network providernet2 --network-segment providernet2-201 --ip-version 4 --subnet-range 172.30.2.0/24 providernet2-subnet201 Verify segments exist with corresponding aggregates openstack network segment list openstack aggregate list openstack aggregate show for each should show the host listed. Failure case: Remove br-provider2 from ovn-bridge-mappings sudo ovs-vsctl set open . external_ids:ovn-bridge-mappings="public:br-ex,providernet1:br-provider1" and notice that host is still set for the aggregate pointing to the segment for providernet2-201 Manually remove the host openstack aggregate remove host $aggregate_id $hostname and verify hosts is empty with openstack aggregate show $aggregate_id Re-add providernet2 to the ovn-bridge-mappings sudo ovs-vsctl set open . external_ids:ovn-bridge-mappings="public:br-ex,providernet1:br-provider1,providernet2:br-provider2" and verify with openstack aggregate show that the hosts field is still empty. ** Affects: neutron Importance: Undecided Status: In Progress -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/2096941 Title: [OVN Routed Provider Networks] : New Compute nodes are not added to their segment aggregate Status in neutron: In Progress Bug description: Reference bug: https://issues.redhat.com/browse/OSPRH-8988 With ML2/OVN w/ segments, adding a compute with ovn-bridge-mappings for an existing segment does not add the compute to that segment's nova host aggregate. Modifying the ovn-bridge-mappings (adding new or deleting mappings) also does not update the nova host aggregates. With ML2/OVS, via report_state(), create_or_update_agent() is called which updates the agent db table and fires off events which lead to the nova api calls to update the aggregates. ML2/OVN does not use the agents db, but instead monkeypatches some of the agent methods to handle agent API requests. Basic devstack install w/ local.conf from the neutron repo. Add a provider bridges sudo ovs-vsctl add-br br-provider1 sudo ovs-vsctl add-br br-provider2 sudo ovs-vsctl list open . # get existing ovn-bridge-mappings, then append the new provider mapping sudo ovs-vsctl set open . external_ids:ovn-bridge-mappings="public:br-ex,providernet1:br-provider1,providernet2:br-provider2" Add a vlan provider network to ml2_conf.ini and restart q-svc [ml2_type_vlan] network_vlan_ranges = public,providernet1:100:199,providernet2:200:299 Create a provider networks openstack network create providernet1 --share --provider-physical-network providernet1 --provider-network-type vlan --provider-segment 101 openstack network create providernet2 --share --provider-physical- network providernet2 --provider-network-type vlan --provider-segment 201 Verify segments are created/get uuids openstack network segment list Set names on segments openstack network segment set --name providernet1-101 $vlan101_segment openstack network segment set --name providernet2-201 $vlan201_segment Create subnets openstack subnet create --network providernet1 --network-segment providernet1-101 --ip-version 4 --subnet-range 172.30.1.0/24 providernet1-subnet101 openstack subnet create --network providernet2 --network-segment providernet2-201 --ip-version 4 --subnet-range 172.30.2.0/24 providernet2-subnet201 Verify segments exist with corresponding aggregates openstack network segment list openstack aggregate list openstack aggregate show for each should show the host listed. Failure case: Remove br-provider2 from ovn-bridge-mappings sudo ovs-vsctl set open . external_ids:ovn-bridge-mappings="public:br-ex,providernet1:br-provider1" and notice that host is still set for the aggregate pointing to the segment for providernet2-201 Manually remove the host openstack aggregate remove host $aggregate_id $hostname and verify hosts is empty with openstack aggregate show $aggregate_id Re-add providernet2 to the ovn-bridge-mappings sudo ovs-vsctl set open . external_ids:ovn-bridge-mappings="public:br-ex,providernet1:br-provider1,providernet2:br-provider2" and verify with openstack aggregate show that the hosts field is still empty. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/2096941/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp