Change in vdsm[master]: vdsm: Adding guest agent API versioning support

michal.skrivanek at redhat.com michal.skrivanek at redhat.com
Wed Jan 8 12:17:46 UTC 2014


Michal Skrivanek has posted comments on this change.

Change subject: vdsm: Adding guest agent API versioning support
......................................................................


Patch Set 2:

(3 comments)

....................................................
File vdsm/guestIF.py
Line 144:             version = 0
Line 145: 
Line 146:         return version
Line 147: 
Line 148:     def _setAPIVersion(self, version):
since this is only rarely happening on renegotiation I'd log the request as well for debugging purposes
Line 149:         version = self._normalizeAPIVersion(version)
Line 150:         if self.apiVersion != version:
Line 151:             self.log.info("Guest API version changed from %d to %d",
Line 152:                           self.apiVersion, version)


Line 173:                 self.log.debug("Connected to %s", self._socketName)
Line 174:                 self._messageState = MessageState.NORMAL
Line 175:                 self._clearReadBuffer()
Line 176:                 self._forward('refresh',
Line 177:                               args={'apiVersion': _MAX_SUPPORTED_API_VERSION})
log also here (for the sake of guest agent debugging once we have more versions)
Line 178:                 self._stopped = False
Line 179:                 ret = True
Line 180:             else:
Line 181:                 self.log.debug("Failed to connect to %s with %d",


Line 204:                 for (k, v) in args['memory-stat'].iteritems():
Line 205:                     # Convert the value to string since 64-bit integer is not
Line 206:                     # supported in XMLRPC
Line 207:                     self.guestInfo['memoryStats'][k] = str(v)
Line 208:             # Trigger API version renegotiation when the API version changed on
I'm not sure if we need to send it all the time. What about for any api version >0 the guest agent would send it here only until acknowledged by vdsm calling "api-version" or "refresh without apiVersion"?

I wonder if instead of dragging api-version along forever we would not be better off with assuming the previously negotiated API level and renegotiate on any exception
Line 209:             # the guest side. (e.g. VM rebooted, service was restarted etc)
Line 210:             try:
Line 211:                 apiVersion = int(args.get('apiVersion', self.apiVersion))
Line 212:             except ValueError:


-- 
To view, visit http://gerrit.ovirt.org/17004
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9095b528c2c910f12d5f170088a458bf11c71910
Gerrit-PatchSet: 2
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Vinzenz Feenstra <vfeenstr at redhat.com>
Gerrit-Reviewer: Barak Azulay <bazulay at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce at redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Martin Sivák <msivak at redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek at redhat.com>
Gerrit-Reviewer: Peter V. Saveliev <peet at redhat.com>
Gerrit-Reviewer: Roy Golan <rgolan 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