← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1264436] Re: VM launch fails always when using particular Neutron plugin

 

Honestly, I don't think supporting neutron plugins without quota support
is something we should do. That optionality adds to many permutations to
the matrix.

** Changed in: nova
       Status: In Progress => Opinion

** Changed in: nova
   Importance: Medium => Wishlist

** Changed in: nova
     Assignee: Édouard Thuleau (ethuleau) => (unassigned)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1264436

Title:
  VM launch fails always when using particular Neutron plugin

Status in OpenStack Compute (Nova):
  Opinion

Bug description:
  When I tried devstack with Neutron Ryu plugin, VM launch failed with the following error:
  ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-2f3489c9-9fb5-4666-b5a3-dabf8068160b)

  Change Iaaee059a (https://review.openstack.org/#/c/49455/) added the validation of the port quota via Neutron API.
  However, Neutron Quota API  is an extended API. Therefore, this API isn't provided when using Neutron plugin which doesn't support Quota extension and it causes 404 if the API is called.

  
  The following error message appeared in screen-n-api.log:

  REQ: curl -i http://192.168.0.10:9696/v2.0/quotas/d2b5645336864565a3b5110e31cbe096.json -X GET -H "X-Auth-Token: <...>" -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: pytho
  n-neutronclient"
   from (pid=23388) http_log_req /opt/stack/python-neutronclient/neutronclient/common/utils.py:176
  2013-12-24 07:37:22.860 DEBUG neutronclient.client [-] RESP:{'date': 'Tue, 24 Dec 2013 07:37:22 GMT', 'status': '404', 'content-length': '52', 'content-type': 'text/p
  lain; charset=UTF-8'} 404 Not Found

  The resource could not be found.

     
   from (pid=23388) http_log_resp /opt/stack/python-neutronclient/neutronclient/common/utils.py:182
  2013-12-24 07:37:22.860 DEBUG neutronclient.v2_0.client [-] Error message: 404 Not Found

  The resource could not be found.

      from (pid=23388) _handle_fault_response /opt/stack/python-neutronclient/neutronclient/v2_0/client.py:1126
  2013-12-24 07:37:22.860 ERROR nova.api.openstack [req-2f3489c9-9fb5-4666-b5a3-dabf8068160b admin demo] Caught error: 404 Not Found

  The resource could not be found.

     
  2013-12-24 07:37:22.860 TRACE nova.api.openstack Traceback (most recent call last):
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/__init__.py", line 121, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return req.get_response(self.application)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     application, catch_exc_info=False)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 581, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return self.app(env, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     response = self.app(environ, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 930, in __call__
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     content_type, body, accept)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 992, in _process_stack
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1073, in dispatch
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return method(req=request, **action_args)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 940, in create
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     legacy_bdm=legacy_bdm)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/hooks.py", line 105, in inner
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     rv = f(*args, **kwargs)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/compute/api.py", line 1269, in create
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     legacy_bdm=legacy_bdm)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/compute/api.py", line 903, in _create_instance
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     max_count)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/compute/api.py", line 713, in _validate_and_build_base_options
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     requested_networks, max_count)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/compute/api.py", line 462, in _check_requested_networks
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     max_count)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/nova/nova/network/neutronv2/api.py", line 582, in validate_networks
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     quotas = neutron.show_quota(tenant_id=context.project_id)['quota']
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 112, in with_params
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     ret = self.function(instance, *args, **kwargs)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 280, in show_quota
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     return self.get(self.quota_path % (tenant_id), params=_params)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 1237, in get
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     headers=headers, params=params)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 1222, in retry_request
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     headers=headers, params=params)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 1165, in do_request
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     self._handle_fault_response(status_code, replybody)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 1135, in _handle_fault_response
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     exception_handler_v20(status_code, des_error_body)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack   File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 92, in exception_handler_v20
  2013-12-24 07:37:22.860 TRACE nova.api.openstack     message=message)
  2013-12-24 07:37:22.860 TRACE nova.api.openstack NeutronClientException: 404 Not Found
  2013-12-24 07:37:22.860 TRACE nova.api.openstack 
  2013-12-24 07:37:22.860 TRACE nova.api.openstack The resource could not be found.
  2013-12-24 07:37:22.860 TRACE nova.api.openstack 
  2013-12-24 07:37:22.860 TRACE nova.api.openstack    
  2013-12-24 07:37:22.860 TRACE nova.api.openstack 
  2013-12-24 07:37:22.863 INFO nova.api.openstack [req-2f3489c9-9fb5-4666-b5a3-dabf8068160b admin demo] http://192.168.0.10:8774/v2/d2b5645336864565a3b5110e31cbe096/servers returned with HTTP 500

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1264436/+subscriptions


References