summaryrefslogtreecommitdiff
path: root/nova/virt/libvirt/driver.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/virt/libvirt/driver.py')
-rw-r--r--nova/virt/libvirt/driver.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 6ef0999165..c616406088 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -68,6 +68,7 @@ from nova import block_device
from nova.compute import power_state
from nova.compute import task_states
from nova.compute import utils as compute_utils
+from nova.compute import vm_states
import nova.conf
from nova.console import serial as serial_console
from nova.console import type as ctype
@@ -7511,14 +7512,19 @@ class LibvirtDriver(driver.ComputeDriver):
# should ignore this instance and move on.
if guest.uuid in local_instances:
inst = local_instances[guest.uuid]
- if inst.task_state is not None:
+ # bug 1774249 indicated when instance is in RESIZED
+ # state it might also can't find back disk
+ if (inst.task_state is not None or
+ inst.vm_state == vm_states.RESIZED):
LOG.info('Periodic task is updating the host '
'stats; it is trying to get disk info '
'for %(i_name)s, but the backing disk '
'was removed by a concurrent operation '
- '(task_state=%(task_state)s)',
+ '(task_state=%(task_state)s) and '
+ '(vm_state=%(vm_state)s)',
{'i_name': guest.name,
- 'task_state': inst.task_state},
+ 'task_state': inst.task_state,
+ 'vm_state': inst.vm_state},
instance=inst)
err_ctxt.reraise = False