← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1698804] Re: Update to existing neutron network results in un-usable network

 

Reviewed:  https://review.openstack.org/475891
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=be8e9fc425b39090fedd2d530db1cd1143ec13d6
Submitter: Jenkins
Branch:    master

commit be8e9fc425b39090fedd2d530db1cd1143ec13d6
Author: Manjeet Singh Bhatia <manjeet.s.bhatia@xxxxxxxxx>
Date:   Tue Jun 20 18:10:37 2017 +0000

    Add provider info to network for update
    
    Ml2 Plugin is not sending provider info
    while update_network to mechanism update_precommit,
    due to which network becomes un-usable, This patch
    extends the updated_network to include provider info.
    
    Change-Id: I1838ce375b80f26ad37ede4bf438317f3bbd439f
    Closes-Bug: #1698804


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  Update to existing neutron network results in un-usable network

Status in networking-odl:
  Confirmed
Status in neutron:
  Fix Released

Bug description:
  Updating an existing Neutron Network with the OpenDaylight V2 Driver,
  renders that Neutron Network un-usable inside OpenDaylight Controller.

  This is because, when we update existing network the ML2 ODL-V2 Driver
  removes the network-type and segment-information when the update-
  network REST API is invoked towards the ODL controller.   This results
  in Neutron Northbound in the  ODL controller leaving the network with
  no provider-type and thus renders that network un-usable further for
  any operations.

  Steps for the problem:

  neutron net-create ghi
  neutron net-update ghi --description "bye"

  Below is the Ocata V2 ML2 Driver logs when the incident occurred:

  OCATA V2 DRIVER

  2017-06-16 10:33:35.987 INFO networking_odl.journal.journal [^[[00;36m-] ^[[01;35mSyncing create network e2cbdd60-f6af-4c00-901c-cbb6047c4d44^[[00m
  2017-06-16 10:33:35.988 DEBUG networking_odl.common.client [^[[00;36m-] ^[[01;35mSending METHOD (post) URL (http://192.168.56.1:8080/controller/nb/v2/neutron/networks) JSON ({
    "network": {
      "name": "ghi",
      "provider:physical_network": null,
      "admin_state_up": true,
      "tenant_id": "b77ab8e96b7f4593b0848c46e1f0894c",
      "mtu": 1500,
      "router:external": false,
      "provider:network_type": "vxlan",
      "port_security_enabled": true,
      "shared": false,
      "project_id": "b77ab8e96b7f4593b0848c46e1f0894c",
      "id": "e2cbdd60-f6af-4c00-901c-cbb6047c4d44",
      "provider:segmentation_id": 101
    }
  OST /v2.0/networks.json HTTP/1.1" 201 867 2.248803^[[00m
  2017-06-16 10:33:36.033 DEBUG networking_odl.common.client [^[[00;36m-] ^[[01;35mGot response:
  ({^M
     "network" : {^M
        "id" : "e2cbdd60-f6af-4c00-901c-cbb6047c4d44",^M
        "tenant_id" : "b77ab8e96b7f4593b0848c46e1f0894c",^M
        "name" : "ghi",^M
        "admin_state_up" : true,^M
        "status" : "ACTIVE",^M
        "shared" : false,^M
        "router:external" : false,^M
        "provider:network_type" : "vxlan",^M
        "status" : "ACTIVE",^M
        "shared" : false,^M
        "router:external" : false,^M
        "provider:network_type" : "vxlan",^M
        "status" : "ACTIVE",^M
        "shared" : false,^M
        "router:external" : false,^M
        "provider:network_type" : "vxlan",^M
        "provider:segmentation_id" : "101",^M
        "mtu" : 1500^M
     }^M

  2017-06-16 10:35:39.274 INFO networking_odl.journal.journal [^[[00;36m-] ^[[01;35mSyncing update network e2cbdd60-f6af-4c00-901c-cbb6047c4d44^[[00m
  2017-06-16 10:35:39.275 DEBUG networking_odl.common.client [^[[00;36m-] ^[[01;35mSending METHOD (put) URL (http://192.168.56.1:8080/controller/nb/v2/neutron/networks/e2cbdd60-f6af-4c00-901c-cbb6047c4d44) JSON ({
    "network": {
      "availability_zone_hints": [],
      "availability_zones": [],
      "name": "ghi",
      "admin_state_up": true,
      "port_security_enabled": true,
      "created_at": "2017-06-16T05:03:34Z",
      "tags": [],
      "updated_at": "2017-06-16T05:05:34Z",
      "ipv6_address_scope": null,
      "router:external": false,
      "revision_number": 4,
      "ipv4_address_scope": null,
      "vlan_transparent": null,
      "shared": false,
      "mtu": 1500,
      "description": "bye"
    }
  })^[[00m ^[[00;33mfrom (pid=17074) request /opt/stack/networking-odl/networking_odl/common/client.py:86^[[00m
  2017-06-16 10:35:39.307 DEBUG networking_odl.common.client [^[[00;36m-] ^[[01;35mGot response:
  ({^M
     "network" : {^M
        "id" : "e2cbdd60-f6af-4c00-901c-cbb6047c4d44",^M
        "tenant_id" : "b77ab8e96b7f4593b0848c46e1f0894c",^M
        "name" : "ghi",^M
        "admin_state_up" : true,^M
        "status" : "ACTIVE",^M
        "shared" : false,^M
        "router:external" : false,^M
        "segments" : [ ]^M
     }^M
  })^[[00m ^[[00;33mfrom (pid=17074) _check_rensponse /opt/stack/networking-odl/networking_odl/common/client.py:141^[[00m

  
  Similar trials on Newton release with V2-Driver for ML2 works correctly.  The logs from Newton runs thus:
  As you can see below, during the update-network REST API invocation to ODL Controller, the ML2 V2 Driver supplies the provider-type attributes to ODL Controller, thereby enabling ODL controller to retain that information in the Neutron Network.

  NEWTON V2 DRIVER

  2017-06-19 18:19:31.310 ^[[00;32mDEBUG networking_odl.common.client [^[[00;36m-^[[00;32m] ^[[01;35m^[[00;32mSending METHOD (post) URL (http://192.168.56.1:8080/controller/nb/v2/neutron/networks) JSON ({
    "network": {
      "name": "xyz",
      "provider:physical_network": null,
      "admin_state_up": true,
      "tenant_id": "9e82531e25644f94ab5276661cfc6c47",
      "mtu": 1500,
      "router:external": false,
      "provider:network_type": "vxlan",
      "port_security_enabled": true,
      "shared": false,
      "project_id": "9e82531e25644f94ab5276661cfc6c47",
      "id": "4e48b39c-dc73-45ff-a9a3-bf1b40ccfe1c",
      "provider:segmentation_id": 21
    }
  })^[[00m ^[[00;33mfrom (pid=25489) request /opt/stack/networking-odl/networking_odl/common/client.py:86^[[00m
  2017-06-19 18:19:31.812 ^[[00;32mDEBUG networking_odl.common.client [^[[00;36m-^[[00;32m] ^[[01;35m^[[00;32mGot response:
  ({^M
     "network" : {^M
        "id" : "4e48b39c-dc73-45ff-a9a3-bf1b40ccfe1c",^M
        "tenant_id" : "9e82531e25644f94ab5276661cfc6c47",^M
        "name" : "xyz",^M
        "admin_state_up" : true,^M
        "status" : "ACTIVE",^M
        "shared" : false,^M
        "router:external" : false,^M
        "provider:network_type" : "vxlan",^M
        "provider:segmentation_id" : "21",^M
        "mtu" : 1500^M
     }^M

  2017-06-19 18:20:25.814 ^[[00;32mDEBUG networking_odl.common.client [^[[00;36m-^[[00;32m] ^[[01;35m^[[00;32mSending METHOD (put) URL (http://192.168.56.1:8080/controller/nb/v2/neutron/networks/4e48b39c-dc73-45ff-a9a3-bf1b40ccfe1c) JSON ({
    "network": {
      "provider:physical_network": null,
      "ipv6_address_scope": null,
      "revision_number": 4,
      "port_security_enabled": true,
      "provider:network_type": "vxlan",
      "router:external": false,
      "availability_zone_hints": [],
      "availability_zones": [],
      "ipv4_address_scope": null,
      "shared": false,
      "description": "Hello xyz",
      "tags": [],
      "updated_at": "2017-06-19T12:50:25Z",
      "provider:segmentation_id": 21,
      "name": "xyz",
      "admin_state_up": true,
      "created_at": "2017-06-19T12:49:29Z",
      "mtu": 1450,
      "vlan_transparent": null
    }
  })^[[00m ^[[00;33mfrom (pid=25489) request /opt/stack/networking-odl/networking_odl/common/client.py:86^[[00m
  2017-06-19 18:20:25.840 ^[[00;32mDEBUG networking_odl.common.client [^[[00;36m-^[[00;32m] ^[[01;35m^[[00;32mGot response:
  ({^M
     "network" : {^M
        "id" : "4e48b39c-dc73-45ff-a9a3-bf1b40ccfe1c",^M
        "tenant_id" : "9e82531e25644f94ab5276661cfc6c47",^M
        "name" : "xyz",^M
        "admin_state_up" : true,^M
        "status" : "ACTIVE",^M
        "shared" : false,^M
        "router:external" : false,^M
        "provider:network_type" : "vxlan",^M
        "provider:segmentation_id" : "21",^M
        "segments" : [ ]^M
     }^M
  })^[[00m ^[[00;33mfrom (pid=25489) _check_rensponse /opt/stack/networking-odl/networking_odl/common/client.py:141^[[00m

To manage notifications about this bug go to:
https://bugs.launchpad.net/networking-odl/+bug/1698804/+subscriptions