Yaniv Bronhaim has uploaded a new change for review. Change subject: Dont sample domain stat function during comunication errors ......................................................................
Dont sample domain stat function during comunication errors when realProduce function is failed we sign sdAlive boolean to false, stat sample function should check this variable before run the tests Bug-Id: https://bugzilla.redhat.com/show_bug.cgi?id=853725 Signed-off-by: Yaniv Bronhaim <[email protected]> Change-Id: I1d5b28c5d8ecc0a80f1f5d2e69ee591ebb5bf30b --- M vdsm/libvirtvm.py M vdsm/storage/hsm.py M vdsm/storage/sdc.py 3 files changed, 17 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/88/8288/1 diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py index 557c1ed..ebadf5b 100644 --- a/vdsm/libvirtvm.py +++ b/vdsm/libvirtvm.py @@ -97,7 +97,8 @@ self.sampleDisk, self.sampleDiskLatency, self.sampleNet) def _highWrite(self): - if not self._vm._volumesPrepared: + if not self._vm._volumesPrepared and \ + not self._vm.cifs.irs.isSdAlive(): # Avoid queries from storage during recovery process return @@ -113,7 +114,8 @@ self._vm._onHighWrite(vmDrive.name, alloc) def _updateVolumes(self): - if not self._vm._volumesPrepared: + if not self._vm._volumesPrepared and \ + not self._vm.cifs.irs.isSdAlive(): # Avoid queries from storage during recovery process return @@ -133,7 +135,8 @@ return cpuTime / 1000 ** 3 def _sampleDisk(self): - if not self._vm._volumesPrepared: + if not self._vm._volumesPrepared and \ + not self._vm.cifs.irs.isSdAlive(): # Avoid queries from storage during recovery process return @@ -144,7 +147,8 @@ return diskSamples def _sampleDiskLatency(self): - if not self._vm._volumesPrepared: + if not self._vm._volumesPrepared and \ + not self._vm.cifs.irs.isSdAlive(): # Avoid queries from storage during recovery process return #{'wr_total_times': 0L, 'rd_operations': 9638L, diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py index 50d6ce1..daabef4 100644 --- a/vdsm/storage/hsm.py +++ b/vdsm/storage/hsm.py @@ -192,6 +192,10 @@ pools = {} log = logging.getLogger('Storage.HSM') + @public + def isSdAlive(cls, sdUUID): + return sdCache.produce(sdUUID=sdUUID).adAlive + @classmethod def validateSdUUID(cls, sdUUID): """ diff --git a/vdsm/storage/sdc.py b/vdsm/storage/sdc.py index 90ccc35..ecd6fc7 100644 --- a/vdsm/storage/sdc.py +++ b/vdsm/storage/sdc.py @@ -64,6 +64,7 @@ self.__domainCache = {} self.storage_repo = storage_repo self.storageStale = True + self.sdAlive = True def invalidateStorage(self): self.storageStale = True @@ -137,10 +138,13 @@ # this changes, please update the order. for mod in (blockSD, localFsSD, nfsSD): try: - return mod.findDomain(sdUUID) + dom = mod.findDomain(sdUUID) + self.sdAlive = True + return dom except se.StorageDomainDoesNotExist: pass except Exception: + self.sdAlive = False self.log.error("Error while looking for domain `%s`", sdUUID, exc_info=True) -- To view, visit http://gerrit.ovirt.org/8288 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1d5b28c5d8ecc0a80f1f5d2e69ee591ebb5bf30b Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Yaniv Bronhaim <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
