When we resize an instance with flavor with ephemeral disk, it finishes in error state and we have the following error : Cannot access backing file \'/var/lib/nova/instances/_base/ephemeral_30_0cf8804\' of storage file \'/var/lib/nova/instances/<instance_uuid>/disk.local.
The issue happened only when the instance has been initially created with flavor without ephemeral disk.
Steps to reproduce
==================
* Have three compute nodes
* create three "dedicated" flavors called small, medium and large. The small flavor has no ephemeral disk.
+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| access_project_ids | None |
| description | None |
| disk | 50 |
| id | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| name | medium |
| os-flavor-access:is_public | True |
| properties | |
| ram | 1024 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+----------------------------+--------------------------------------+
* Resize the instance with the flavor medium to the second node
* Check the folder nova_compute/_data/instances/_base on the compute node where is the vm, you should have the ephemeral disk backing file for the flavor medium :
ls nova_compute/_data/instances/_base/ephemeral_30_0cf8804
nova_compute/_data/instances/_base/ephemeral_30_0cf8804
* Ensure this file is not present on the another nodes.
* Resize the instance with the flavor large to the third node
* Then you will see the ERROR in nova_compute logs : libvirt.libvirtError: Cannot access backing file '/var/lib/nova/instances/_base/ephemeral_30_0cf8804' of storage file '/var/lib/nova/instances/<instance_uuid>/disk.local'
Expected result
===============
VM resized successfuly, vm state is active
Actual result
=============
* VM become ERROR
* On dashboard you can see this notice:
Please try again later [Error: libvirtError].
Description
===========
When we resize an instance with flavor with ephemeral disk, it finishes in error state and we have the following error : Cannot access backing file \'/var/ lib/nova/ instances/ _base/ephemeral _30_0cf8804\ ' of storage file \'/var/ lib/nova/ instances/ <instance_ uuid>/disk. local.
The issue happened only when the instance has been initially created with flavor without ephemeral disk.
Steps to reproduce
==================
* Have three compute nodes
* create three "dedicated" flavors called small, medium and large. The small flavor has no ephemeral disk. ------- ------- ------- -+----- ------- ------- ------- ------- -----+ ------- ------- ------- -+----- ------- ------- ------- ------- -----+ DISABLED: disabled | False | EXT-DATA: ephemeral | 0 | xxxxxxxxxxxxxxx xxxxxx | access: is_public | True | ------- ------- ------- -+----- ------- ------- ------- ------- -----+
+------
| Field | Value |
+------
| OS-FLV-
| OS-FLV-
| access_project_ids | None |
| description | None |
| disk | 50 |
| id | xxxxxxxxxxxxxxx
| name | medium |
| os-flavor-
| properties | |
| ram | 1024 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+------
+------ ------- ------- ------- -+----- ------- ------- ------- ------- -----+ ------- ------- ------- -+----- ------- ------- ------- ------- -----+ DISABLED: disabled | False | EXT-DATA: ephemeral | 30 | xxxxxxxxxxxxxxx xxxxxx | access: is_public | True | ------- ------- ------- -+----- ------- ------- ------- ------- -----+
| Field | Value |
+------
| OS-FLV-
| OS-FLV-
| access_project_ids | None |
| description | None |
| disk | 50 |
| id | xxxxxxxxxxxxxxx
| name | medium |
| os-flavor-
| properties | |
| ram | 2048 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+------
+------ ------- ------- ------- -+----- ------- ------- ------- ------- -----+ ------- ------- ------- -+----- ------- ------- ------- ------- -----+ DISABLED: disabled | False | EXT-DATA: ephemeral | 60 | xxxxxxxxxxxxxxx xxxxxx | access: is_public | True | ------- ------- ------- -+----- ------- ------- ------- ------- -----+
| Field | Value |
+------
| OS-FLV-
| OS-FLV-
| access_project_ids | None |
| description | None |
| disk | 50 |
| id | xxxxxxxxxxxxxxx
| name | medium |
| os-flavor-
| properties | |
| ram | 4096 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 2 |
+------
* Create the instance with flavor small
* Resize the instance with the flavor medium to the second node
* Check the folder nova_compute/ _data/instances /_base on the compute node where is the vm, you should have the ephemeral disk backing file for the flavor medium :
ls nova_compute/ _data/instances /_base/ ephemeral_ 30_0cf8804 _data/instances /_base/ ephemeral_ 30_0cf8804
nova_compute/
* Ensure this file is not present on the another nodes.
* Resize the instance with the flavor large to the third node
* Then you will see the ERROR in nova_compute logs : libvirt. libvirtError: Cannot access backing file '/var/lib/ nova/instances/ _base/ephemeral _30_0cf8804' of storage file '/var/lib/ nova/instances/ <instance_ uuid>/disk. local'
Expected result
===============
VM resized successfuly, vm state is active
Actual result
=============
* VM become ERROR
* On dashboard you can see this notice:
Please try again later [Error: libvirtError].