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