When using the command "nova host-evacuate" with the option "on-shared-storage", the instance was evacuated, but the guest was rebuilt using the original image. With this fix, the Compute API has been updated so that a rebuild is no longer requested after evacuating the instance. As a result, when evacuating an instance with shared storage, the instance is now moved to the new compute host, and the root disk is not rebuilt.
When a rebuild is attempted the root disk is erased. So you can probably try to update the file-system then execute the process of evacuate and verify that the update on the fs is still alive.
nova boot --flavor 1 --image cirros i1
guestfish -a /openstack/instances/775613dd-3aa1-48e1-b1cb-05530f06c99a
> run
> list-filesystems
/dev/sda1: ext4
> mount /dev/sda1 /
> touch my-file
> ls /
my-file
bin
...
> quit
nova host-evacuate --target_host host --on-shared-storage
guestfish -a /openstack/instances/775613dd-3aa1-48e1-b1cb-05530f06c99a
> run
> mount /dev/sda1 /
> ls /my-file
I tried the suggestion above, and the file that I created through guestfish (/test-file) was still there, indicating that the disk image was not rebuilt from scratch.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHSA-2015-0843.html