← Back to team overview

yahoo-eng-team team mailing list archive

[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