BBlack has submitted this change and it was merged.
Change subject: HTCP: split multicast for cache clusters
......................................................................
HTCP: split multicast for cache clusters
This assigns our traditional singular 239.128.0.112 to the
text/mobile clusters (no-op for them in practice) and splits out
.113 and .114 for upload and maps respectively.
This configures maps to listen only to its new address, as it had
no working HTCP before. Upload is configured to listen both .112
and .113 for now, so that it works through the transition of the
MW side of things (after which we'll remove .112 from its list).
Bug: T112836
Bug: T116752
Change-Id: I003dee670cf87d35b9b39104af6a28f5055871dd
---
M modules/role/manifests/cache/maps.pp
M modules/role/manifests/cache/mobile.pp
M modules/role/manifests/cache/text.pp
M modules/role/manifests/cache/upload.pp
M modules/varnish/manifests/htcppurger.pp
5 files changed, 36 insertions(+), 1 deletion(-)
Approvals:
BBlack: Verified; Looks good to me, approved
diff --git a/modules/role/manifests/cache/maps.pp
b/modules/role/manifests/cache/maps.pp
index 5c9f396..3ed6f2b 100644
--- a/modules/role/manifests/cache/maps.pp
+++ b/modules/role/manifests/cache/maps.pp
@@ -4,6 +4,7 @@
}
class { 'varnish::htcppurger':
+ mc_addrs => [ '239.128.0.114' ],
}
include role::cache::2layer
diff --git a/modules/role/manifests/cache/mobile.pp
b/modules/role/manifests/cache/mobile.pp
index cdc4280..7ba7ec9 100644
--- a/modules/role/manifests/cache/mobile.pp
+++ b/modules/role/manifests/cache/mobile.pp
@@ -4,6 +4,7 @@
}
class { 'varnish::htcppurger':
+ mc_addrs => [ '239.128.0.112' ],
}
include role::cache::2layer
diff --git a/modules/role/manifests/cache/text.pp
b/modules/role/manifests/cache/text.pp
index bc7d7ac..a4c4de7 100644
--- a/modules/role/manifests/cache/text.pp
+++ b/modules/role/manifests/cache/text.pp
@@ -4,6 +4,7 @@
}
class { 'varnish::htcppurger':
+ mc_addrs => [ '239.128.0.112' ],
}
include role::cache::2layer
diff --git a/modules/role/manifests/cache/upload.pp
b/modules/role/manifests/cache/upload.pp
index 55ab7cb..fc5d1c7 100644
--- a/modules/role/manifests/cache/upload.pp
+++ b/modules/role/manifests/cache/upload.pp
@@ -4,6 +4,7 @@
}
class { 'varnish::htcppurger':
+ mc_addrs => [ '239.128.0.112', '239.128.0.113' ],
}
include role::cache::2layer
diff --git a/modules/varnish/manifests/htcppurger.pp
b/modules/varnish/manifests/htcppurger.pp
index a12a9a0..e42ed23 100644
--- a/modules/varnish/manifests/htcppurger.pp
+++ b/modules/varnish/manifests/htcppurger.pp
@@ -1,6 +1,37 @@
+# == Class: varnish::htcppurger
+#
+# Creates a vhtcpd daemon on the host, which relays "HTCP" multicast packets
+# into PURGEs to local varnish instances.
+#
+# === Parameters:
+# [*mc_addrs*]
+# Required - Array of multicast addresses to subscribe.
+#
+# [*varnishes*]
+# Array of 'IP:Port' for local varnish instances to forward to, defaults to
+# ports 80 and 3128 on localhost (our standard 2layer frontend + backend
+# instances).
+#
+# === Multicast assignments:
+# 239.128.0.112 - text/mobile (legacy: all HTCP used this address)
+# 239.128.0.113 - upload
+# 239.128.0.114 - maps
+#
+# --
+# Note that due to low-level details of how multicast works, it's best if we
+# avoid assigning separate multicast addressess anywhere in our
+# infrastructure which are identical in the bottom 23 bits and differ only in
+# the top 5 bits (the IPv4 multicast space is 28 bits total), as those will
+# effectively alias each other at layer 2 even if they're filtered and used
+# independently at higher layers...
+# We should probably start registering and tracking the multicast we use
+# somewhere centrally...
+# --
+#
+
class varnish::htcppurger(
+ $mc_addrs,
$varnishes = [ '127.0.0.1:80', '127.0.0.1:3128' ],
- $mc_addrs = [ '239.128.0.112' ],
) {
Class[varnish::packages] -> Class[varnish::htcppurger]
--
To view, visit https://gerrit.wikimedia.org/r/249118
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I003dee670cf87d35b9b39104af6a28f5055871dd
Gerrit-PatchSet: 6
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <[email protected]>
Gerrit-Reviewer: BBlack <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits