← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1232965] Re: Can't use nova when configuring neutron.agent.firewall.NoopFirewallDriver in neutron plugins

 

https://review.openstack.org/#/c/58212/

** Changed in: python-neutronclient
       Status: In Progress => Fix Committed

** Changed in: nova
       Status: Invalid => Confirmed

-- 
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/1232965

Title:
  Can't use nova when configuring
  neutron.agent.firewall.NoopFirewallDriver in neutron plugins

Status in OpenStack Compute (Nova):
  Confirmed
Status in Python client library for Neutron:
  Fix Committed

Bug description:
  OS : RHEL6.4
  OpenStack version : Havana

  If setting "firewall_driver =
  neutron.agent.firewall.NoopFirewallDriver" in vi
  /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini, some
  functions of Nova are lost.

  [root@oxianghui v2_0]# nova list
  ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-7c2bc0a7-e413-48e9-9865-d743d5ab0497)

  The error log:

  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack Traceback (most recent call last):
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/__init__.py", line 112, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return req.get_response(self.application)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/request.py", line 1296, in send
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     application, catch_exc_info=False)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/request.py", line 1260, in call_application
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/keystoneclient/middleware/auth_token.py", line 539, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return self.app(env, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/routes/middleware.py", line 131, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     response = self.app(environ, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 144, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return resp(environ, start_response)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 130, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/webob/dec.py", line 195, in call_func
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 912, in __call__
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     content_type, body, accept)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 997, in _process_stack
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     request, action_args)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py", line 885, in post_process_extensions
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     **action_args)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/compute/contrib/security_groups.py", line 583, in detail
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     self._extend_servers(req, list(resp_obj.obj['servers']))
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/api/openstack/compute/contrib/security_groups.py", line 533, in _extend_servers
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     .get_instances_security_groups_bindings(context))
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/nova/network/security_group/neutron_driver.py", line 288, in get_instances_security_groups_bindings
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     security_groups = neutron.list_security_groups().get('security_groups')
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 108, in with_params
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     ret = self.function(instance, *args, **kwargs)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 468, in list_security_groups
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     security_groups = self.list('security_groups',
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1199, in list
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     headers=headers, params=params)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1212, in _pagination
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     linkrel = 'previous'
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1185, in get
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     return self.retry_request("DELETE", action, body=body,
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1170, in retry_request
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     """
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1113, in do_request
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     httplib.CREATED,
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1083, in _handle_fault_response
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     except Exception:
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 88, in exception_handler_v20
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack     message=message)
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack NeutronClientException: 404 Not Found
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack
  2013-09-29 07:23:08.200 7666 TRACE nova.api.openstack The resource could not be found.

  The root cause is that the extension of security groups is not loaded if setting "firewall_driver = neutron.agent.firewall.NoopFirewallDriver" in neutron, the python-neutronclient will raise an exception as "Not Found".
  Nova have referred the function "list_security_groups"  of neutron in some functions. 
  I think Nova should be independent with Neutron as a OpenStack module.

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