Ema has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/363182 )

Change subject: Add IPv6 support to all monitors
......................................................................


Add IPv6 support to all monitors

Previously, monitors would only monitor over IPv4 by picking
a random IP from the IPv4 address set only on every connection.

With this change they will *only* monitor with the primary IP
(IPv4 or IPv6, depending on the address family of the service)
that was selected to be pooled by IPVS.

Change-Id: I21c1575e180cbda792a5eacc004fafd4a624e03b
---
M pybal/monitors/dnsquery.py
M pybal/monitors/idleconnection.py
M pybal/monitors/proxyfetch.py
M pybal/test/test_monitors.py
4 files changed, 8 insertions(+), 17 deletions(-)

Approvals:
  Ema: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pybal/monitors/dnsquery.py b/pybal/monitors/dnsquery.py
index 65b7e89..b374791 100644
--- a/pybal/monitors/dnsquery.py
+++ b/pybal/monitors/dnsquery.py
@@ -52,7 +52,7 @@
         super(DNSQueryMonitoringProtocol, self).run()
 
         # Create a resolver
-        self.resolver = client.createResolver([(ip, 53) for ip in 
self.server.ip4_addresses])
+        self.resolver = client.createResolver([(self.server.ip, 53)])
 
         if not self.checkCall or not self.checkCall.active():
             self.checkCall = reactor.callLater(self.intvCheck, self.check)
diff --git a/pybal/monitors/idleconnection.py b/pybal/monitors/idleconnection.py
index 1c34634..42c556d 100644
--- a/pybal/monitors/idleconnection.py
+++ b/pybal/monitors/idleconnection.py
@@ -10,7 +10,6 @@
 from twisted.internet import reactor, protocol
 import logging
 
-import random
 import socket
 
 
@@ -130,9 +129,4 @@
     def _connect(self, *args, **kwargs):
         """Starts a TCP connection attempt"""
 
-        try:
-            host = random.choice(self.server.ip4_addresses)
-        except (TypeError, IndexError):
-            host = self.server.host
-
-        self.reactor.connectTCP(host, self.server.port, self, *args, **kwargs)
+        self.reactor.connectTCP(self.server.ip, self.server.port, self, *args, 
**kwargs)
diff --git a/pybal/monitors/proxyfetch.py b/pybal/monitors/proxyfetch.py
index 201c2ef..3468e73 100644
--- a/pybal/monitors/proxyfetch.py
+++ b/pybal/monitors/proxyfetch.py
@@ -10,7 +10,7 @@
 from twisted.internet import reactor, defer
 from twisted.web import client
 from twisted.python.runtime import seconds
-import logging
+import logging, random
 
 log = util.log
 
@@ -96,16 +96,13 @@
         # FIXME: Use GET as a workaround for a Twisted bug with 
HEAD/Content-length
         # where it expects a body and throws a PartialDownload failure
 
-        import random
         url = random.choice(self.URL)
-        try:
-            host = random.choice(self.server.ip4_addresses)
-        except (TypeError, IndexError):
-            host = self.server.host
 
         self.checkStartTime = seconds()
         self.getPageDeferred = self.getProxyPage(
-            url, method='GET', host=host,
+            url,
+            method='GET',
+            host=self.server.ip,
             port=self.server.port,
             status=self.expectedStatus,
             timeout=self.toGET,
diff --git a/pybal/test/test_monitors.py b/pybal/test/test_monitors.py
index b44d29d..c38a370 100644
--- a/pybal/test/test_monitors.py
+++ b/pybal/test/test_monitors.py
@@ -49,8 +49,8 @@
         self.monitor.run()
         connector = self.reactor.connectors.pop()
         destination = connector.getDestination()
-        self.assertEquals((destination.host, destination.port),
-                          (self.server.host, self.server.port))
+        self.assert_((destination.host, destination.port) == 
(self.server.host, self.server.port)
+                     or (destination.host, destination.port) == 
(self.server.ip, self.server.port))
 
     def testClientConnectionMade(self):
         """Test `IdleConnectionMonitoringProtocol.clientConnectionMade`."""

-- 
To view, visit https://gerrit.wikimedia.org/r/363182
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I21c1575e180cbda792a5eacc004fafd4a624e03b
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/pybal
Gerrit-Branch: 1.13
Gerrit-Owner: Ema <e...@wikimedia.org>
Gerrit-Reviewer: Ema <e...@wikimedia.org>
Gerrit-Reviewer: Mark Bergsma <m...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to