When get evacuated instance of host through API filtering will cause the main nova process to block for an extended amount of time.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Confirmed
|
Low
|
Unassigned |
Bug Description
When destory the evacuated instances from a host,first it will get the host's instance which are found on the hypervisor.
If the driver doesn't support uuids listing, it will get all the instances on openstack.It will cause the main nova process to block for an extended amount of time.
like below.
https:/
def _destroy_
...
filters = {'deleted': False}
...
def _get_instances_
...
# The driver doesn't support uuids listing, so we'll have
# to brute force.
instances = objects.
So when get instances on the host which should be destoryed,it should filtering by uuids which were evacuated from current host.
def _destroy_
...
filters = {'deleted': False,
evacuations = {mig.instance_uuid: mig for mig in evacuations}
evacuated = [inst for inst in local_instances
for instance in evacuated:
...
information type: | Private Security → Public |
Changed in nova: | |
assignee: | nobody → ZhuChunzhan (zhucz) |
Changed in nova: | |
importance: | Undecided → Low |
Is there a reason why this was reported as a security bug ?