libvirt: fix alternative_device_name for detaching interfaces

There are two changes here:

1. Get the actual vif device name for logging, e.g. tap3e81295f-c1
2. Log that in detach_device_with_retry so we're not logging an
   LibvirtConfigGuestInterface object.

Change-Id: I7588c17a9936eb765269c662cad4cbedc5f58fbf
Related-Bug: #1696125
(cherry picked from commit fabfb347f5)
This commit is contained in:
Matt Riedemann 2017-06-08 14:28:50 -04:00
parent 55e2c851f1
commit c04c5d57cc
2 changed files with 5 additions and 3 deletions

View File

@ -1437,7 +1437,7 @@ class LibvirtDriver(driver.ComputeDriver):
# timeout.
wait_for_detach = guest.detach_device_with_retry(
guest.get_interface_by_cfg, cfg, live=live,
alternative_device_name=vif.get('address'))
alternative_device_name=self.vif_driver.get_vif_devname(vif))
wait_for_detach()
except exception.DeviceNotFound:
# The interface is gone so just log it as a warning.

View File

@ -419,9 +419,11 @@ class Guest(object):
persistent = self.has_persistent_configuration()
LOG.debug('Attempting initial detach for device %s', device)
LOG.debug('Attempting initial detach for device %s',
alternative_device_name)
_try_detach_device(conf, persistent, live)
LOG.debug('Start retrying detach until device %s is gone.', device)
LOG.debug('Start retrying detach until device %s is gone.',
alternative_device_name)
@loopingcall.RetryDecorator(max_retry_count=max_retry_count,
inc_sleep_time=inc_sleep_time,