yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #69205
[Bug 1732448] [NEW] segment host mapping table overwritten by multiple l2 agents
Public bug reported:
The routed-networks feature introduced changes to create mapping entries
linking hosts to segments [1]. That feature assumes that only a single
L2 agent will be reporting device mappings to physical networks. If
multiple agents are running (e.g., OVS + SRIOV) then the
"segmenthostmappings" tuples which are created by a first agent
reporting state are overwritten when subsequent agents report state.
The segments data model and agent update callbacks [2] do not handle
cases where multiple L2 agents are present on a node.
The configuration to reproduce this is simple. Create a compute node
where the OVS agent reports interface mappings to physnet0 and the SRIOV
agent reports device mappings to physnet1. Then create a network with
provider:physical_network=physnet1, and then another network with
provider:physical_network=physnet0. Those networks will each create a
NetworkSegment entry. Then restart the OVS agent. This will cause the
segmenthostmappings table to be overwritten with only those segments
accessible via the OVS agent. Then restart the SRIOV agent. This will
cause the segmenthostmappings table to be overwritten with only those
segments accessible via the SRIOV agent.
This impacts the scheduling of DHCP networks and IP address allocations
for networks that have routed segments enabled.
[1] https://git.openstack.org/cgit/openstack/neutron/commit/?id=3d3f0595ebb3a20949d52b7226a2d4551f0eaf6d
[2] neutron.services.segments.db._update_segment_host_mapping_for_agent
** Affects: neutron
Importance: Undecided
Status: New
** Description changed:
The routed-networks feature introduced changes to create mapping entries
linking hosts to segments [1]. That feature assumes that only a single
L2 agent will be reporting device mappings to physical networks. If
multiple agents are running (e.g., OVS + SRIOV) then the
- "segmenthostmappings" tuples which are creating by a first agent
+ "segmenthostmappings" tuples which are created by a first agent
reporting state are overwritten when subsequent agents report state.
- The segments data model and agent update callbacks [2] do handle cases
- where multiple L2 agents are present on a node.
+ The segments data model and agent update callbacks [2] do not handle
+ cases where multiple L2 agents are present on a node.
The configuration to reproduce this is simple. Create a compute node
where the OVS agent reports interface mappings to physnet0 and the SRIOV
agent reports device mappings to physnet1. Then create a network with
provider:physical_network=physnet1, and then another network with
provider:physical_network=physnet0. Those networks will each create a
NetworkSegment entry. Then restart the OVS agent. This will cause the
segmenthostmappings table to be overwritten with only those segments
accessible via the OVS agent. Then restart the SRIOV agent. This will
cause the segmenthostmappings table to be overwritten with only those
segments accessible via the SRIOV agent.
This impacts the scheduling of DHCP networks and IP address allocations
for networks that have routed segments enabled.
[1] https://git.openstack.org/cgit/openstack/neutron/commit/?id=3d3f0595ebb3a20949d52b7226a2d4551f0eaf6d
[2] neutron.services.segments.db._update_segment_host_mapping_for_agent
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1732448
Title:
segment host mapping table overwritten by multiple l2 agents
Status in neutron:
New
Bug description:
The routed-networks feature introduced changes to create mapping
entries linking hosts to segments [1]. That feature assumes that only
a single L2 agent will be reporting device mappings to physical
networks. If multiple agents are running (e.g., OVS + SRIOV) then the
"segmenthostmappings" tuples which are created by a first agent
reporting state are overwritten when subsequent agents report state.
The segments data model and agent update callbacks [2] do not handle
cases where multiple L2 agents are present on a node.
The configuration to reproduce this is simple. Create a compute node
where the OVS agent reports interface mappings to physnet0 and the
SRIOV agent reports device mappings to physnet1. Then create a network
with provider:physical_network=physnet1, and then another network with
provider:physical_network=physnet0. Those networks will each create a
NetworkSegment entry. Then restart the OVS agent. This will cause
the segmenthostmappings table to be overwritten with only those
segments accessible via the OVS agent. Then restart the SRIOV agent.
This will cause the segmenthostmappings table to be overwritten with
only those segments accessible via the SRIOV agent.
This impacts the scheduling of DHCP networks and IP address
allocations for networks that have routed segments enabled.
[1] https://git.openstack.org/cgit/openstack/neutron/commit/?id=3d3f0595ebb3a20949d52b7226a2d4551f0eaf6d
[2] neutron.services.segments.db._update_segment_host_mapping_for_agent
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1732448/+subscriptions
Follow ups