yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #65429
[Bug 1701129] [NEW] Functional tests fail intermittently with Bad Request from placement
Public bug reported:
Noticed this on a test run on an unrelated patch I uploaded, functional
test failure with trace:
2017-06-28 22:16:50,659 INFO [nova.api.openstack.placement.requestlog] 127.0.0.1 "PUT /allocations/f0bd6e91-2486-418c-bea2-bb2392568171" status: 400 len: 2220 microversion: 1.0
2017-06-28 22:16:50,659 INFO [nova.placement.wsgi.server] 127.0.0.1 "PUT /allocations/f0bd6e91-2486-418c-bea2-bb2392568171 HTTP/1.1" status: 400 len: 2504 time: 0.0040810
2017-06-28 22:16:50,660 WARNING [nova.scheduler.client.report] Unable to submit allocation for instance f0bd6e91-2486-418c-bea2-bb2392568171 (400 <html>
<head>
<title>400 Bad Request</title>
</head>
<body>
<h1>400 Bad Request</h1>
The server could not comply with the request since it is either malformed or otherwise incorrect.<br /><br />
JSON does not validate: Additional properties are not allowed (u'project_id', u'user_id' were unexpected)
Failed validating 'additionalProperties' in schema:
{'additionalProperties': False,
'properties': {'allocations': {'items': {'additionalProperties': False,
'properties': {'resource_provider': {'additionalProperties': False,
'properties': {'uuid': {'format': 'uuid',
'type': 'string'}},
'required': ['uuid'],
'type': 'object'},
'resources': {'additionalProperties': False,
'patternProperties': {'^[0-9A-Z_]+$': {'minimum': 1,
'type': 'integer'}},
'type': 'object'}},
'required': ['resource_provider',
'resources'],
'type': 'object'},
'type': 'array'}},
'required': ['allocations'],
'type': 'object'}
On instance:
{u'allocations': [{u'resource_provider': {u'uuid': u'29000c79-94bf-4326-9630-281d2ef67071'},
u'resources': {u'DISK_GB': 20,
u'MEMORY_MB': 2048,
u'VCPU': 1}}],
u'project_id': u'6f70656e737461636b20342065766572',
u'user_id': u'fake'}
</body>
</html>)
The problem is that microversion 1.0 is being requested with parameters
only available in microversion >= 1.8. This is because the
PlacementFixture's _fake_put() method ignores the version keyword
argument and doesn't pass it along to placement.
** Affects: nova
Importance: Low
Assignee: melanie witt (melwitt)
Status: Triaged
** Tags: placement testing
--
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/1701129
Title:
Functional tests fail intermittently with Bad Request from placement
Status in OpenStack Compute (nova):
Triaged
Bug description:
Noticed this on a test run on an unrelated patch I uploaded,
functional test failure with trace:
2017-06-28 22:16:50,659 INFO [nova.api.openstack.placement.requestlog] 127.0.0.1 "PUT /allocations/f0bd6e91-2486-418c-bea2-bb2392568171" status: 400 len: 2220 microversion: 1.0
2017-06-28 22:16:50,659 INFO [nova.placement.wsgi.server] 127.0.0.1 "PUT /allocations/f0bd6e91-2486-418c-bea2-bb2392568171 HTTP/1.1" status: 400 len: 2504 time: 0.0040810
2017-06-28 22:16:50,660 WARNING [nova.scheduler.client.report] Unable to submit allocation for instance f0bd6e91-2486-418c-bea2-bb2392568171 (400 <html>
<head>
<title>400 Bad Request</title>
</head>
<body>
<h1>400 Bad Request</h1>
The server could not comply with the request since it is either malformed or otherwise incorrect.<br /><br />
JSON does not validate: Additional properties are not allowed (u'project_id', u'user_id' were unexpected)
Failed validating 'additionalProperties' in schema:
{'additionalProperties': False,
'properties': {'allocations': {'items': {'additionalProperties': False,
'properties': {'resource_provider': {'additionalProperties': False,
'properties': {'uuid': {'format': 'uuid',
'type': 'string'}},
'required': ['uuid'],
'type': 'object'},
'resources': {'additionalProperties': False,
'patternProperties': {'^[0-9A-Z_]+$': {'minimum': 1,
'type': 'integer'}},
'type': 'object'}},
'required': ['resource_provider',
'resources'],
'type': 'object'},
'type': 'array'}},
'required': ['allocations'],
'type': 'object'}
On instance:
{u'allocations': [{u'resource_provider': {u'uuid': u'29000c79-94bf-4326-9630-281d2ef67071'},
u'resources': {u'DISK_GB': 20,
u'MEMORY_MB': 2048,
u'VCPU': 1}}],
u'project_id': u'6f70656e737461636b20342065766572',
u'user_id': u'fake'}
</body>
</html>)
The problem is that microversion 1.0 is being requested with
parameters only available in microversion >= 1.8. This is because the
PlacementFixture's _fake_put() method ignores the version keyword
argument and doesn't pass it along to placement.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1701129/+subscriptions
Follow ups