← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1727262] [NEW] L3 agent config option to pass provider:physical_network while creating HA network

 

Public bug reported:

In a customer environment, they are using sriov and openvswitch like below
mechanism_drivers = openvswitch,sriovnicswitch
[ml2_type_vlan]
network_vlan_ranges=ovs:1300:1500,sriov:1300:1500
but sriov is enabled only on compute nodes and openvswitch on controllers.
When first HA router is created on a tenant, l3 agent is creating new HA tenant network with segmentation_id from ovs driver.
But when no more vlan ids available on ovs, it is picking up segmentation_id from sriov for later HA tenant networks.
As ovs agent in controllers only supporting ovs and not sriov, binding for HA router network port(i.e device_owner as router_ha_interface) is failing.
As HA network creation and HA router creation was succeful, but keepalived was not spawned, confusing admins why it was not spawned.

So we need to enhance l3 agent to pass "provider:physical_network" while creating HA network.
In this case, if l3 agent was able to pass provider:physical_network=ovs, and if no free vlan id's available, then both HA network and HA router creat
ion will fail and admin can debug the failure easily.


Binding failure errors

2017-10-24 04:47:04.835 411054 DEBUG neutron.plugins.ml2.drivers.mech_sriov.mech_driver.mech_driver [req-c50a05a9-d889-4abc-a267-dc3098ad854c - - - - -] Attempting to bind port 95f5d893-3490-410b-8c3e-cd82e4831f34 on network d439f80d-ce31-496b-b048-a1056ed3f8b7 bind_port /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py:111
2017-10-24 04:47:04.836 411054 DEBUG neutron.plugins.ml2.drivers.mech_sriov.mech_driver.mech_driver [req-c50a05a9-d889-4abc-a267-dc3098ad854c - - - - -] Refusing to bind due to unsupported vnic_type: normal bind_port /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py:116
2017-10-24 04:47:04.836 411054 ERROR neutron.plugins.ml2.managers [req-c50a05a9-d889-4abc-a267-dc3098ad854c - - - - -] Failed to bind port 95f5d893-3490-410b-8c3e-cd82e4831f34 on host corea-controller0.mtcelab.com for vnic_type normal using segments [{'segmentation_id': 1321, 'physical_network': u'sriov_a', 'id': u'1ec5240e-84c1-4fad-b9ff-a40cea8ec14e', 'network_type': u'vlan'}]


[stack@txwlvcpdirector04 ~]$ neutron net-show d439f80d-ce31-496b-b048-a1056ed3f8b7
+---------------------------+----------------------------------------------------+
| Field                     | Value                                              |
+---------------------------+----------------------------------------------------+
| admin_state_up            | True                                               |
| availability_zone_hints   |                                                    |
| availability_zones        |                                                    |
| created_at                | 2017-10-17T22:17:29Z                               |
| description               |                                                    |
| id                        | d439f80d-ce31-496b-b048-a1056ed3f8b7               |
| ipv4_address_scope        |                                                    |
| ipv6_address_scope        |                                                    |
| mtu                       | 9200                                               |
| name                      | HA network tenant ca7ceaf971014d01992b455119ca5990 |
| port_security_enabled     | True                                               |
| project_id                |                                                    |
| provider:network_type     | vlan                                               |
| provider:physical_network | sriov_a                                            |
| provider:segmentation_id  | 1321                                               |
| qos_policy_id             |                                                    |
| revision_number           | 5                                                  |
| router:external           | False                                              |
| shared                    | False                                              |
| status                    | ACTIVE                                             |
| subnets                   | 4bdaed16-43c7-4b5e-acf2-0e9e55f44304               |
| tags                      |                                                    |
| tenant_id                 |                                                    |
| updated_at                | 2017-10-17T22:17:29Z                               |
+---------------------------+----------------------------------------------------+

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: l3-ha

** Tags added: l3-ha

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1727262

Title:
  L3 agent config option to pass provider:physical_network while
  creating HA network

Status in neutron:
  New

Bug description:
  In a customer environment, they are using sriov and openvswitch like below
  mechanism_drivers = openvswitch,sriovnicswitch
  [ml2_type_vlan]
  network_vlan_ranges=ovs:1300:1500,sriov:1300:1500
  but sriov is enabled only on compute nodes and openvswitch on controllers.
  When first HA router is created on a tenant, l3 agent is creating new HA tenant network with segmentation_id from ovs driver.
  But when no more vlan ids available on ovs, it is picking up segmentation_id from sriov for later HA tenant networks.
  As ovs agent in controllers only supporting ovs and not sriov, binding for HA router network port(i.e device_owner as router_ha_interface) is failing.
  As HA network creation and HA router creation was succeful, but keepalived was not spawned, confusing admins why it was not spawned.

  So we need to enhance l3 agent to pass "provider:physical_network" while creating HA network.
  In this case, if l3 agent was able to pass provider:physical_network=ovs, and if no free vlan id's available, then both HA network and HA router creat
  ion will fail and admin can debug the failure easily.

  
  Binding failure errors

  2017-10-24 04:47:04.835 411054 DEBUG neutron.plugins.ml2.drivers.mech_sriov.mech_driver.mech_driver [req-c50a05a9-d889-4abc-a267-dc3098ad854c - - - - -] Attempting to bind port 95f5d893-3490-410b-8c3e-cd82e4831f34 on network d439f80d-ce31-496b-b048-a1056ed3f8b7 bind_port /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py:111
  2017-10-24 04:47:04.836 411054 DEBUG neutron.plugins.ml2.drivers.mech_sriov.mech_driver.mech_driver [req-c50a05a9-d889-4abc-a267-dc3098ad854c - - - - -] Refusing to bind due to unsupported vnic_type: normal bind_port /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py:116
  2017-10-24 04:47:04.836 411054 ERROR neutron.plugins.ml2.managers [req-c50a05a9-d889-4abc-a267-dc3098ad854c - - - - -] Failed to bind port 95f5d893-3490-410b-8c3e-cd82e4831f34 on host corea-controller0.mtcelab.com for vnic_type normal using segments [{'segmentation_id': 1321, 'physical_network': u'sriov_a', 'id': u'1ec5240e-84c1-4fad-b9ff-a40cea8ec14e', 'network_type': u'vlan'}]

  
  [stack@txwlvcpdirector04 ~]$ neutron net-show d439f80d-ce31-496b-b048-a1056ed3f8b7
  +---------------------------+----------------------------------------------------+
  | Field                     | Value                                              |
  +---------------------------+----------------------------------------------------+
  | admin_state_up            | True                                               |
  | availability_zone_hints   |                                                    |
  | availability_zones        |                                                    |
  | created_at                | 2017-10-17T22:17:29Z                               |
  | description               |                                                    |
  | id                        | d439f80d-ce31-496b-b048-a1056ed3f8b7               |
  | ipv4_address_scope        |                                                    |
  | ipv6_address_scope        |                                                    |
  | mtu                       | 9200                                               |
  | name                      | HA network tenant ca7ceaf971014d01992b455119ca5990 |
  | port_security_enabled     | True                                               |
  | project_id                |                                                    |
  | provider:network_type     | vlan                                               |
  | provider:physical_network | sriov_a                                            |
  | provider:segmentation_id  | 1321                                               |
  | qos_policy_id             |                                                    |
  | revision_number           | 5                                                  |
  | router:external           | False                                              |
  | shared                    | False                                              |
  | status                    | ACTIVE                                             |
  | subnets                   | 4bdaed16-43c7-4b5e-acf2-0e9e55f44304               |
  | tags                      |                                                    |
  | tenant_id                 |                                                    |
  | updated_at                | 2017-10-17T22:17:29Z                               |
  +---------------------------+----------------------------------------------------+

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1727262/+subscriptions