[Yahoo-eng-team] [Bug 1666831] Re: Nova recreates instance directory after migration/resize

2017-03-13 Thread Matt Riedemann
** Also affects: nova/ocata
   Importance: Undecided
   Status: New

** Changed in: nova/ocata
 Assignee: (unassigned) => Lee Yarwood (lyarwood)

** Changed in: nova/ocata
   Status: New => In Progress

** Changed in: nova/ocata
   Importance: Undecided => Low

** Tags added: libvirt migrate

-- 
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/1666831

Title:
  Nova recreates instance directory after migration/resize

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) ocata series:
  In Progress

Bug description:
  Description
  ===
  Nova recreates instance directory on source host after successful 
migration/resize when using QEMU Qcow2 file drives.

  
  Nova after migration executes method driver.confirm_migration().
  This method cleans instance directory (instance directory with suffix 
_resize):

  nova/virt/libvirt/driver.py
  1115 if os.path.exists(target):
  1116 # Deletion can fail over NFS, so retry the deletion as 
required.
  1117 # Set maximum attempt as 5, most test can remove the 
directory
  1118 # for the second time.
  1119 utils.execute('rm', '-rf', target, delay_on_retry=True,
  1120   attempts=5)

  After that Nova executes:
  1122 root_disk = self.image_backend.by_name(instance, 'disk')

  root_disk is used to remove rdb snapshots, but during execution of
  self.image_backend.by_name() nova recreates instance directory.

  Flow:

  
driver.confirm_migration()->self._cleanup_resize()->self.image_backend.by_name()
  -> (nova/virt/libvirt/imagebackend.py)
  image_backend.by_name()->Qcow2.__init__()->Qcow2.resolve_driver_format().

  Qcow2.resolve_driver_format():
   344 if self.disk_info_path is not None:
   345 
fileutils.ensure_tree(os.path.dirname(self.disk_info_path))
   346 write_to_disk_info_file()

  
  Steps to reproduce
  ==

  - spawn instance
  - migrate/resize instance
  - check that instance dir on old host still exists (example: 
/home/instances//disk.info

  
  Expected result
  ===
  After migration directory /home/instances/ and file 
/home/instances/ should not exist.

  Actual result
  =
  Nova leaves instance directory after migration/resize.

  
  Environment
  ===
  1. Openstack Newton (it seems master is affected too).

  2. Libvirt + KVM

  3. Qcow2 file images on local disk.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1666831/+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


[Yahoo-eng-team] [Bug 1666831] Re: Nova recreates instance directory after migration/resize

2017-02-24 Thread OpenStack Infra
Reviewed:  https://review.openstack.org/437356
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=6347baf3d09036525b7f6df991ae440d558f9cc3
Submitter: Jenkins
Branch:master

commit 6347baf3d09036525b7f6df991ae440d558f9cc3
Author: Maciej Józefczyk 
Date:   Thu Feb 23 12:56:04 2017 +0100

Ensure that instance directory is removed after success migration/resize

Nova recreates instance directory on source host after successful 
migration/resize.
This patch removes directory of migrated instance from source host.

Change-Id: Ic683f83e428106df64be42287e2c5f3b40e73da4
Closes-Bug: #1666831


** Changed in: nova
   Status: In Progress => Fix Released

-- 
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/1666831

Title:
  Nova recreates instance directory after migration/resize

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Description
  ===
  Nova recreates instance directory on source host after successful 
migration/resize when using QEMU Qcow2 file drives.

  
  Nova after migration executes method driver.confirm_migration().
  This method cleans instance directory (instance directory with suffix 
_resize):

  nova/virt/libvirt/driver.py
  1115 if os.path.exists(target):
  1116 # Deletion can fail over NFS, so retry the deletion as 
required.
  1117 # Set maximum attempt as 5, most test can remove the 
directory
  1118 # for the second time.
  1119 utils.execute('rm', '-rf', target, delay_on_retry=True,
  1120   attempts=5)

  After that Nova executes:
  1122 root_disk = self.image_backend.by_name(instance, 'disk')

  root_disk is used to remove rdb snapshots, but during execution of
  self.image_backend.by_name() nova recreates instance directory.

  Flow:

  
driver.confirm_migration()->self._cleanup_resize()->self.image_backend.by_name()
  -> (nova/virt/libvirt/imagebackend.py)
  image_backend.by_name()->Qcow2.__init__()->Qcow2.resolve_driver_format().

  Qcow2.resolve_driver_format():
   344 if self.disk_info_path is not None:
   345 
fileutils.ensure_tree(os.path.dirname(self.disk_info_path))
   346 write_to_disk_info_file()

  
  Steps to reproduce
  ==

  - spawn instance
  - migrate/resize instance
  - check that instance dir on old host still exists (example: 
/home/instances//disk.info

  
  Expected result
  ===
  After migration directory /home/instances/ and file 
/home/instances/ should not exist.

  Actual result
  =
  Nova leaves instance directory after migration/resize.

  
  Environment
  ===
  1. Openstack Newton (it seems master is affected too).

  2. Libvirt + KVM

  3. Qcow2 file images on local disk.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1666831/+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