dhcp scheduled to node without l2 segment access

Bug #1732445 reported by Allain Legacy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Won't Fix
Medium
Unassigned

Bug Description

In a past release a feature was introduced to make DHCP scheduling physical network aware [1]. While that commit addressed the simple case of each node only having a single L2 agent running it makes it clear in the description that it does not support cases where two L2 agents (e.g., OVS + SRIOV) exist on the same node. In such a configuration it is possible for the SRIOV mechanism driver to report that it has access to a segment while the OVS mechanism driver reports that it does not. Since the ML2 plugin [2] assumes that a host has access to a segment as long as one mechanism driver reports that it does it will cause the DHCP scheduler to create a binding on a host that potentially does not have L2 access to that segment.

We have run it to this problem in stable/newton but the most recent code in master appears to also have this same limitation.

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 with a DHCP enabled subnet and the DHCP scheduler will allow scheduling of that network to the node when it should not because the OVS agent does not have access to physnet1.

[1] https://git.openstack.org/cgit/openstack/neutron/commit/?id=0267c6a5acdcb68ea7e83ecb980362c4235ed1d7
[2] neutron.db.agents_db.AgentDbMixin.filter_hosts_with_network_access

Revision history for this message
Brian Haley (brian-haley) wrote :

This bug seems to be referenced in the commit message of that change:

"Such host filtering has some limitations if a dhcp-agent is on a host handled by multiple l2 mechanisms with one mechanism claiming network reachability but not the one handling dhcp-agent ports. Indeed the host is able to reach the network but not dhcp-agent ports! Such limitation will be handled in a follow-up change using host+vif_type filtering."

And the code in filter_hosts_with_segment_access() has this comment:

    This method returns all hosts from candidate_hosts with access to a
    segment according to at least one driver.

Changed in neutron:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Bug closed due to lack of activity, please feel free to reopen if needed.

Changed in neutron:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.