yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #40344
[Bug 1507493] [NEW] Adding a host to an aggregate will give a traceback if service is disabled
Public bug reported:
When you disable the compute service of a host you cannot add it to an
aggregate.
To reproduce (tested on Kilo MOS packages on Ubuntu 14.04):
# nova-manage service disable compute01 nova-compute
# nova aggregate-add-host az1 compute01
ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500)
In the nova-api.log:
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack Traceback (most recent call last):
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 125, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return req.get_response(self.application)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack application, catch_exc_info=False)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 634, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return self._call_app(env, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 554, in _call_app
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return self._app(env, _fake_start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack response = self.app(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 756, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack content_type, body, accept)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 821, in _process_stack
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 911, in dispatch
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return method(req=request, **action_args)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/aggregates.py", line 178, in action
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return _actions[action](req, id, data)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/aggregates.py", line 51, in wrapped
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return fn(self, req, id, host, *args, **kwargs)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/aggregates.py", line 188, in _add_host
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack aggregate = self.api.add_host_to_aggregate(context, id, host)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 88, in wrapped
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack payload)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 85, in __exit__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack six.reraise(self.type_, self.value, self.tb)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 71, in wrapped
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return f(self, context, *args, **kw)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3679, in add_host_to_aggregate
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack aggregate=aggregate)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3597, in is_safe_to_update_az
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack host_az = host_azs.pop()
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack IndexError: pop from empty list
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack
** Affects: nova
Importance: Undecided
Status: New
--
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/1507493
Title:
Adding a host to an aggregate will give a traceback if service is
disabled
Status in OpenStack Compute (nova):
New
Bug description:
When you disable the compute service of a host you cannot add it to an
aggregate.
To reproduce (tested on Kilo MOS packages on Ubuntu 14.04):
# nova-manage service disable compute01 nova-compute
# nova aggregate-add-host az1 compute01
ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500)
In the nova-api.log:
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack Traceback (most recent call last):
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 125, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return req.get_response(self.application)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack application, catch_exc_info=False)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 634, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return self._call_app(env, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 554, in _call_app
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return self._app(env, _fake_start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack response = self.app(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return resp(environ, start_response)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 756, in __call__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack content_type, body, accept)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 821, in _process_stack
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 911, in dispatch
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return method(req=request, **action_args)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/aggregates.py", line 178, in action
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return _actions[action](req, id, data)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/aggregates.py", line 51, in wrapped
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return fn(self, req, id, host, *args, **kwargs)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/aggregates.py", line 188, in _add_host
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack aggregate = self.api.add_host_to_aggregate(context, id, host)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 88, in wrapped
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack payload)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 85, in __exit__
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack six.reraise(self.type_, self.value, self.tb)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 71, in wrapped
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack return f(self, context, *args, **kw)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3679, in add_host_to_aggregate
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack aggregate=aggregate)
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 3597, in is_safe_to_update_az
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack host_az = host_azs.pop()
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack IndexError: pop from empty list
2015-10-19 07:44:51.727 38561 TRACE nova.api.openstack
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1507493/+subscriptions
Follow ups