Description
===========
disk_available_least is a free disk size information of hypervisors.
This is calculated by the following formula:
disk_available_least = <free disk size> - <Total gap between virtual disk size and actual disk size for all instances>
But stopped instance's virtual disk sizes are not calculated now.
So disk_available_least will be larger than actual free disk size.
As a result, instances will be scheduled beyond the actual free disk size if stopped instances are on a host.
I think that this is a bug.
Because stopped instances are on a host unlike shelved instances.
Steps to reproduce
==================
1. Call hyper visor show API for any hypervisor.
And, check the value of disk_available_least.
2. Create a instance with qcow2 image on 1's hypervisor.
3. Wait for over 1 minute.
4. Call hyper visor show API.
And, check that disk_available_least is smaller than step 1's value.
5. Call Stop Server API for the instance.
6. Wait until instance's state is changed to STOPPED.
7. Wait for over 1 minute.
8. Call hyper visor show API.
And, check the value of disk_available_least.
Expected result
===============
disk_available_least value is same as step 8.
Because stopped instance is still on the host.
Actual result
=============
disk_available_least value is bigger than step4's value in step 8.
Environment
===========
* I used latest devstack.
* I used libvirt + kvm.
* I used qcow2 image.
Logs & Configs
==============
I think that this bug affects for all settings.
Description least is a free disk size information of hypervisors.
===========
disk_available_
This is calculated by the following formula:
disk_available_ least = <free disk size> - <Total gap between virtual disk size and actual disk size for all instances>
But stopped instance's virtual disk sizes are not calculated now. least will be larger than actual free disk size.
So disk_available_
As a result, instances will be scheduled beyond the actual free disk size if stopped instances are on a host.
I think that this is a bug.
Because stopped instances are on a host unlike shelved instances.
Steps to reproduce least. least is smaller than step 1's value. least.
==================
1. Call hyper visor show API for any hypervisor.
And, check the value of disk_available_
2. Create a instance with qcow2 image on 1's hypervisor.
3. Wait for over 1 minute.
4. Call hyper visor show API.
And, check that disk_available_
5. Call Stop Server API for the instance.
6. Wait until instance's state is changed to STOPPED.
7. Wait for over 1 minute.
8. Call hyper visor show API.
And, check the value of disk_available_
Expected result least value is same as step 8.
===============
disk_available_
Because stopped instance is still on the host.
Actual result least value is bigger than step4's value in step 8.
=============
disk_available_
Environment
===========
* I used latest devstack.
* I used libvirt + kvm.
* I used qcow2 image.
Logs & Configs
==============
I think that this bug affects for all settings.