Change in vdsm[master]: vm: per-attribute monitor response check
danken at redhat.com
danken at redhat.com
Thu Jan 23 01:43:57 UTC 2014
Dan Kenigsberg has posted comments on this change.
Change subject: vm: per-attribute monitor response check
......................................................................
Patch Set 8: Code-Review-1
(3 comments)
http://gerrit.ovirt.org/#/c/23138/8//COMMIT_MSG
Commit Message:
Line 25:
Line 26: Due to temporal sequence of the calls, the "monitorResponse" flag
Line 27: can be updated multiple times in a row and can bounce back and forth
Line 28: the "OK" and "Error" values; in turn, the VM status reported to VDSM,
Line 29: bounces back and forth between "Not Responding" and the
Actually, Vdsm reports the Up status in parallel to non-responsiveness. It is Engine that decides to collapse this matrix into a single state.
Line 30: reported status (e.g. "UP").
Line 31:
Line 32: This bouncing behaviour can be a source of confusion for the user.
Line 33: The root cause of this behaviour is the presence of a single flag
http://gerrit.ovirt.org/#/c/23138/8/vdsm/vm.py
File vdsm/vm.py:
Line 2798: and decStats['statsAge'] >
Line 2799: config.getint('vars', 'vm_command_timeout')):
Line 2800: stats['monitorResponse'] = '-1'
Line 2801: except Exception:
Line 2802: self.log.warning('monitor unresponsive'
why do we need both an error and a warning here? I find it confusing to debug.
Line 2803: ' for stats too old')
Line 2804: self.log.error("Error fetching vm stats", exc_info=True)
Line 2805: for var in decStats:
Line 2806: if type(decStats[var]) is not dict:
Line 3668: if attrName not in self._attributeTimeouts:
Line 3669: self.log.warning("monitor unresponsive for %s", attrName)
Line 3670: if not self._attributeTimeouts:
Line 3671: self.log.warning("monitor became unresponsive")
Line 3672: self._attributeTimeouts.add(attrName)
if attrName is an Engine-induced command, nothing would take us out of non-responsive state.
Line 3673: elif attrName in self._attributeTimeouts:
Line 3674: self._attributeTimeouts.remove(attrName)
Line 3675: self.log.warning("monitor responsive again for %s", attrName)
Line 3676: if not self._attributeTimeouts:
--
To view, visit http://gerrit.ovirt.org/23138
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I32a98d34cde91fa9dc3d07f03c47a5f2f22da620
Gerrit-PatchSet: 8
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek at redhat.com>
Gerrit-Reviewer: Nir Soffer <nsoffer at redhat.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeenstr at redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
More information about the vdsm-patches
mailing list