Public bug reported:
VM resize and confirm on the same host fails with custom resources, as the old
resources are not deallocated after 'confirmResize'.
Steps to reproduce:
- boot a VM with old_flavor
- resize to new_flavor to the same host
- send confirmResize
- check usages and compare with new_flavor, and there will be double
allocations (old_flavor + new_flavor)
Related Nova log:
2017-08-29 16:22:22,666 INFO [nova.api.openstack.placement.requestlog]
127.0.0.1 "GET /placement/allocations/8d989deb-860e-4ade-a581-a01b819b6297"
status: 200 len: 326 microversion: 1.0
2017-08-29 16:22:22,666 DEBUG [nova.scheduler.client.report] Current
allocations for instance: {u'5f7fdb12-9866-4534-b0ce-ba60b14f37cb':
{u'resources': {u'CUSTOM_MAGIC': 256}, u'generation': 4}, u'
60b3f076-ebd9-499e-a9d0-83013320505c': {u'resources': {u'MEMORY_MB': 3072,
u'DISK_GB': 60, u'VCPU': 2}, u'generation': 3},
u'c522247d-e8ee-4f6c-848d-367eb99885d6': {u'resources': {u'CUSTOM_MAGIC': 256}
, u'generation': 4}}
2017-08-29 16:22:22,666 DEBUG [nova.scheduler.client.report] Instance
8d989deb-860e-4ade-a581-a01b819b6297 has resources on 1 compute nodes
2017-08-29 16:22:22,666 DEBUG [nova.scheduler.client.report] Original
resources from same-host allocation: {u'MEMORY_MB': 3072, u'DISK_GB': 60,
u'VCPU': 2}
2017-08-29 16:22:22,667 DEBUG [nova.scheduler.client.report] Subtracting
old resources from same-host allocation: {u'MEMORY_MB': 1024, u'DISK_GB': 40,
u'VCPU': 1, u'CUSTOM_MAGIC': -256}
2017-08-29 16:22:22,667 DEBUG [nova.scheduler.client.report] Sending
updated allocation [{'resource_provider': {'uuid':
u'5f7fdb12-9866-4534-b0ce-ba60b14f37cb'}, 'resources': {u'CUSTOM_MAGIC': 256}
}, {'resource_provider': {'uuid': u'c522247d-e8ee-4f6c-848d-367eb99885d6'},
'resources': {u'CUSTOM_MAGIC': 256}}, {'resource_provider': {'uuid':
'60b3f076-ebd9-499e-a9d0-83013320505c'}, 'resources': {u
'MEMORY_MB': 1024, u'DISK_GB': 40, u'VCPU': 1, u'CUSTOM_MAGIC': -256}}] for
instance 8d989deb-860e-4ade-a581-a01b819b6297 after removing resources for
60b3f076-ebd9-499e-a9d0-83013320505c.
2017-08-29 16:22:22,667 DEBUG [nova.api.openstack.placement.requestlog]
Starting request: 127.0.0.1 "PUT
/placement/allocations/8d989deb-860e-4ade-a581-a01b819b6297"
2017-08-29 16:22:22,670 DEBUG [nova.api.openstack.placement.wsgi_wrapper]
Placement API returning an error response: JSON does not validate: -256 is less
than the minimum of 1
Failed validating 'minimum' in
schema['properties']['allocations']['items']['properties']['resources']['patternProperties']['^[0-9A-Z_]+$']:
{'minimum': 1, 'type': 'integer'}
On instance['allocations'][2]['resources'][u'CUSTOM_MAGIC']:
-256
2017-08-29 16:22:22,671 INFO [nova.api.openstack.placement.requestlog]
127.0.0.1 "PUT /placement/allocations/8d989deb-860e-4ade-a581-a01b819b6297"
status: 400 len: 532 microversion: 1.10
2017-08-29 16:22:22,671 WARNING [nova.scheduler.client.report] Failed to
save allocation for 8d989deb-860e-4ade-a581-a01b819b6297. Got HTTP 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: -256 is less than the minimum of 1
Failed validating 'minimum' in
schema['properties']['allocations']['items']['properties']['resources']['patternProperties']['^[0-9A-Z_]+$']:
{'minimum': 1, 'type': 'integer'}
On instance['allocations'][2]['resources'][u'CUSTOM_MAGIC']:
-256
</body>
</html>
** Affects: nova
Importance: Undecided
Status: New
--
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/1713739
Title:
VM resize and confirm on the same host fails with custom resources
Status in OpenStack Compute (nova):
New
Bug description:
VM resize and confirm on the same host fails with custom resources, as the
old resources are not deallocated after 'confirmResize'.
Steps to reproduce:
- boot a VM with old_flavor
- resize to new_flavor to the same host
- send confirmResize
- check usages and compare with new_flavor, and there will be double
allocations (old_flavor + new_flavor)
Related Nova log:
2017-08-29 16:22:22,666 INFO [nova.api.openstack.placement.requestlog]
127.0.0.1 "GET /placement/allocations/8d989deb-860e-4ade-a581-a01b819b6297"
status: 200 len: 326 microversion: 1.0
2017-08-29 16:22:22,666 DEBUG [nova.scheduler.client.report] Current
allocations for instance: {u'5f7fdb12-9866-4534-b0ce-ba60b14f37cb':
{u'resources': {u'CUSTOM_MAGIC': 256}, u'generation': 4}, u'
60b3f076-ebd9-499e-a9d0-83013320505c': {u'resources': {u'MEMORY_MB': 3072,
u'DISK_GB': 60, u'VCPU': 2}, u'generation': 3},
u'c522247d-e8ee-4f6c-848d-367eb99885d6': {u'resources': {u'CUSTOM_MAGIC': 256}
, u'generation': 4}}
2017-08-29 16:22:22,666 DEBUG [nova.scheduler.client.report] Instance
8d989deb-860e-4ade-a581-a01b819b6297 has resources on 1 compute nodes
2017-08-29 16:22:22,666 DEBUG [nova.scheduler.client.report] Original
resources from same-host allocation: {u'MEMORY_MB': 3072, u'DISK_GB': 60,
u'VCPU': 2}
2017-08-29 16:22:22,667 DEBUG [nova.scheduler.client.report] Subtracting
old resources from same-host allocation: {u'MEMORY_MB': 1024, u'DISK_GB': 40,
u'VCPU': 1, u'CUSTOM_MAGIC': -256}
2017-08-29 16:22:22,667 DEBUG [nova.scheduler.client.report] Sending
updated allocation [{'resource_provider': {'uuid':
u'5f7fdb12-9866-4534-b0ce-ba60b14f37cb'}, 'resources': {u'CUSTOM_MAGIC': 256}
}, {'resource_provider': {'uuid': u'c522247d-e8ee-4f6c-848d-367eb99885d6'},
'resources': {u'CUSTOM_MAGIC': 256}}, {'resource_provider': {'uuid':
'60b3f076-ebd9-499e-a9d0-83013320505c'}, 'resources': {u
'MEMORY_MB': 1024, u'DISK_GB': 40, u'VCPU': 1, u'CUSTOM_MAGIC': -256}}] for
instance 8d989deb-860e-4ade-a581-a01b819b6297 after removing resources for
60b3f076-ebd9-499e-a9d0-83013320505c.
2017-08-29 16:22:22,667 DEBUG [nova.api.openstack.placement.requestlog]
Starting request: 127.0.0.1 "PUT
/placement/allocations/8d989deb-860e-4ade-a581-a01b819b6297"
2017-08-29 16:22:22,670 DEBUG [nova.api.openstack.placement.wsgi_wrapper]
Placement API returning an error response: JSON does not validate: -256 is less
than the minimum of 1
Failed validating 'minimum' in
schema['properties']['allocations']['items']['properties']['resources']['patternProperties']['^[0-9A-Z_]+$']:
{'minimum': 1, 'type': 'integer'}
On instance['allocations'][2]['resources'][u'CUSTOM_MAGIC']:
-256
2017-08-29 16:22:22,671 INFO [nova.api.openstack.placement.requestlog]
127.0.0.1 "PUT /placement/allocations/8d989deb-860e-4ade-a581-a01b819b6297"
status: 400 len: 532 microversion: 1.10
2017-08-29 16:22:22,671 WARNING [nova.scheduler.client.report] Failed to
save allocation for 8d989deb-860e-4ade-a581-a01b819b6297. Got HTTP 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: -256 is less than the minimum of 1
Failed validating 'minimum' in
schema['properties']['allocations']['items']['properties']['resources']['patternProperties']['^[0-9A-Z_]+$']:
{'minimum': 1, 'type': 'integer'}
On instance['allocations'][2]['resources'][u'CUSTOM_MAGIC']:
-256
</body>
</html>
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1713739/+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