Public bug reported:

Environment:
  Centos6.5/KVM/IceHouse latest

Have two compute nodes with shared NFS storage.  Live migration and migration 
work with current configuration of
NFS/Nova/etc.  One one node a Cirros image is running with local root (no 
cinder volumes).  Write files to the local
filesytem.  Live migration and migration preserve the data on the local root 
drive.  

Shutdown the node with the running instance.

nova evacuate --on-shared-storage UUID target

The disk file in the instances directory is deleted and rebuilt, losing
customer data.

Looking into the nova/compute/manager.py file it looks like there is an issue 
with the recreate flag.
It is not passed into the rebuild driver function.  If I add the recreate flag 
to the dictionary args, the
evacuate works flawlessly.

            kwargs = dict(
                recreate=recreate,  <-- added
                context=context,
                instance=instance,
                image_meta=image_meta,
                injected_files=files,
                admin_password=new_pass,
                bdms=bdms,
                detach_block_devices=detach_block_devices,
                attach_block_devices=self._prep_block_device,
                block_device_info=block_device_info,
                network_info=network_info,
                preserve_ephemeral=preserve_ephemeral)
            try:
                self.driver.rebuild(**kwargs)
            except NotImplementedError:
                # NOTE(rpodolyaka): driver doesn't provide specialized version
                # of rebuild, fall back to the default implementation
                self._rebuild_default_impl(**kwargs)
            instance.power_state = self._get_power_state(context, instance)

This looks like a major oversight so perhaps the initial feature was not
meant to work this way?

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: evacuation ha

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1367523

Title:
  Evacute does not preserve data on shared storage

Status in OpenStack Compute (Nova):
  New

Bug description:
  Environment:
    Centos6.5/KVM/IceHouse latest

  Have two compute nodes with shared NFS storage.  Live migration and migration 
work with current configuration of
  NFS/Nova/etc.  One one node a Cirros image is running with local root (no 
cinder volumes).  Write files to the local
  filesytem.  Live migration and migration preserve the data on the local root 
drive.  

  Shutdown the node with the running instance.

  nova evacuate --on-shared-storage UUID target

  The disk file in the instances directory is deleted and rebuilt,
  losing customer data.

  Looking into the nova/compute/manager.py file it looks like there is an issue 
with the recreate flag.
  It is not passed into the rebuild driver function.  If I add the recreate 
flag to the dictionary args, the
  evacuate works flawlessly.

              kwargs = dict(
                  recreate=recreate,  <-- added
                  context=context,
                  instance=instance,
                  image_meta=image_meta,
                  injected_files=files,
                  admin_password=new_pass,
                  bdms=bdms,
                  detach_block_devices=detach_block_devices,
                  attach_block_devices=self._prep_block_device,
                  block_device_info=block_device_info,
                  network_info=network_info,
                  preserve_ephemeral=preserve_ephemeral)
              try:
                  self.driver.rebuild(**kwargs)
              except NotImplementedError:
                  # NOTE(rpodolyaka): driver doesn't provide specialized version
                  # of rebuild, fall back to the default implementation
                  self._rebuild_default_impl(**kwargs)
              instance.power_state = self._get_power_state(context, instance)

  This looks like a major oversight so perhaps the initial feature was
  not meant to work this way?

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1367523/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to