2017-05-31 02:53:14 |
Rikimaru Honjo |
description |
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
===========
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.
When was this bug made?
=======================
Following patch made this bug:
https://review.openstack.org/#/c/105127/
Stopped instance's disk sizes were calculated until merging the above patch in Juno cycle. |
|