Public bug reported:
When a flavor is defined like:
+----------------------------+--------------------------------------------------------------------+
| Field | Value
|
+----------------------------+--------------------------------------------------------------------+
| OS-FLV-DISABLED:disabled | False
|
| OS-FLV-EXT-DATA:ephemeral | 0
|
| access_project_ids | None
|
| disk | 0
|
| id | 2f41a9c0-f194-4925-81d2-b62a3c07435a
|
| name | test2
|
| os-flavor-access:is_public | True
|
| properties | resources:DISK_GB='0', resources:MEMORY_MB='0',
resources:VCPU='0' |
| ram | 256
|
| rxtx_factor | 1.0
|
| swap |
|
| vcpus | 1
|
+----------------------------+--------------------------------------------------------------------+
Then it will disable all the standard resources, and pop them from the
resources dictionary here:
https://github.com/openstack/nova/blob/57cd38d1fdc4d6b3439a8374e4713baf0b207184/nova/scheduler/utils.py#L141
the resources dictionary is then empty but nova still tries to use it to
make a request to the placements API. This results in a error message
like:
ERROR nova.scheduler.client.report [None
req-030ec9a7-4299-47e0-bd38-b9d40721c210 admin admin] Failed to retrieve
allocation candidates from placement API for filters {}. Got 400: <htm
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <head>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <title>400 Bad
Request</title>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: </head>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <body>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <h1>400 Bad Request</h1>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: The server could not
comply with the request since it is either malformed or otherwise incorrect.<br
/><br />
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: Badly formed resources
parameter. Expected resources query string parameter in form:
?resources=VCPU:2,MEMORY_MB:1024. Got: empty string.
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: </body>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: </html>.
Nova should catch the case when the flavor has removed all filters and
provide a more useful error message to indicate what the operator as
done wrong.
** 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/1708424
Title:
When a flavor has resource extra_specs disabling all standard fields,
nova tries to make a request to the placements API with no resources
Status in OpenStack Compute (nova):
New
Bug description:
When a flavor is defined like:
+----------------------------+--------------------------------------------------------------------+
| Field | Value
|
+----------------------------+--------------------------------------------------------------------+
| OS-FLV-DISABLED:disabled | False
|
| OS-FLV-EXT-DATA:ephemeral | 0
|
| access_project_ids | None
|
| disk | 0
|
| id | 2f41a9c0-f194-4925-81d2-b62a3c07435a
|
| name | test2
|
| os-flavor-access:is_public | True
|
| properties | resources:DISK_GB='0',
resources:MEMORY_MB='0', resources:VCPU='0' |
| ram | 256
|
| rxtx_factor | 1.0
|
| swap |
|
| vcpus | 1
|
+----------------------------+--------------------------------------------------------------------+
Then it will disable all the standard resources, and pop them from the
resources dictionary here:
https://github.com/openstack/nova/blob/57cd38d1fdc4d6b3439a8374e4713baf0b207184/nova/scheduler/utils.py#L141
the resources dictionary is then empty but nova still tries to use it
to make a request to the placements API. This results in a error
message like:
ERROR nova.scheduler.client.report [None
req-030ec9a7-4299-47e0-bd38-b9d40721c210 admin admin] Failed to retrieve
allocation candidates from placement API for filters {}. Got 400: <htm
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <head>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <title>400 Bad
Request</title>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: </head>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <body>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: <h1>400 Bad
Request</h1>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: The server could not
comply with the request since it is either malformed or otherwise incorrect.<br
/><br />
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: Badly formed resources
parameter. Expected resources query string parameter in form:
?resources=VCPU:2,MEMORY_MB:1024. Got: empty string.
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: </body>
Aug 03 12:40:11 qa-cld-m1-neo4 nova-scheduler[4057]: </html>.
Nova should catch the case when the flavor has removed all filters and
provide a more useful error message to indicate what the operator as
done wrong.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1708424/+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