yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #29048
[Bug 1361180] Re: nova service disable/enable returns 500 on cell environment
** Changed in: nova/juno
Importance: Undecided => High
** Also affects: nova/icehouse
Importance: Undecided
Status: New
** Changed in: nova/icehouse
Importance: Undecided => High
** Changed in: nova/icehouse
Status: New => In Progress
** Changed in: nova/icehouse
Assignee: (unassigned) => Rajesh Tailor (rajesh-tailor)
** Changed in: nova/juno
Assignee: (unassigned) => Rajesh Tailor (rajesh-tailor)
** Changed in: nova/icehouse
Milestone: None => 2014.1.4
** Tags removed: in-stable-juno
--
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/1361180
Title:
nova service disable/enable returns 500 on cell environment
Status in OpenStack Compute (Nova):
Fix Released
Status in OpenStack Compute (nova) icehouse series:
In Progress
Status in OpenStack Compute (nova) juno series:
Fix Released
Bug description:
nova service disable/enable returns 500 on cell environment. Actual
enable/disable looks processed correctly.
It also throws following error in nova-api service:
ValueError: invalid literal for int() with base 10: 'region!child@5'
How to reproduce:
$ nova --os-username admin service-list
Output:
+----------------+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----------------+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| region!child@1 | nova-conductor | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:17:36.000000 | - |
| region!child@3 | nova-cells | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:17:29.000000 | - |
| region!child@4 | nova-scheduler | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:17:30.000000 | - |
| region!child@5 | nova-compute | region!child@ubuntu | nova | enabled | up | 2014-08-18T06:17:31.000000 | - |
| region@1 | nova-cells | region@ubuntu | internal | enabled | up | 2014-08-18T06:17:29.000000 | - |
| region@2 | nova-cert | region@ubuntu | internal | enabled | down | 2014-08-18T06:08:28.000000 | - |
| region@3 | nova-consoleauth | region@ubuntu | internal | enabled | up | 2014-08-18T06:17:37.000000 | - |
+----------------+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
$ nova --os-username admin service-disable 'region!child@ubuntu' nova-
compute
The above command gives the following error:
ERROR (ClientException): Unknown Error (HTTP 500)
$ nova --os-username admin service-list
Output:
+----------------+------------------+---------------------+----------+----------+-------+----------------------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----------------+------------------+---------------------+----------+----------+-------+----------------------------+-----------------+
| region!child@1 | nova-conductor | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:19:06.000000 | - |
| region!child@3 | nova-cells | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:19:09.000000 | - |
| region!child@4 | nova-scheduler | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:19:10.000000 | - |
| region!child@5 | nova-compute | region!child@ubuntu | nova | disabled | up | 2014-08-18T06:19:11.000000 | - |
| region@1 | nova-cells | region@ubuntu | internal | enabled | up | 2014-08-18T06:19:09.000000 | - |
| region@2 | nova-cert | region@ubuntu | internal | enabled | down | 2014-08-18T06:08:28.000000 | - |
| region@3 | nova-consoleauth | region@ubuntu | internal | enabled | up | 2014-08-18T06:19:07.000000 | - |
+----------------+------------------+---------------------+----------+----------+-------+----------------------------+-----------------+
$ nova --os-username admin service-enable 'region!child@ubuntu' nova-compute
The above command gives following error:
ERROR (ClientException): Unknown Error (HTTP 500)
$ nova --os-username admin service-list
+----------------+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----------------+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
| region!child@1 | nova-conductor | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:52:37.000000 | - |
| region!child@3 | nova-cells | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:52:40.000000 | - |
| region!child@4 | nova-scheduler | region!child@ubuntu | internal | enabled | up | 2014-08-18T06:52:41.000000 | - |
| region!child@5 | nova-compute | region!child@ubuntu | nova | enabled | up | 2014-08-18T06:52:42.000000 | - |
| region@1 | nova-cells | region@ubuntu | internal | enabled | up | 2014-08-18T06:52:40.000000 | - |
| region@2 | nova-cert | region@ubuntu | internal | enabled | down | 2014-08-18T06:08:28.000000 | - |
| region@3 | nova-consoleauth | region@ubuntu | internal | enabled | up | 2014-08-18T06:52:39.000000 | - |
+----------------+------------------+---------------------+----------+---------+-------+----------------------------+-----------------+
The nova-api log shows the following error, after we try to disable/enable the child cell service.
output of nova-api.log:
2014-08-18 15:18:23.848 DEBUG nova.api.openstack.wsgi [req-c8e2b844-6aa4-4819-b4f4-38bfe30240f0 admin demo] Action: 'update', body: {"binary": "nova-compute", "host": "region!child@ubuntu"} from (pid=11556) _process_stack /opt/stack/nova/nova/api/openstack/wsgi.py:940
2014-08-18 15:18:23.848 DEBUG nova.api.openstack.wsgi [req-c8e2b844-6aa4-4819-b4f4-38bfe30240f0 admin demo] Calling method '<bound method ServiceController.update of <nova.api.openstack.compute.contrib.services.ServiceController object at 0x7f16bd608510>>' (Content-type='application/json', Accept='application/json') from (pid=11556) _process_stack /opt/stack/nova/nova/api/openstack/wsgi.py:945
2014-08-18 15:18:23.930 ERROR object [req-c8e2b844-6aa4-4819-b4f4-38bfe30240f0 admin demo] Error setting Service.id
2014-08-18 15:18:23.930 TRACE object Traceback (most recent call last):
2014-08-18 15:18:23.930 TRACE object File "/opt/stack/nova/nova/objects/base.py", line 70, in setter
2014-08-18 15:18:23.930 TRACE object field.coerce(self, name, value))
2014-08-18 15:18:23.930 TRACE object File "/opt/stack/nova/nova/objects/fields.py", line 166, in coerce
2014-08-18 15:18:23.930 TRACE object return self._type.coerce(obj, attr, value)
2014-08-18 15:18:23.930 TRACE object File "/opt/stack/nova/nova/objects/fields.py", line 231, in coerce
2014-08-18 15:18:23.930 TRACE object return int(value)
2014-08-18 15:18:23.930 TRACE object ValueError: invalid literal for int() with base 10: 'region!child@5'
2014-08-18 15:18:23.930 TRACE object
2014-08-18 15:18:23.934 ERROR nova.api.openstack [req-c8e2b844-6aa4-4819-b4f4-38bfe30240f0 admin demo] Caught error: invalid literal for int() with base 10: 'region!child@5'
2014-08-18 15:18:23.934 TRACE nova.api.openstack Traceback (most recent call last):
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 125, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack return req.get_response(self.application)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1320, in send
2014-08-18 15:18:23.934 TRACE nova.api.openstack application, catch_exc_info=False)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1284, in call_application
2014-08-18 15:18:23.934 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack return resp(environ, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 663, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack return self.app(env, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack return resp(environ, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack return resp(environ, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack response = self.app(environ, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack return resp(environ, start_response)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2014-08-18 15:18:23.934 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 917, in __call__
2014-08-18 15:18:23.934 TRACE nova.api.openstack content_type, body, accept)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 983, in _process_stack
2014-08-18 15:18:23.934 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1070, in dispatch
2014-08-18 15:18:23.934 TRACE nova.api.openstack return method(req=request, **action_args)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/services.py", line 206, in update
2014-08-18 15:18:23.934 TRACE nova.api.openstack self.host_api.service_update(context, host, binary, status_detail)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/compute/cells_api.py", line 579, in service_update
2014-08-18 15:18:23.934 TRACE nova.api.openstack db_service)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/service.py", line 67, in _from_db_object
2014-08-18 15:18:23.934 TRACE nova.api.openstack service[key] = db_service[key]
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 398, in __setitem__
2014-08-18 15:18:23.934 TRACE nova.api.openstack setattr(self, name, value)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/base.py", line 70, in setter
2014-08-18 15:18:23.934 TRACE nova.api.openstack field.coerce(self, name, value))
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/fields.py", line 166, in coerce
2014-08-18 15:18:23.934 TRACE nova.api.openstack return self._type.coerce(obj, attr, value)
2014-08-18 15:18:23.934 TRACE nova.api.openstack File "/opt/stack/nova/nova/objects/fields.py", line 231, in coerce
2014-08-18 15:18:23.934 TRACE nova.api.openstack return int(value)
2014-08-18 15:18:23.934 TRACE nova.api.openstack ValueError: invalid literal for int() with base 10: 'region!child@5'
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1361180/+subscriptions
References