← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1609258] [NEW] neutron ml2 local vlan assignment is nondeterministic

 

Public bug reported:

When neutron ovs agent assign local vlan to a logic network, the assignment is non deterministic.
For example, in our deployment, we typically have one or two network associated to one hypervisor. We expect the local vlan assignment to have vlan tag 1 or 2, but as the ports get deleted and vlan reclaimed, the vlan assignment would keeps increasing unexpected. 
While there is no functional impact to the data-path, for a large scale deployment with thousands of hypervisors, we would expect the assignment to be deterministic and consistent across all hypervisors.


Pre-condition: 

neutron network already configured, and is associated with the hypervisor under test
make the hypervisor clean and no VMs landed on it.
service service neutron-plugin-openvswitch-agent restart
ovs-vsctl show | grep tag
<shows nothing, since no VM is attached yet>

Steps to reproduce the issue.
1. boot one VM on the given hypervisor
nova boot --flavor g1-standard-2 --image <IMG-UUID> cr_sanity --availability-zone nova:h5wy282

2. on hypervisor
ovs-vsctl show | grep tag
            tag: 1

ovs-agent log:
INFO [neutron.plugins.openvswitch.agent.ovs_neutron_agent] 528 [-OVS-AGENT-] Assigning 1 as local vlan for net-id=ffd84cfd-e7d9-435c-a7c4-61600974d0af

3. delete the first VM.
nova delete <UUID>

INFO [neutron.plugins.openvswitch.agent.ovs_neutron_agent] 629 [-OVS-
AGENT-] Reclaiming vlan = 1 from net-id = ffd84cfd-e7d9-435c-
a7c4-61600974d0af


4. boot another VM on the same hypervisor
nova boot --flavor g1-standard-2 --image <IMG-UUID> cr_sanity --availability-zone nova:h5wy282

5. on hypervisor
ovs-vsctl show | grep tag
            tag: 2

INFO [neutron.plugins.openvswitch.agent.ovs_neutron_agent] 528 [-OVS-
AGENT-] Assigning 2 as local vlan for net-id=ffd84cfd-e7d9-435c-
a7c4-61600974d0af

Expected:
vlan 1 is reclaimed and should be assigned when the VM is spawn the second time.

Actual:
on second time VM is created, vlan 2 is assigned.

Openstack version: stable/kilo
Linux: ubuntu 12.04

** Affects: neutron
     Importance: Undecided
     Assignee: Aihua Edward Li (aihuaedwardli)
         Status: New


** Tags: rfe

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

Title:
  neutron ml2 local vlan assignment is nondeterministic

Status in neutron:
  New

Bug description:
  When neutron ovs agent assign local vlan to a logic network, the assignment is non deterministic.
  For example, in our deployment, we typically have one or two network associated to one hypervisor. We expect the local vlan assignment to have vlan tag 1 or 2, but as the ports get deleted and vlan reclaimed, the vlan assignment would keeps increasing unexpected. 
  While there is no functional impact to the data-path, for a large scale deployment with thousands of hypervisors, we would expect the assignment to be deterministic and consistent across all hypervisors.

  
  Pre-condition: 

  neutron network already configured, and is associated with the hypervisor under test
  make the hypervisor clean and no VMs landed on it.
  service service neutron-plugin-openvswitch-agent restart
  ovs-vsctl show | grep tag
  <shows nothing, since no VM is attached yet>

  Steps to reproduce the issue.
  1. boot one VM on the given hypervisor
  nova boot --flavor g1-standard-2 --image <IMG-UUID> cr_sanity --availability-zone nova:h5wy282

  2. on hypervisor
  ovs-vsctl show | grep tag
              tag: 1

  ovs-agent log:
  INFO [neutron.plugins.openvswitch.agent.ovs_neutron_agent] 528 [-OVS-AGENT-] Assigning 1 as local vlan for net-id=ffd84cfd-e7d9-435c-a7c4-61600974d0af

  3. delete the first VM.
  nova delete <UUID>

  INFO [neutron.plugins.openvswitch.agent.ovs_neutron_agent] 629 [-OVS-
  AGENT-] Reclaiming vlan = 1 from net-id = ffd84cfd-e7d9-435c-
  a7c4-61600974d0af

  
  4. boot another VM on the same hypervisor
  nova boot --flavor g1-standard-2 --image <IMG-UUID> cr_sanity --availability-zone nova:h5wy282

  5. on hypervisor
  ovs-vsctl show | grep tag
              tag: 2

  INFO [neutron.plugins.openvswitch.agent.ovs_neutron_agent] 528 [-OVS-
  AGENT-] Assigning 2 as local vlan for net-id=ffd84cfd-e7d9-435c-
  a7c4-61600974d0af

  Expected:
  vlan 1 is reclaimed and should be assigned when the VM is spawn the second time.

  Actual:
  on second time VM is created, vlan 2 is assigned.

  Openstack version: stable/kilo
  Linux: ubuntu 12.04

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


Follow ups