diff --git a/CHANGES.txt b/CHANGES.txt index 2fa7933f7..694b5001e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,11 @@ Next Release sequences from logs for smaller/more readable logs (submitted by Mike Naberezny). + - The XML-RPC method supervisor.getVersion() has been renamed for + clarity to supervisor.getProtocolVersion(). The old name is + aliased for compatibility but is deprecated and will be removed + in a future version (Mike Naberezny). + 2.2b1 - Individual program configuration sections can now specify an diff --git a/src/supervisor/supervisorctl.py b/src/supervisor/supervisorctl.py index 5df6aafa5..492d51323 100755 --- a/src/supervisor/supervisorctl.py +++ b/src/supervisor/supervisorctl.py @@ -121,7 +121,7 @@ def _get_supervisor(self): def _upcheck(self): try: supervisor = self._get_supervisor() - supervisor.getVersion() + supervisor.getSupervisorVersion() except socket.error, why: if why[0] == errno.ECONNREFUSED: self._output('%s refused connection' % self.options.serverurl) diff --git a/src/supervisor/tests.py b/src/supervisor/tests.py index dd5354070..1dc376976 100755 --- a/src/supervisor/tests.py +++ b/src/supervisor/tests.py @@ -413,12 +413,17 @@ def test_update(self): self._assertRPCError(xmlrpc.Faults.SHUTDOWN_STATE, interface._update, 'foo') - def test_getVersion(self): + def test_getProtocolVersion(self): supervisord = DummySupervisor() interface = self._makeOne(supervisord) - version = interface.getVersion() + version = interface.getProtocolVersion() self.assertEqual(version, xmlrpc.RPC_VERSION) - self.assertEqual(interface.update_text, 'getVersion') + self.assertEqual(interface.update_text, 'getProtocolVersion') + + def test_getProtocolVersion_aliased_to_deprecated_getVersion(self): + supervisord = DummySupervisor() + interface = self._makeOne(supervisord) + self.assertEqual(interface.getProtocolVersion, interface.getVersion) def test_getSupervisorVersion(self): supervisord = DummySupervisor() @@ -447,6 +452,11 @@ def test_getState(self): self.assertEqual(stateinfo['statename'], statename) self.assertEqual(interface.update_text, 'getState') + def test_readLog_aliased_to_deprecated_readMainLog(self): + supervisord = DummySupervisor() + interface = self._makeOne(supervisord) + self.assertEqual(interface.readMainLog, interface.readLog) + def test_readLog_unreadable(self): supervisord = DummySupervisor() interface = self._makeOne(supervisord) @@ -1884,15 +1894,15 @@ def test_continue_request_methodsuccess(self): handler = self._makeOne(supervisor) handler.rpcinterface = DummyRPCServer() import xmlrpclib - data = xmlrpclib.dumps((), 'supervisor.getVersion') + data = xmlrpclib.dumps((), 'supervisor.getProtocolVersion') request = DummyRequest('/what/ever', None, None, None) handler.continue_request(data, request) logdata = supervisor.options.logger.data self.assertEqual(len(logdata), 2) self.assertEqual(logdata[0], - u'XML-RPC method called: supervisor.getVersion()') + u'XML-RPC method called: supervisor.getProtocolVersion()') self.assertEqual(logdata[1], - u'XML-RPC method supervisor.getVersion() returned successfully') + u'XML-RPC method supervisor.getProtocolVersion() returned successfully') self.assertEqual(len(request.producers), 1) xml_response = request.producers[0] response = xmlrpclib.loads(xml_response) @@ -2973,7 +2983,7 @@ class DummySupervisorRPCNamespace: _restarted = False _shutdown = False - def getVersion(self): + def getProtocolVersion(self): return '1.0' def readProcessLog(self, name, offset, length): diff --git a/src/supervisor/xmlrpc.py b/src/supervisor/xmlrpc.py index bf8546ff1..fbaac9cf5 100644 --- a/src/supervisor/xmlrpc.py +++ b/src/supervisor/xmlrpc.py @@ -182,14 +182,16 @@ def _update(self, text): # RPC API methods - def getVersion(self): + def getProtocolVersion(self): """ Return the version of the RPC API used by supervisord @return string version version id """ - self._update('getVersion') + self._update('getProtocolVersion') return RPC_VERSION + getVersion = getProtocolVersion # b/w compatibility with releases before 2.2 + def getSupervisorVersion(self): """ Return the version of the supervisor package in use by supervisord