when device_id of a port is updated with the UUID of VN, the VN gets deleted

Bug #1337453 reported by Vedamurthy Joshi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
High
Sachin Bansal

Bug Description

Build : 1.06 52

When a port is updated for device-id to have the UUID of the VN the port is part of, the VN gets deleted altogether!

root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0# neutron net-create test1
Created a new network:
+-------------------------+--------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------+
| admin_state_up | True |
| contrail:fq_name | default-domain |
| | admin |
| | test1 |
| contrail:instance_count | 0 |
| id | a631c0e6-4deb-4636-938c-ff86e2e3eb44 |
| name | test1 |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | 6f328a840c6541d6b76030f447e43a03 |
+-------------------------+--------------------------------------+
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0#
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0# neutron subnet-create test1 30.1.1.0/24
Created a new subnet:
+-------------------------+--------------------------------------------+
| Field | Value |
+-------------------------+--------------------------------------------+
| allocation_pools | {"start": "30.1.1.2", "end": "30.1.1.254"} |
| cidr | 30.1.1.0/24 |
| contrail:instance_count | 0 |
| contrail:ipam_fq_name | default-domain |
| | default-project |
| | default-network-ipam |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 30.1.1.1 |
| host_routes | |
| id | 5b0c6d73-7478-4c47-b70c-dbe97d5f20a8 |
| ip_version | 4 |
| name | |
| network_id | a631c0e6-4deb-4636-938c-ff86e2e3eb44 |
| tenant_id | 6f328a840c6541d6b76030f447e43a03 |
+-------------------------+--------------------------------------------+
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0#

root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0# neutron port-create test1
Created a new port:
+-----------------------+---------------------------------------------------------------------------------+
| Field | Value |
+-----------------------+---------------------------------------------------------------------------------+
| admin_state_up | True |
| binding:capabilities | {"port_filter": true} |
| binding:vif_type | vrouter |
| device_id | |
| device_owner | |
| fixed_ips | {"subnet_id": "5b0c6d73-7478-4c47-b70c-dbe97d5f20a8", "ip_address": "30.1.1.2"} |
| id | da53646d-2246-4e2e-adf0-4c3593dfb5f6 |
| mac_address | 02:da:53:64:6d:22 |
| name | da53646d-2246-4e2e-adf0-4c3593dfb5f6 |
| network_id | a631c0e6-4deb-4636-938c-ff86e2e3eb44 |
| port_security_enabled | True |
| security_groups | bc19ca57-de14-4c40-88cd-80ef742cec44 |
| status | ACTIVE |
| tenant_id | 6f328a840c6541d6b76030f447e43a03 |
+-----------------------+---------------------------------------------------------------------------------+
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0# neutron port-update da53646d-2246-4e2e-adf0-4c3593dfb5f6 --device_id a631c0e6-4deb-4636-938c-ff86e2e3eb44
Request Failed: internal server error while processing your request.
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0# neutron net-show a631c0e6-4deb-4636-938c-ff86e2e3eb44
Network a631c0e6-4deb-4636-938c-ff86e2e3eb44 could not be found

root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0#

root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0# neutron net-list |grep test1
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0#
root@nodec22:/usr/lib/python2.7/dist-packages/neutronclient/v2_0#

neutron server log:

2014-07-03 22:59:34.447 DEBUG [urllib3.connectionpool] "PUT /virtual-machine-interface/da53646d-2246-4e2e-adf0-4c3593dfb5f6 HTTP/1.1" 200 1782014-07-03 22:59:34.452 DEBUG [urllib3.connectionpool] "GET /virtual-network/a631c0e6-4deb-4636-938c-ff86e2e3eb44?exclude_back_refs=True&exclude_children=True HTTP/1.1" 404 75
2014-07-03 22:59:34.457 ERROR [neutron.api.v2.resource] update failedTraceback (most recent call last): File "/usr/lib/python2.7/dist-packages/neutron/api/v2/resource.py", line 84, in resource
    result = method(request=request, **args) File "/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 486, in update obj = obj_updater(request.context, id, **kwargs) File "/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrailplugin.py", line 1025, in update_port
    raise eNoIdError: Unknown id: Error: oper 2 url /virtual-network/a631c0e6-4deb-4636-938c-ff86e2e3eb44 body {'exclude_back_refs': True, 'exclude_children': True} response No virtual-network object found for id a631c0e6-4deb-4636-938c-ff86e2e3eb442014-07-03 22:59:40.836 DEBUG [keystoneclient.middleware.auth_token] Authenticating user token
2014-07-03 22:59:40.837 DEBUG [keystoneclient.middleware.auth_token] Removing headers from request environment: X-Identity-Status,X-Domain-Id,X-Domain-Name,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-User-Id,X-Use
r-Name,X-User-Domain-Id,X-User-Domain-Name,X-Roles,X-Service-Catalog,X-User,X-Tenant-Id,X-Tenant-Name,X-Tenant,X-Role
2014-07-03 22:59:41.248 DEBUG [keystoneclient.middleware.auth_token] Storing 218c433005247beb4a8832343b721b8d token in memcache
2014-07-03 22:59:41.250 DEBUG [routes.middleware] No route matched for GET /networks.json

Tags: config
information type: Proprietary → Public
Sachin Bansal (sbansal)
Changed in juniperopenstack:
status: New → In Progress
Revision history for this message
Sachin Bansal (sbansal) wrote :
Changed in juniperopenstack:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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