Comment 0 for bug 1693679

Revision history for this message
Rikimaru Honjo (honjo-rikimaru-c6) wrote :

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.