Change in vdsm[master]: virt: stats: move vm status detection in a method
fromani at redhat.com
fromani at redhat.com
Tue Apr 8 13:29:36 UTC 2014
Francesco Romani has uploaded a new change for review.
Change subject: virt: stats: move vm status detection in a method
......................................................................
virt: stats: move vm status detection in a method
this patch moves the detection of the status of a VM
in a separate method. No functional changes.
Change-Id: Id6ae78540b0608ceaa092b142afd1f6ab4df19fe
Signed-off-by: Francesco Romani <fromani at redhat.com>
---
M vdsm/virt/vm.py
1 file changed, 30 insertions(+), 27 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/49/26549/1
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index d28d7f2..ec40c67 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -2406,19 +2406,6 @@
def _getStatsInternal(self):
# used by API.Vm.getStats
- def _getGuestStatus():
- GUEST_WAIT_TIMEOUT = 60
- now = time.time()
- if now - self._guestEventTime < 5 * GUEST_WAIT_TIMEOUT and \
- self._guestEvent == vmstatus.POWERING_DOWN:
- return self._guestEvent
- if self.guestAgent and self.guestAgent.isResponsive() and \
- self.guestAgent.getStatus():
- return self.guestAgent.getStatus()
- if now - self._guestEventTime < GUEST_WAIT_TIMEOUT:
- return self._guestEvent
- return vmstatus.UP
-
if self.lastStatus == vmstatus.DOWN:
stats = {}
self._addExitedVmStats(stats)
@@ -2441,21 +2428,8 @@
stats['boot'] = self.conf['boot']
self._addDynamicVmStats(stats)
+ self._addVmStatusStats(stats)
- statuses = (vmstatus.SAVING_STATE, vmstatus.RESTORING_STATE,
- vmstatus.MIGRATION_SOURCE, vmstatus.MIGRATION_DESTINATION,
- vmstatus.PAUSED)
- if self.lastStatus in statuses:
- stats['status'] = self.lastStatus
- elif self.isMigrating():
- if self._migrationSourceThread._mode == 'file':
- stats['status'] = vmstatus.SAVING_STATE
- else:
- stats['status'] = vmstatus.MIGRATION_SOURCE
- elif self.lastStatus == vmstatus.UP:
- stats['status'] = _getGuestStatus()
- else:
- stats['status'] = self.lastStatus
stats['acpiEnable'] = self.conf.get('acpiEnable', 'true')
stats['timeOffset'] = self.conf.get('timeOffset', '0')
stats['clientIp'] = self.conf.get('clientIp', '')
@@ -2510,6 +2484,35 @@
self.log.error("Error setting vm disk stats",
exc_info=True)
+ def _addVmStatusStats(self, stats):
+ def _getGuestStatus():
+ GUEST_WAIT_TIMEOUT = 60
+ now = time.time()
+ if now - self._guestEventTime < 5 * GUEST_WAIT_TIMEOUT and \
+ self._guestEvent == vmstatus.POWERING_DOWN:
+ return self._guestEvent
+ if self.guestAgent and self.guestAgent.isResponsive() and \
+ self.guestAgent.getStatus():
+ return self.guestAgent.getStatus()
+ if now - self._guestEventTime < GUEST_WAIT_TIMEOUT:
+ return self._guestEvent
+ return vmstatus.UP
+
+ statuses = (vmstatus.SAVING_STATE, vmstatus.RESTORING_STATE,
+ vmstatus.MIGRATION_SOURCE, vmstatus.MIGRATION_DESTINATION,
+ vmstatus.PAUSED)
+ if self.lastStatus in statuses:
+ stats['status'] = self.lastStatus
+ elif self.isMigrating():
+ if self._migrationSourceThread._mode == 'file':
+ stats['status'] = vmstatus.SAVING_STATE
+ else:
+ stats['status'] = vmstatus.MIGRATION_SOURCE
+ elif self.lastStatus == vmstatus.UP:
+ stats['status'] = _getGuestStatus()
+ else:
+ stats['status'] = self.lastStatus
+
def isMigrating(self):
return self._migrationSourceThread.isAlive()
--
To view, visit http://gerrit.ovirt.org/26549
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id6ae78540b0608ceaa092b142afd1f6ab4df19fe
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
More information about the vdsm-patches
mailing list