Gehel has submitted this change and it was merged.

Change subject: wdqs - LVS configuration
......................................................................


wdqs - LVS configuration

It make sense to use LVS in front of WDQS, especially now that we also
have an LVS cluster in codfw.

This change requires the DNS entries in
https://gerrit.wikimedia.org/r/#/c/312216/ to be merged.

Additional steps that will be done in following changes:

* add icinga check for the LVS services
* modify varnish configuration to use the LVS services

Bug: T132457
Change-Id: Id66b31e60168501f70848b5953c59b89ce68d40c
---
M conftool-data/nodes/codfw.yaml
M conftool-data/nodes/eqiad.yaml
M conftool-data/services/services.yaml
M hieradata/common/lvs/configuration.yaml
M hieradata/role/codfw/wdqs.yaml
A hieradata/role/eqiad/wdqs.yaml
M manifests/site.pp
M modules/role/manifests/lvs/balancer.pp
8 files changed, 46 insertions(+), 0 deletions(-)

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



diff --git a/conftool-data/nodes/codfw.yaml b/conftool-data/nodes/codfw.yaml
index 918a8f3..b02ffca 100644
--- a/conftool-data/nodes/codfw.yaml
+++ b/conftool-data/nodes/codfw.yaml
@@ -265,3 +265,6 @@
 prometheus:
   prometheus2001.codfw.wmnet: [prometheus]
   prometheus2002.codfw.wmnet: [prometheus]
+wdqs:
+  wdqs2001.codfw.wmnet: [wdqs]
+  wdqs2002.codfw.wmnet: [wdqs]
diff --git a/conftool-data/nodes/eqiad.yaml b/conftool-data/nodes/eqiad.yaml
index 1dfe561..4e08a96 100644
--- a/conftool-data/nodes/eqiad.yaml
+++ b/conftool-data/nodes/eqiad.yaml
@@ -313,3 +313,6 @@
 prometheus:
   prometheus1001.eqiad.wmnet: [prometheus]
   prometheus1002.eqiad.wmnet: [prometheus]
+wdqs:
+  wdqs1001.eqiad.wmnet: [wdqs]
+  wdqs1002.eqiad.wmnet: [wdqs]
diff --git a/conftool-data/services/services.yaml 
b/conftool-data/services/services.yaml
index 86fc0be..633aa2e 100644
--- a/conftool-data/services/services.yaml
+++ b/conftool-data/services/services.yaml
@@ -158,3 +158,12 @@
     default_values:
       pooled: 'no'
       weight: 10
+wdqs:
+  wdqs:
+    port: 80
+    datacenters:
+    - eqiad
+    - codfw
+    default_values:
+      pooled: 'no'
+      weight: 10
diff --git a/hieradata/common/lvs/configuration.yaml 
b/hieradata/common/lvs/configuration.yaml
index dbc5c4e..5b43802 100644
--- a/hieradata/common/lvs/configuration.yaml
+++ b/hieradata/common/lvs/configuration.yaml
@@ -126,6 +126,9 @@
   prometheus: &ip_block030
     eqiad: 10.2.2.25
     codfw: 10.2.1.25
+  wdqs: &ip_block031
+    eqiad: 10.2.2.32
+    codfw: 10.2.1.32
 lvs_services:
   text:
     description: "Main wiki platform LVS service, text.%{::site}.wikimedia.org 
(Varnish)"
@@ -985,3 +988,23 @@
           hostname: prometheus.svc.eqiad.wmnet
         codfw:
           hostname: prometheus.svc.codfw.wmnet
+  wdqs:
+    description: Wikidata Query Service
+    class: low-traffic
+    sites:
+    - eqiad
+    - codfw
+    ip: *ip_block031
+    port: 80
+    bgp: 'yes'
+    depool-threshold: '.5'
+    monitors:
+      ProxyFetch:
+        url:
+        - http://localhost/
+      IdleConnection:
+        timeout-clean-reconnect: 3
+        max-delay: 300
+    conftool:
+      cluster: wdqs
+      service: wdqs
diff --git a/hieradata/role/codfw/wdqs.yaml b/hieradata/role/codfw/wdqs.yaml
index 232e44f..5e7464b 100644
--- a/hieradata/role/codfw/wdqs.yaml
+++ b/hieradata/role/codfw/wdqs.yaml
@@ -1 +1,3 @@
 wdqs::data_dir: /srv/wdqs
+lvs::realserver::realserver_ips:
+    - '10.2.1.32' # wdqs.svc.codfw.wmnet
diff --git a/hieradata/role/eqiad/wdqs.yaml b/hieradata/role/eqiad/wdqs.yaml
new file mode 100644
index 0000000..d5e3267
--- /dev/null
+++ b/hieradata/role/eqiad/wdqs.yaml
@@ -0,0 +1,2 @@
+lvs::realserver::realserver_ips:
+    - '10.2.2.32' # wdqs.svc.eqiad.wmnet
diff --git a/manifests/site.pp b/manifests/site.pp
index cf6aaad..0ff0534 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -2835,10 +2835,12 @@
 # Wikidata query service
 node /^wdqs100[1-2]\.eqiad\.wmnet$/ {
     role(wdqs)
+    include lvs::realserver
 }
 
 node /^wdqs200[1-2]\.codfw\.wmnet$/ {
     role(wdqs)
+    include lvs::realserver
 }
 
 node 'wezen.codfw.wmnet' {
diff --git a/modules/role/manifests/lvs/balancer.pp 
b/modules/role/manifests/lvs/balancer.pp
index 32c99f1..1af8fcc 100644
--- a/modules/role/manifests/lvs/balancer.pp
+++ b/modules/role/manifests/lvs/balancer.pp
@@ -44,6 +44,7 @@
             $sip['ores'][$::site],
             $sip['thumbor'][$::site],
             $sip['prometheus'][$::site],
+            $sip['wdqs'][$::site],
             ],
 
         # codfw (should mirror eqiad above, eventually, and become merged with 
it via regex
@@ -76,6 +77,7 @@
             $sip['ores'][$::site],
             $sip['thumbor'][$::site],
             $sip['prometheus'][$::site],
+            $sip['wdqs'][$::site],
             ],
 
         # esams + ulsfo

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id66b31e60168501f70848b5953c59b89ce68d40c
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Gehel <gleder...@wikimedia.org>
Gerrit-Reviewer: BBlack <bbl...@wikimedia.org>
Gerrit-Reviewer: Ema <e...@wikimedia.org>
Gerrit-Reviewer: Gehel <gleder...@wikimedia.org>
Gerrit-Reviewer: Smalyshev <smalys...@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