Ema has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/335844 )
Change subject: Log etcd connection status ...................................................................... Log etcd connection status In order to ease debugging of T134893, add logging of connection made/failed/lost events. Bug: T134893 Change-Id: I7df7a964d76066df995fcbaa9e5f335f14e4d6b6 --- M pybal/etcd.py 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/debs/pybal refs/changes/44/335844/1 diff --git a/pybal/etcd.py b/pybal/etcd.py index 6128d79..016fe5a 100644 --- a/pybal/etcd.py +++ b/pybal/etcd.py @@ -17,6 +17,7 @@ from twisted.web import error from twisted.web.client import HTTPClientFactory from twisted.web.http import HTTPClient, urlparse +from twisted.internet.error import ConnectionDone from .config import ConfigurationObserver from .version import USER_AGENT_STRING @@ -53,6 +54,8 @@ etcdIndex = 0 def connectionMade(self): + log.info("connected to %s" % self.factory.configUrl, system="etcd") + self.sendCommand('GET', self.factory.getPath()) self.sendHeader('Host', self.factory.host) self.sendHeader('User-Agent', self.factory.agent) @@ -64,6 +67,8 @@ self.message = message def handleResponse(self, response): + log.debug("%s response: %s" % (self.status, response), system="etcd") + if self.status != '200': err = error.Error(self.status, self.message, response) self.factory.onFailure(failure.Failure(err)) @@ -75,7 +80,7 @@ msg = "Error: %s Etcd response: %s" % (err, response) self.factory.onFailure(msg) else: - log.warn("etcd: empty response from server") + log.warn("empty response from server", system="etcd") self.transport.loseConnection() @@ -112,7 +117,7 @@ self.lastConfig = {} def startObserving(self): - """Start (or re-start) watching the configuration file for changes.""" + """Start (or re-start) watching etcd for changes.""" reactor.connectSSL(self.host, self.port, self, ssl.ClientContextFactory()) @@ -130,9 +135,16 @@ return path def clientConnectionFailed(self, connector, reason): + log.error("client connection failed: reason=%s" % reason, system="etcd") connector.connect() - def clientConnectionLost(self, connector, unused_reason): + def clientConnectionLost(self, connector, reason): + r = reason.trap(ConnectionDone) + if r == ConnectionDone: + log.info("client connection closed cleanly", system="etcd") + else: + log.error("client connection lost: reason=%s" % reason, system="etcd") + connector.connect() def getMaxModifiedIndex(self, root): @@ -166,4 +178,4 @@ self.lastConfig = config def onFailure(self, reason): - log.error('failed: %s' % reason) + log.error('failed: %s' % reason, system="etcd") -- To view, visit https://gerrit.wikimedia.org/r/335844 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7df7a964d76066df995fcbaa9e5f335f14e4d6b6 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/pybal Gerrit-Branch: 1.13 Gerrit-Owner: Ema <e...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits