yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95281
[Bug 2096941] [NEW] [OVN Routed Provider Networks] : New Compute nodes are not added to their segment aggregate
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