[RFE] Changing segmentation_id of existing network should be allowed

Bug #1806052 reported by Brian Haley on 2018-11-30
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Wishlist
Rodolfo Alonso

Bug Description

In the context of a live datacenter, sometimes the network teams re-organize their VLANs by changing VLAN IDs. This is pretty straightforward in the context of network configuration and physical servers, but when using ML2 VLAN provider networks, those IDs cannot be updated. The only possible solution here would be to delete those networks and recreate them with a different VLAN ID which might be a problem when you have 1000 VMs and 2000 ports.

For this reason it would be good if we could change the segmentation_id of an existing network.

Bence Romsics (bence-romsics) wrote :

Brian, I'm absolutely sure you know this, but for other's to see: This will be discussed on the neutron-drivers meeting:

http://eavesdrop.openstack.org/#Neutron_drivers_Meeting

Miguel Lavalle (minsel) wrote :

This entails re-binding all the ports in the network, since we need to re-wire the network in the data plane, right?

tags: added: rfe-confirmed
removed: rfe
Akihiro Motoki (amotoki) wrote :

It is technically possible.

My question is what are the requirements when changing VLAN ID.
For example, do we need to ensure connectivity during changing VLAN ID?
I think we need to accept some downtime at least.

Miguel Lavalle (minsel) wrote :

Yes, it makes sense. Let's discuss it in the meeting

tags: added: rfe-triaged
removed: rfe-confirmed
Miguel Lavalle (minsel) wrote :

This RFE has been approved by the drivers team. Next step is write a spec

tags: added: rfe-approved
removed: rfe-triaged
Brian Haley (brian-haley) wrote :

Some notes from the drivers meeting:

First, answering the questions - yes, this would entail re-binding all the ports in the network, possibly causing downtime for instances. This is considered Ok for this use case since removing and re-adding the network would be even longer.

We need to consider how to do this in such a way that we don't overwhelm the server with massive re-bindings however, will write a spec describing the steps.

Fix proposed to branch: master
Review: https://review.openstack.org/632984

Changed in neutron:
assignee: nobody → Rodolfo Alonso (rodolfo-alonso-hernandez)
status: New → In Progress

Fix proposed to branch: master
Review: https://review.openstack.org/633165

Reviewed: https://review.openstack.org/633583
Committed: https://git.openstack.org/cgit/openstack/neutron-specs/commit/?id=3f9ca0e441491ff49426dfe62ab6b93c082eb180
Submitter: Zuul
Branch: master

commit 3f9ca0e441491ff49426dfe62ab6b93c082eb180
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Mon Jan 28 19:00:04 2019 +0000

    Changing segmentation ID of existing network should be allowed

    In the context of a live datacenter, sometimes the network teams re-organize
    their VLANs by changing VLAN IDs. This is pretty straightforward in the
    context of network configuration and physical servers, but when using ML2
    VLAN provider networks, those IDs cannot be updated. The only possible
    solution here would be to delete those networks and recreate them with a
    different segmentation ID which might be a problem when you have 1000 VMs
    and 2000 ports.

    For this reason it would be good if we could change the segmentation ID of
    an existing network.

    Change-Id: I71b5b4ff2ba7ace3a8523de2ae6e4dc6a1c110c2
    Related-Bug: #1806052

Change abandoned by Rodolfo Alonso Hernandez (<email address hidden>) on branch: master
Review: https://review.openstack.org/648141
Reason: My bad: this exception exists in Neutron... and I didn't find it!

Reviewed: https://review.openstack.org/633165
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6f26f4026b528e778fa653f51baff39f889181be
Submitter: Zuul
Branch: master

commit 6f26f4026b528e778fa653f51baff39f889181be
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Fri Jan 25 09:04:29 2019 +0000

    Change provider network segmentation ID

    In the ML2 plugin, allow to update the segmentation ID of a single
    provider network.

    A new method in the "SimpleAgentMechanismDriverBase" is added:
    "provider_network_attribute_updates_supported". This method returns,
    if implemented in the specific agent, which network attributes can
    be updated on a live network with ports bound to this network back-end.
    By default, an empty list is returned.

    Partial-Bug: #1806052

    Change-Id: I2595335d6fbc51562b070f14eaeaadf49cf7c418

Reviewed: https://review.openstack.org/644385
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=58ce96a7c296961e22a2ea9d4e71ec629bddd4fa
Submitter: Zuul
Branch: master

commit 58ce96a7c296961e22a2ea9d4e71ec629bddd4fa
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Mon Mar 18 18:19:38 2019 +0000

    Decouple local VLAN internal management and OVS enforcement

    The internal local VLAN management is now an independent function,
    ready to be used in follow-up patches.

    Change-Id: I83f6983c444c0426b65f56130fa027285691567b
    Partial-Bug: #1806052

Reviewed: https://review.opendev.org/632984
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2bcc178be15dce850162be76a870e443eee84c47
Submitter: Zuul
Branch: master

commit 2bcc178be15dce850162be76a870e443eee84c47
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Wed Jan 23 16:21:33 2019 +0000

    Change provider network segmentation ID in OVS agent

    Added the ability to change the segmentation ID of a network
    with ports bound to OVS agent. The rules, both in the integration
    bridge and the physical bridge, to convert the internal VLAN tag
    and the external segmentation ID (external VLAN tag) are deleted
    and created again with the new value. The traffic from the tenant
    networks will be tagged then with the new segmentation ID.

    Added get network details agent RPC call to retrieve the information
    of the updated network.

    Partial-Bug: #1806052

    Change-Id: I69f6f3ef717c3ed40218099b1f389afd3d39bd62

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers