Alexandros Kosiaris has uploaded a new change for review.
https://gerrit.wikimedia.org/r/191061
Change subject: Reuse parsoid varnish for restbase
......................................................................
Reuse parsoid varnish for restbase
The idea is to rely on the Host header to distinguish between
parsoid and restbase, and reassign the req.backend variable rather late on
the vcl_recv in order to do the minimal possible changes in vcl.
Rely on a terminating return statement to avoid clamping the host
header and the rest of the parsoid code in vcl_recv. Avoid cache lookup and
storing.
Bug: T78194
Change-Id: Ifed6cc7ebc292b6678fca28f874c8ca7840a94d9
---
M manifests/role/cache.pp
M templates/varnish/parsoid-common.inc.vcl.erb
M templates/varnish/parsoid-frontend.inc.vcl.erb
3 files changed, 22 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/61/191061/1
diff --git a/manifests/role/cache.pp b/manifests/role/cache.pp
index 7844d07..bb29c12 100644
--- a/manifests/role/cache.pp
+++ b/manifests/role/cache.pp
@@ -201,6 +201,9 @@
'citoid' => {
'eqiad' => 'citoid.svc.eqiad.wmnet',
},
+ 'restbase' => {
+ 'eqiad' => 'restbase.svc.eqiad.wmnet',
+ },
},
'labs' => {
'api' => {
@@ -1506,6 +1509,7 @@
'backend' =>
$::role::cache::configuration::backends[$::realm]['parsoid'][$::mw_primary],
'cxserver_backend' =>
$::role::cache::configuration::active_nodes[$::realm]['cxserver'][$::site],
'citoid_backend' =>
$::role::cache::configuration::active_nodes[$::realm]['citoid'][$::site],
+ 'restbase_backend' =>
$::role::cache::configuration::active_nodes[$::realm]['restbase'][$::site],
},
director_options => {
'retries' => 2,
@@ -1526,6 +1530,11 @@
'probe' => false,
},
{
+ 'backend_match' => '^restbase',
+ 'port' => 7231,
+ 'probe' => false, # TODO: Need probe here
+ },
+ {
'port' => 8000,
'connect_timeout' => '5s',
'first_byte_timeout' => '5m',
@@ -1544,6 +1553,7 @@
'backend' =>
$::role::cache::configuration::active_nodes[$::realm]['parsoid'][$::site],
'cxserver_backend' =>
$::role::cache::configuration::active_nodes[$::realm]['cxserver'][$::site],
'citoid_backend' =>
$::role::cache::configuration::active_nodes[$::realm]['citoid'][$::site],
+ 'restbase_backend' =>
$::role::cache::configuration::active_nodes[$::realm]['restbase'][$::site],
},
director_type => 'chash',
director_options => {
@@ -1565,6 +1575,11 @@
'probe' => false,
},
{
+ 'backend_match' => '^restbase',
+ 'port' => 7231,
+ 'probe' => false, # TODO: Need probe here
+ },
+ {
'port' => 3128,
'weight' => $backend_weight,
'connect_timeout' => '5s',
diff --git a/templates/varnish/parsoid-common.inc.vcl.erb
b/templates/varnish/parsoid-common.inc.vcl.erb
index 6fdf257..93e172e 100644
--- a/templates/varnish/parsoid-common.inc.vcl.erb
+++ b/templates/varnish/parsoid-common.inc.vcl.erb
@@ -9,6 +9,10 @@
set req.backend = citoid_backend;
return (pass);
}
+ if (req.http.Host ~ "restbase" ) {
+ set req.backend = restbase_backend;
+ return (pass);
+ }
// Clamp the host header to 'parsoid'
set req.http.host = "parsoid";
diff --git a/templates/varnish/parsoid-frontend.inc.vcl.erb
b/templates/varnish/parsoid-frontend.inc.vcl.erb
index b91cafc..8eef1a2 100644
--- a/templates/varnish/parsoid-frontend.inc.vcl.erb
+++ b/templates/varnish/parsoid-frontend.inc.vcl.erb
@@ -25,4 +25,7 @@
if (req.http.Host ~ "citoid") {
return (hit_for_pass);
}
+ if (req.http.Host ~ "restbase") {
+ return (hit_for_pass);
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/191061
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifed6cc7ebc292b6678fca28f874c8ca7840a94d9
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits