settingsLogin | Registersettings

[openstack-dev] [neutron] multiple agents with segment access

0 votes

Is it a known limitation that the ML2 plugin and associated drivers do not properly handle cases where there are multiple agents running on the same host? That is, two or more agents that reside on the same host and both report device/interface mappings for physical networks? One such setup is a set of nodes that are both running an L2 agent and a NIC SRIOV agent.

We have found two problems specific to this configuration and are wondering if these are known limitations, or simply not supported.

For example, in a configuration where a host has L2, DHCP, and SRIOV agents running on it, then:

1) The DHCP scheduler can schedule a network to be hosted by that DHCP agent even if the physical network is only supported by the SRIOV agent and not by the L2 agent. This can end up isolating the DHCP server as it will not have access to the underlying physical segment. This is happening because "filterhostswithnetworkaccess" in the Ml2Plugin will include the host because the SRIOV mech driver reports that it has access to that segment.

2) The Segment Plugin "segmenthostmappings" table gets overwritten with tuples for whichever agent reports in last. For example, if the L2 agent has physical network mappings for 2 different physical networks (physnet0, physnet1), but the SRIOV NIC agent only has 1 physical network reported (physnet2), the segmenthostmappings table will have data for only physnet2 if the SRIOV NIC agent reported last, or data for only both physnet0 and physnet1 if the L2 agent reported last. Data for physical networks belonging to the other agent will be erroneously removed as stale entries.

If it has been discussed before is there a plan to address this type of configuration?

Regards.
Allain

Allain Legacy, Software Developer, Wind River
direct 613.270.2279  fax 613.492.7870 skype allain.legacy
350 Terry Fox Drive, Suite 200, Ottawa, Ontario, K2K 2W5

 


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
asked Nov 15, 2017 in openstack-dev by Legacy,_Allain (220 points)  

2 Responses

0 votes

In general, you should be able to run both regular l2 agent (ovs) and
sriov agent. If you have problems with it, we should probably assume
it's a bug. Please report.

On Tue, Nov 14, 2017 at 8:02 AM, Legacy, Allain
Allain.Legacy@windriver.com wrote:
Is it a known limitation that the ML2 plugin and associated drivers do not properly handle cases where there are multiple agents running on the same host? That is, two or more agents that reside on the same host and both report device/interface mappings for physical networks? One such setup is a set of nodes that are both running an L2 agent and a NIC SRIOV agent.

We have found two problems specific to this configuration and are wondering if these are known limitations, or simply not supported.

For example, in a configuration where a host has L2, DHCP, and SRIOV agents running on it, then:

1) The DHCP scheduler can schedule a network to be hosted by that DHCP agent even if the physical network is only supported by the SRIOV agent and not by the L2 agent. This can end up isolating the DHCP server as it will not have access to the underlying physical segment. This is happening because "filterhostswithnetworkaccess" in the Ml2Plugin will include the host because the SRIOV mech driver reports that it has access to that segment.

2) The Segment Plugin "segmenthostmappings" table gets overwritten with tuples for whichever agent reports in last. For example, if the L2 agent has physical network mappings for 2 different physical networks (physnet0, physnet1), but the SRIOV NIC agent only has 1 physical network reported (physnet2), the segmenthostmappings table will have data for only physnet2 if the SRIOV NIC agent reported last, or data for only both physnet0 and physnet1 if the L2 agent reported last. Data for physical networks belonging to the other agent will be erroneously removed as stale entries.

If it has been discussed before is there a plan to address this type of configuration?

Regards.
Allain

Allain Legacy, Software Developer, Wind River
direct 613.270.2279 fax 613.492.7870 skype allain.legacy
350 Terry Fox Drive, Suite 200, Ottawa, Ontario, K2K 2W5


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 14, 2017 by Ihar_Hrachyshka (35,300 points)   3 9 9
0 votes

-----Original Message-----
From: Ihar Hrachyshka [mailto:ihrachys@redhat.com]
Sent: Tuesday, November 14, 2017 4:19 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [neutron] multiple agents with segment access

In general, you should be able to run both regular l2 agent (ovs) and sriov
agent. If you have problems with it, we should probably assume it's a bug.
Please report.

Ok, since this affects two distinct parts of the system I created 2 separate bug reports:

https://bugs.launchpad.net/neutron/+bug/1732445
https://bugs.launchpad.net/neutron/+bug/1732448


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Nov 15, 2017 by Legacy,_Allain (220 points)  
...