** Changed in: nova
Status: New => Won't Fix
--
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/1682811
Title:
nova boot apis raises 500 error if scheduler_hints
additionalProperties value passed as "null" or "dict"
Status in OpenStack Compute (nova):
Won't Fix
Bug description:
Additional scheduler_hints can be passed while creating a VM but if
those additional scheduler_hints value is 'null' or 'dict' the create
server call fails with 500 InternalServerError.
Steps to reproduce:
Command:
$ curl -g -i -X POST http://10.232.48.201:8774/v2.1/servers -H "Accept:
application/json" -H "User-Agent: python-novaclient" -H "OpenStack-API-Version:
compute 2.41" -H "X-OpenStack-Nova-API-Version: 2.41" -H "X-Auth-Token:
gAAAAABY7Jf4Qiwm2GKc-dsLiRVxK6-9CPHvk1Vu
kRL6kVKItGetXrPUdLIhHtKebr4rSCAnK7VQTMI6v0LySvu3Cpu7e8y_7WSpELWp-Bfx5PEosbDh2UDsiJW7ib8jPEW5rcyQuDun5gDR9NbaugQ6UBcmKW1TMm9QZdTSI2npqyYJTVFuis"
-H "Content-Type: application/json" -d '{"os:scheduler_hints": {"key": null},
"server": {"name": "instances1", "imageRef":
"107f0481-754d-46a2-98a7-a26228c4280e", "flavorRef": "1", "max_count": 1,
"min_count": 1, "networks": "auto"}}'
Please note the scheduler_hints: {"os:scheduler_hints": {"key": null}
Output:
HTTP/1.1 500 Internal Server Error
Openstack-Api-Version: compute 2.41
X-Openstack-Nova-Api-Version: 2.41
Vary: OpenStack-API-Version
Vary: X-OpenStack-Nova-API-Version
Content-Type: application/json; charset=UTF-8
Content-Length: 194
X-Compute-Request-Id: req-3c29eadc-20d0-4aef-b3c0-def9a51b0e64
Date: Tue, 11 Apr 2017 08:47:26 GMT
{"computeFault": {"message": "Unexpected API Error. Please report this
at http://bugs.launchpad.net/nova/ and attach the Nova API log if
possible.\n<type 'exceptions.ValueError'>", "code": 500}}
nova-api:
2017-04-11 14:17:26.843 ERROR nova.api.openstack.extensions
[req-3c29eadc-20d0-4aef
-b3c0-def9a51b0e64 admin admin] Unexpected exception in API method
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions Traceback (most
recent
call last):
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova
/nova/api/openstack/extensions.py", line 336, in wrapped
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
f(*args, **k
wargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova
/nova/api/validation/__init__.py", line 108, in wrapper
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
func(*args,
**kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova
/nova/api/validation/__init__.py", line 108, in wrapper
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
func(*args,
**kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/api/validation/__init__.py", line 108, in wrapper
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
func(*args, **kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/api/validation/__init__.py", line 108, in wrapper
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
func(*args, **kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/api/validation/__init__.py", line 108, in wrapper
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
func(*args, **kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/api/validation/__init__.py", line 108, in wrapper
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
func(*args, **kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/api/openstack/compute/servers.py", line 553, in create
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
**create_kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/hooks.py", line 154, in inner
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions rv = f(*args,
**kwargs)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/compute/api.py", line 1671, in create
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
check_server_group_quota=check_server_group_quota)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/compute/api.py", line 1240, in _create_instance
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions key_pair)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/compute/api.py", line 1102, in _provision_instances
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
quotas.rollback()
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
self.force_reraise()
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
six.reraise(self.type_, self.value, self.tb)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/compute/api.py", line 1015, in _provision_instances
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
security_groups=security_groups)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/objects/request_spec.py", line 415, in from_components
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
spec_obj._from_hints(filter_properties.get('scheduler_hints', {}))
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/opt/stack/nova/nova/objects/request_spec.py", line 224, in _from_hints
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions for hint,
value in hints_dict.items()}
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line
72, in setter
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions field_value =
field.coerce(self, name, value)
python2.7/dist-packages/oslo_versionedobjects/fields.py", line 640, in coerce
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
coerced_list.extend(value)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line
1242, in extend
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions for index,
item in enumerate(t)]
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line
1222, in _coerce_item
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
self._element_type.coerce(self._obj, att_name, item)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line
193, in coerce
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions return
self._null(obj, attr)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions File
"/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/fields.py", line
171, in _null
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions raise
ValueError(_("Field `%s' cannot be None") % attr)
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions ValueError: Field
`scheduler_hints[[]][0]' cannot be None
2017-04-11 14:17:26.843 TRACE nova.api.openstack.extensions
2017-04-11 14:17:26.984 INFO nova.api.openstack.wsgi
[req-3c29eadc-20d0-4aef-b3c0-def9a51b0e64 admin admin] HTTP exception thrown:
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and
attach the Nova API log if possible.
<type 'exceptions.ValueError'>
2017-04-11 14:17:26.985 DEBUG nova.api.openstack.wsgi
[req-3c29eadc-20d0-4aef-b3c0-def9a51b0e64 admin admin] Returning 500 to user:
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and
attach the Nova API log if possible.
<type 'exceptions.ValueError'> from (pid=2056) __call__
/opt/stack/nova/nova/api/openstack/wsgi.py:1041
2017-04-11 14:17:26.986 INFO nova.osapi_compute.wsgi.server
[req-3c29eadc-20d0-4aef-b3c0-def9a51b0e64 admin admin] 10.232.48.201 "POST
/v2.1/servers HTTP/1.1" status: 500 len: 539 time: 1.1872978
Latest commit:
commit ae637e70a72166067e09f3bbc3acb54e5d92771e
Merge: 9e071f4 370820b
Author: Jenkins <[email protected]>
Date: Fri Apr 14 01:38:43 2017 +0000
Merge "Fix hypervisors api missing HostMappingNotFound handlers"
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1682811/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp