nova net-delete of associated network is not informative enough

Bug #1301373 reported by Jaroslav Henner
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Abhishek Talwar

Bug Description

I have an associated VLANed network:

[root@jhenner-node-permanent ~(keystone_admin)]# nova-manage network list
id IPv4 IPv6 start address DNS1 DNS2 VlanID project uuid
2 192.168.32.0/24 None 192.168.32.3 8.8.4.4 None 100 de45db6defb34a5aa72ac5baaca7a1b5 7350769

When I try to delete:

[root@jhenner-node-permanent ~(keystone_admin)]# nova net-delete 7350769a-dc2c-4d37-9bd2-8d9ee57eef45
ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-e8e1f477-4313-4a0a-8017-89a349e04fa7)

The message is not informative enough.

There is a TB in log:

^[[A2014-04-02 13:08:05.338 30680 INFO nova.osapi_compute.wsgi.server [-] (30680) accepted ('172.16.0.12', 45680)

2014-04-02 13:08:05.360 30680 INFO nova.api.openstack.compute.contrib.os_tenant_networks [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] Deleting network with id 7350769a-dc2c-4d37-9bd2-8d9ee57eef45

==> /var/log/nova/network.log <==
2014-04-02 13:08:05.371 304 ERROR nova.openstack.common.rpc.amqp [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] Exception during message handling
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp **args)
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp result = getattr(proxyobj, method)(ctxt, **kwargs)
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/nova/network/manager.py", line 1234, in delete_network
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp ' before delete') % network['project_id'])
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp ValueError: Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete
2014-04-02 13:08:05.371 304 TRACE nova.openstack.common.rpc.amqp
2014-04-02 13:08:05.373 304 ERROR nova.openstack.common.rpc.common [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] Returning exception Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete to caller
2014-04-02 13:08:05.373 304 ERROR nova.openstack.common.rpc.common [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] ['Traceback (most recent call last):\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data\n **args)\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch\n result = getattr(proxyobj, method)(ctxt, **kwargs)\n', ' File "/usr/lib/python2.6/site-packages/nova/network/manager.py", line 1234, in delete_network\n \' before delete\') % network[\'project_id\'])\n', 'ValueError: Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete\n']

==> /var/log/nova/api.log <==
2014-04-02 13:08:05.378 30680 ERROR nova.api.openstack [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] Caught error: Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete
Traceback (most recent call last):

  File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
    **args)

  File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
    result = getattr(proxyobj, method)(ctxt, **kwargs)

  File "/usr/lib/python2.6/site-packages/nova/network/manager.py", line 1234, in delete_network
    ' before delete') % network['project_id'])

ValueError: Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack Traceback (most recent call last):
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/__init__.py", line 119, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return req.get_response(self.application)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/request.py", line 1296, in send
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack application, catch_exc_info=False)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/request.py", line 1260, in call_application
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/dec.py", line 144, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/keystoneclient/middleware/auth_token.py", line 582, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return self.app(env, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/dec.py", line 144, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/dec.py", line 144, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/Routes-1.12.3-py2.6.egg/routes/middleware.py", line 131, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack response = self.app(environ, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/dec.py", line 144, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return resp(environ, start_response)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/dec.py", line 130, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/WebOb-1.2.3-py2.6.egg/webob/dec.py", line 195, in call_func
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 938, in __call__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack content_type, body, accept)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 997, in _process_stack
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 1078, in dispatch
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return method(req=request, **action_args)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/api/openstack/compute/contrib/os_tenant_networks.py", line 131, in delete
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack self.network_api.delete(context, id)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 94, in wrapped
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return func(self, context, *args, **kwargs)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/network/api.py", line 147, in delete
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return self.network_rpcapi.delete_network(context, network_uuid, None)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/network/rpcapi.py", line 106, in delete_network
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack uuid=uuid, fixed_range=fixed_range)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/rpcclient.py", line 85, in call
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return self._invoke(self.proxy.call, ctxt, method, **kwargs)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/rpcclient.py", line 63, in _invoke
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return cast_or_call(ctxt, msg, **self.kwargs)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/proxy.py", line 126, in call
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack result = rpc.call(context, real_topic, msg, timeout)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/__init__.py", line 139, in call
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack return _get_impl().call(CONF, context, topic, msg, timeout)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", line 783, in call
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack rpc_amqp.get_connection_pool(conf, Connection))
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 574, in call
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack rv = list(rv)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 539, in __iter__
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack raise result
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack ValueError: Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack Traceback (most recent call last):
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack **args)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack result = getattr(proxyobj, method)(ctxt, **kwargs)
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack File "/usr/lib/python2.6/site-packages/nova/network/manager.py", line 1234, in delete_network
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack ' before delete') % network['project_id'])
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack ValueError: Network must be disassociated from project de45db6defb34a5aa72ac5baaca7a1b5 before delete
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack
2014-04-02 13:08:05.378 30680 TRACE nova.api.openstack
2014-04-02 13:08:05.381 30680 INFO nova.api.openstack [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] http://172.16.0.12:8774/v2/79f0c946734148c6a6915375a88e9e92/os-tenant-networks/7350769a-dc2c-4d37-9bd2-8d9ee57eef45 returned with HTTP 500
2014-04-02 13:08:05.382 30680 INFO nova.osapi_compute.wsgi.server [req-840d5d4a-417e-472e-b32b-ce4be2c4f9e6 admin admin] 172.16.0.12 "DELETE /v2/79f0c946734148c6a6915375a88e9e92/os-tenant-networks/7350769a-dc2c-4d37-9bd2-8d9ee57eef45 HTTP/1.1" status: 500 len: 335 time: 0.0395350

Tags: network
Revision history for this message
Jaroslav Henner (jhenner) wrote :
Revision history for this message
Brent Eagles (beagles) wrote :

Is this really affecting the keystoneclient as well or was it simply that the wrong project was picked when the bz was submitted?

Revision history for this message
Dolph Mathews (dolph) wrote :

Nothing here seems relevant to keystoneclient AFAICT, please re-add if I'm mistaken.

no longer affects: python-keystoneclient
Tracy Jones (tjones-i)
tags: added: network
Changed in nova:
assignee: nobody → tcs_openstack_group (tcs-openstack-group)
Changed in nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

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

Changed in nova:
assignee: tcs_openstack_group (tcs-openstack-group) → Abhishek Talwar (abhishek-talwar)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Abhishek Talwar (<email address hidden>) on branch: master
Review: https://review.openstack.org/115915
Reason: have committed another patch in a new branch. please ignore this one.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

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

Change abandoned by Abhishek Talwar (<email address hidden>) on branch: master
Review: https://review.openstack.org/116810
Reason: Please ignore this patch.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Abhishek Talwar (<email address hidden>) on branch: master
Review: https://review.openstack.org/119743
Reason: Please ignore this patch

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Abhishek Talwar (<email address hidden>) on branch: master
Review: https://review.openstack.org/105435
Reason: Please ignore this patch.

Changed in nova:
assignee: Abhishek Talwar (abhishek-talwar) → tcs_openstack_group (tcs-openstack-group)
assignee: tcs_openstack_group (tcs-openstack-group) → Abhishek Talwar (abhishek-talwar)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/122741
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=911bae54032336bfcab591dd13aa250073a2bdf1
Submitter: Jenkins
Branch: master

commit 911bae54032336bfcab591dd13aa250073a2bdf1
Author: Abhishek Talwar <email address hidden>
Date: Mon Feb 2 15:57:34 2015 +0530

    nova net-delete network is not informative enough

    Intially nova net-delete <Network ID> was raising an
    "InternalServerError" in case the requested network to
    delete was associated to any project.This error category
    “InternalServerError” is appropriate but the error
    message description is not informative enough.

    Now, when the command is not able to delete the requested
    network because it is associated with a project, a message
    stating “network must be disassociated from project
    <project-id> before delete” will be raised. Updated the
    code to raise the new error message.
    Closes-Bug: #1301373

    Change-Id: I82a6f8783ffce70934409177993de477b1d25da1

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → kilo-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: kilo-2 → 2015.1.0
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.