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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp