Exception when live block migration multiple ephemerals
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Sahid Orentino | ||
Newton |
Fix Committed
|
High
|
Sahid Orentino |
Bug Description
When block live migrate an instance with multiple ephemeral an exception FlavorDiskSmall
Steps to Reproduce:
1) Created flavor with two ephemeral support.
~~~
[root@allinone9 ~(keystone_admin)]# nova flavor-create 2ephemeral-disks 6 512 1 1 --ephemeral 2
~~~
2) Spawned instance using created flavor.
~~~
[root@allinone9 ~(keystone_admin)]# nova boot --flavor 2ephemeral-disks --image cirros --ephemeral size=1 --ephemeral size=1 internal1
~~~
3) Instance spawned successfully.
~~~
[root@allinone9 ~(keystone_admin)]# nova list --field name,status,host | grep -i internal1
| 08619d2d-
~~~
4) Verifying that two extra ephemeral disks are connected with instance.
~~~
[root@allinone9 ~(keystone_admin)]# virsh domblklist 4
Target Source
-------
vda /var/lib/
vdb /var/lib/
vdc /var/lib/
~~~
5) Tried to perform the block migration but it end with same error which you have seen.
[root@allinone9 ~(keystone_admin)]# nova live-migration 08619d2d-
~~~
From : /var/log/
2016-09-26 08:53:12.033 3958 ERROR nova.compute.
2016-09-26 08:53:12.033 3958 ERROR nova.compute.
2016-09-26 08:53:12.033 3958 ERROR nova.compute.
~~~
That error is because two mistake:
... LINE ~ 6588 in libvirt.py (method libvirt.
image = self.image_
if cache_name.
fs_
os_
elif cache_name.
...
(a) That argument 'size' does not exist in _create_ephemeral
(b) We should report here the actual size of the ephemeral disk (which is what has been asked by user during boot insteado of the total size allowed by the flavor for ephemeral disks)
Changed in nova: | |
assignee: | nobody → sahid (sahid-ferdjaoui) |
tags: | added: newton-backport-potential |
Changed in nova: | |
importance: | Undecided → Medium |
tags: |
added: libvirt live-migration removed: newton-backport-potential |
Changed in nova: | |
importance: | Medium → High |
Actually it's little bit more complicated. Because we cache ephemeral disk which seems to be a bad idea. An ephemeral disk can have been create with 2G the first time and an other flavor can request for only 1G... That case is going to fail