yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #44910
[Bug 1535759] [NEW] Booting server with --hint group=group-name throws http 500
Public bug reported:
It seems that nova expects and validates that the os:scheduler_hints
group key contains an UUID. However if it is not a UUID HTTP 500 is
returned instead of HTTP 400.
This was visible in devstack with nova from master branch
(b558d616c3b123dbe2a0914162b45765192f3a12)
To reproduce:
$ nova server-group-create affin-group-1 affinity
+--------------------------------------+---------------+---------------+---------+----------+
| Id | Name | Policies | Members | Metadata |
+--------------------------------------+---------------+---------------+---------+----------+
| b087079c-cfc8-4a7d-a578-ccfbb7a85cf5 | affin-group-1 | [u'affinity'] | [] | {} |
+--------------------------------------+---------------+---------------+---------+----------+
nova --debug boot --flavor 42 --image cirros-0.3.4-x86_64-uec --hint group=affin-group-1 inst-1
<snip>
DEBUG (session:225) REQ: curl -g -i -X POST http://192.168.200.200:8774/v2.1/91b11b772c4d400f9a44ab1bbfd4ddd8/servers -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-OpenStack-Nova-API-Version: 2.12" -H "X-Auth-Token: {SHA1}71a9fd700ffb3e625648e4423b3bd3c409d23246" -d '{"os:scheduler_hints": {"group": "affin-group-1"}, "server": {"min_count": 1, "flavorRef": "42", "name": "inst-1", "imageRef": "75a189fa-389b-4386-a731-a3bfccdfe352", "max_count": 1}}'
DEBUG (connectionpool:387) "POST /v2.1/91b11b772c4d400f9a44ab1bbfd4ddd8/servers HTTP/1.1" 500 201
DEBUG (session:254) RESP: [500] Content-Length: 201 X-Compute-Request-Id: req-5a167ca6-6828-4724-ba7f-246202b0a9ec Vary: X-OpenStack-Nova-API-Version Connection: keep-alive X-Openstack-Nova-Api-Version: 2.12 Date: Tue, 05 Jan 2016 22:48:57 GMT Content-Type: application/json; charset=UTF-8
RESP BODY: {"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<class 'nova.exception.InvalidInput'>", "code": 500}}
DEBUG (shell:896) Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'nova.exception.InvalidInput'> (HTTP 500) (Request-ID: req-5a167ca6-6828-4724-ba7f-246202b0a9ec)
Traceback (most recent call last):
File "/opt/stack/python-novaclient/novaclient/shell.py", line 894, in main
OpenStackComputeShell().main(argv)
File "/opt/stack/python-novaclient/novaclient/shell.py", line 821, in main
args.func(self.cs, args)
File "/opt/stack/python-novaclient/novaclient/v2/shell.py", line 542, in do_boot
server = cs.servers.create(*boot_args, **boot_kwargs)
File "/opt/stack/python-novaclient/novaclient/v2/servers.py", line 1024, in create
**boot_kwargs)
File "/opt/stack/python-novaclient/novaclient/v2/servers.py", line 555, in _boot
return_raw=return_raw, **kwargs)
File "/opt/stack/python-novaclient/novaclient/base.py", line 175, in _create
_resp, body = self.api.client.post(url, body=body)
File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 179, in post
return self.request(url, 'POST', **kwargs)
File "/opt/stack/python-novaclient/novaclient/client.py", line 92, in request
raise exceptions.from_response(resp, body, url, method)
ClientException: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'nova.exception.InvalidInput'> (HTTP 500) (Request-ID: req-5a167ca6-6828-4724-ba7f-246202b0a9ec)
>From the nova-api log:
2016-01-05 22:48:57.786 ERROR nova.api.openstack.extensions [req-5a167ca6-6828-4724-ba7f-246202b0a9ec admin admin] Unexpected exception in API method
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions Traceback (most recent call last):
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/openstack/extensions.py", line 478, in wrapped
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions return f(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions return func(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions return func(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 604, in create
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions **create_kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/hooks.py", line 149, in inner
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions rv = f(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/compute/api.py", line 1504, in create
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions check_server_group_quota=check_server_group_quota)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/compute/api.py", line 1122, in _create_instance
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions scheduler_hints, check_server_group_quota)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/compute/api.py", line 1041, in _get_requested_instance_group
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions raise exception.InvalidInput(reason=msg)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions InvalidInput: Invalid input received: Server group scheduler hint must be a UUID.
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions
** Affects: nova
Importance: Undecided
Assignee: Balazs Gibizer (balazs-gibizer)
Status: New
** Changed in: nova
Assignee: (unassigned) => Balazs Gibizer (balazs-gibizer)
--
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/1535759
Title:
Booting server with --hint group=group-name throws http 500
Status in OpenStack Compute (nova):
New
Bug description:
It seems that nova expects and validates that the os:scheduler_hints
group key contains an UUID. However if it is not a UUID HTTP 500 is
returned instead of HTTP 400.
This was visible in devstack with nova from master branch
(b558d616c3b123dbe2a0914162b45765192f3a12)
To reproduce:
$ nova server-group-create affin-group-1 affinity
+--------------------------------------+---------------+---------------+---------+----------+
| Id | Name | Policies | Members | Metadata |
+--------------------------------------+---------------+---------------+---------+----------+
| b087079c-cfc8-4a7d-a578-ccfbb7a85cf5 | affin-group-1 | [u'affinity'] | [] | {} |
+--------------------------------------+---------------+---------------+---------+----------+
nova --debug boot --flavor 42 --image cirros-0.3.4-x86_64-uec --hint group=affin-group-1 inst-1
<snip>
DEBUG (session:225) REQ: curl -g -i -X POST http://192.168.200.200:8774/v2.1/91b11b772c4d400f9a44ab1bbfd4ddd8/servers -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-OpenStack-Nova-API-Version: 2.12" -H "X-Auth-Token: {SHA1}71a9fd700ffb3e625648e4423b3bd3c409d23246" -d '{"os:scheduler_hints": {"group": "affin-group-1"}, "server": {"min_count": 1, "flavorRef": "42", "name": "inst-1", "imageRef": "75a189fa-389b-4386-a731-a3bfccdfe352", "max_count": 1}}'
DEBUG (connectionpool:387) "POST /v2.1/91b11b772c4d400f9a44ab1bbfd4ddd8/servers HTTP/1.1" 500 201
DEBUG (session:254) RESP: [500] Content-Length: 201 X-Compute-Request-Id: req-5a167ca6-6828-4724-ba7f-246202b0a9ec Vary: X-OpenStack-Nova-API-Version Connection: keep-alive X-Openstack-Nova-Api-Version: 2.12 Date: Tue, 05 Jan 2016 22:48:57 GMT Content-Type: application/json; charset=UTF-8
RESP BODY: {"computeFault": {"message": "Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\n<class 'nova.exception.InvalidInput'>", "code": 500}}
DEBUG (shell:896) Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'nova.exception.InvalidInput'> (HTTP 500) (Request-ID: req-5a167ca6-6828-4724-ba7f-246202b0a9ec)
Traceback (most recent call last):
File "/opt/stack/python-novaclient/novaclient/shell.py", line 894, in main
OpenStackComputeShell().main(argv)
File "/opt/stack/python-novaclient/novaclient/shell.py", line 821, in main
args.func(self.cs, args)
File "/opt/stack/python-novaclient/novaclient/v2/shell.py", line 542, in do_boot
server = cs.servers.create(*boot_args, **boot_kwargs)
File "/opt/stack/python-novaclient/novaclient/v2/servers.py", line 1024, in create
**boot_kwargs)
File "/opt/stack/python-novaclient/novaclient/v2/servers.py", line 555, in _boot
return_raw=return_raw, **kwargs)
File "/opt/stack/python-novaclient/novaclient/base.py", line 175, in _create
_resp, body = self.api.client.post(url, body=body)
File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 179, in post
return self.request(url, 'POST', **kwargs)
File "/opt/stack/python-novaclient/novaclient/client.py", line 92, in request
raise exceptions.from_response(resp, body, url, method)
ClientException: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'nova.exception.InvalidInput'> (HTTP 500) (Request-ID: req-5a167ca6-6828-4724-ba7f-246202b0a9ec)
From the nova-api log:
2016-01-05 22:48:57.786 ERROR nova.api.openstack.extensions [req-5a167ca6-6828-4724-ba7f-246202b0a9ec admin admin] Unexpected exception in API method
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions Traceback (most recent call last):
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/openstack/extensions.py", line 478, in wrapped
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions return f(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions return func(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/validation/__init__.py", line 73, in wrapper
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions return func(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 604, in create
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions **create_kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/hooks.py", line 149, in inner
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions rv = f(*args, **kwargs)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/compute/api.py", line 1504, in create
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions check_server_group_quota=check_server_group_quota)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/compute/api.py", line 1122, in _create_instance
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions scheduler_hints, check_server_group_quota)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions File "/opt/stack/nova/nova/compute/api.py", line 1041, in _get_requested_instance_group
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions raise exception.InvalidInput(reason=msg)
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions InvalidInput: Invalid input received: Server group scheduler hint must be a UUID.
2016-01-05 22:48:57.786 TRACE nova.api.openstack.extensions
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1535759/+subscriptions
Follow ups