Comment 0 for bug 2027553

Revision history for this message
alecorps (alecorps7) wrote :

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.
+----------------------------+--------------------------------------+
| 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 |
+----------------------------+--------------------------------------+

+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 30 |
| access_project_ids | None |
| description | None |
| disk | 50 |
| id | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| name | medium |
| os-flavor-access:is_public | True |
| properties | |
| ram | 2048 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+----------------------------+--------------------------------------+

+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 60 |
| access_project_ids | None |
| description | None |
| disk | 50 |
| id | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| name | medium |
| os-flavor-access:is_public | True |
| 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
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].