Handle volume bdm not found in lvm.get_volume_size
We're stack tracing in successful gate runs because of a race when
deleting an instance and when the update_available_resource periodic
task is running.
When we hit the race, the volume that's backing the instance is deleted
and the periodic task (virt driver) is trying to get the current
information about the volume, which no longer exists and we fail and
short-circuit the update_available_resource task.
This change adds a decorator which checks if a ProcessExecutionError is
due to the device no longer existing and if so, raises
VolumeBDMPathNotFound, and applies that decorator to the get_volume_size
method.
Reviewed: https:/ /review. openstack. org/122873 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=9a570111d95 3f7b2a5bd2b4f47 dda353f2aba78c
Committed: https:/
Submitter: Jenkins
Branch: master
commit 9a570111d953f7b 2a5bd2b4f47dda3 53f2aba78c
Author: Matt Riedemann <email address hidden>
Date: Fri Sep 19 12:49:31 2014 -0700
Handle volume bdm not found in lvm.get_volume_size
We're stack tracing in successful gate runs because of a race when available_ resource periodic
deleting an instance and when the update_
task is running.
When we hit the race, the volume that's backing the instance is deleted available_ resource task.
and the periodic task (virt driver) is trying to get the current
information about the volume, which no longer exists and we fail and
short-circuit the update_
This change adds a decorator which checks if a ProcessExecutio nError is thNotFound, and applies that decorator to the get_volume_size
due to the device no longer existing and if so, raises
VolumeBDMPa
method.
Related-Bug: #1371677
Change-Id: Ic452df82c61087 efda8d742e03007 6421c0c813b