ML2 plugin Plugin does not support updating provider attributes

Bug #1428062 reported by Itzik Brown
52
This bug affects 13 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
siddharth

Bug Description

When trying to update segmentation_id
# neutron net-update --provider:segmentation_id=190 public1

The update fails and in Neutron error:
update failed (client error): Invalid input for operation: Plugin does not support updating provider attributes

Changed in neutron:
assignee: nobody → Rajesh Asanabada (rasanaba)
Revision history for this message
Rajesh Asanabada (rasanaba) wrote :

As per my observations/findings from ice house code base, this seems to be expected behavior. Could you please provide more details regard this problem

Revision history for this message
Itzik Brown (itzikb1) wrote :

As in the description: It should be possible, for example, to change the segmentation id of the network.

Revision history for this message
Rajesh Asanabada (rasanaba) wrote :

From Ice House ML2 Plugin code base I have understood that ,ML2 Plugin will not support updating the provider attributes( explicitly added the validation in the beginning of API implementation itself to restrict the user to update the provider attributes and will throw an error as mentioned in the description, if the user trying to update the provider attributes).Hence I have mentioned it as an expected behavior. Could someone please correct me if my understanding is wrong.

Revision history for this message
senthilmageswaran (senthilmageswaran-muthusamy) wrote :

From Neutron API document(http://developer.openstack.org/api-ref-networking-v2-ext.html#network_provider-ext) under update network section, it is explained that the segmentaion_id attribute is based on network_type attribute,
if network_type=vlan then segmentation_id=vlan identifier
if network_type=gre then segmentation_id=gre key
For other network_type like local and flat, segmentaion_id is not applicable.

So, i think if segmentaion_id is tried to modify for vlan and gre network_types it should allowed.

Revision history for this message
senthilmageswaran (senthilmageswaran-muthusamy) wrote :

@Itzik Brown==> kindly let us know for which network_type you tried to modify segmentation_id

Changed in neutron:
status: New → Opinion
status: Opinion → Incomplete
Revision history for this message
Itzik Brown (itzikb1) wrote :

The network_type is VLAN.

Itzik Brown (itzikb1)
Changed in neutron:
status: Incomplete → New
Revision history for this message
senthilmageswaran (senthilmageswaran-muthusamy) wrote :

Kindly refer the API reference link,
http://developer.openstack.org/api-ref-networking-v2-ext.html

Under “Networks multiple provider extension” , it is stated that the provider attributes cannot be updated.

Not allowing to update the provider attributes is the expected behavior as per the API reference

Changed in neutron:
status: New → Invalid
Changed in neutron:
status: Invalid → In Progress
Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

i thought this was by design.

Revision history for this message
David Hill (david-hill-ubisoft) wrote :

Hello guys,

   What happens if we have 1000 ports (I'm taking any numbers here) and for some reasons, the network team wants to change the VLAN tag from 1 to 1000 for some reasons. I mean, we need to have a way of changing the segmentation ID without tearing everything down and rebuilding the whole infrastructure.

My 0.02$ here.

Thank you very much,

Dave

Changed in neutron:
assignee: Rajesh Asanabada (rasanaba) → nobody
status: In Progress → New
Revision history for this message
Mark (markp88) wrote :

This is a major issue. It doesn't matter much whether it is by design or not. I have several hosts on a number of subnets whose vlan id has changed (due to network relocation). Not being able to change the segmentation id is a big flaw.

Is there no workaround?

Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

probably it makes sense to allow changing segmentation_id.
"support updating provider attributes" is a too generic description though.

Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :

related bug 1663087

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron-lib (master)

Change abandoned by boden (<email address hidden>) on branch: master
Review: https://review.openstack.org/421961
Reason: The vmware-nsx plugin is (or will be) support update of provider network extended attributes; so we do have at least 1 project using it. It folks are in favor of adding support (at least thinking about it someday), so let's just leave things as-is for now.

Revision history for this message
siddharth (siddharth.parnam) wrote :

Hi All,

As part of the API documentation : https://developer.openstack.org/api-ref/networking/v2/index.html
it is clearly mentioned that there are no possibility to make any updates to the attributes provider:network_type, provider:physical_network, and provider:segmentation_id as part of the network update request even if the configurations are allowed for modifications
as part of : "providernet.py File" for the network_type=vlan.

Here is the Error we will encounter on modifying the attributes:
Error message:
{
    "NeutronError": {
        "detail": "",
        "message": "Invalid input for operation: Plugin does not support updating provider attributes.",
        "type": "InvalidInput"
    }

So as mentioned in the above discussions there is no current handling / implementation to update the provider network attributes and we certainly think that disabling the Flags in providernet.py will make any difference to disabling the support.

So let us know if we can handle the network updates possible for the segments as part of future releases.
Can we look into the Bug "multiprovidernet updates are ignored" to support this behaviour change?
Or there is any other opinion on the analysis, please correct on the understanding.

Changed in neutron:
status: New → Incomplete
status: Incomplete → Confirmed
importance: Undecided → Wishlist
Changed in neutron:
assignee: nobody → siddharth (siddharth.parnam)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron-lib (master)
Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron-lib (master)

Reviewed: https://review.opendev.org/c/openstack/neutron-lib/+/862808
Committed: https://opendev.org/openstack/neutron-lib/commit/30b74827f735bb16669b7ffdaabc2aec002bb77e
Submitter: "Zuul (22348)"
Branch: master

commit 30b74827f735bb16669b7ffdaabc2aec002bb77e
Author: elajkat <email address hidden>
Date: Thu Oct 27 14:10:27 2022 +0200

    Api-ref: Add note that only VLAN segmentation-id can be changed

    Since [1] it is allowed to change the provider:segmentation-id of VLAN
    type networks.

    [1]: https://review.opendev.org/q/topic:bug%252F1806052

    Closes-Bug: #1428062
    Related-Bug: #1806052
    Change-Id: Id675e897b23bce1b478ab6c1e438c1d253c53a07

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron-lib 3.2.0

This issue was fixed in the openstack/neutron-lib 3.2.0 release.

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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