Alexandros Kosiaris has submitted this change and it was merged.
Change subject: lvs::configuration: use hiera for lvs_service_ips
......................................................................
lvs::configuration: use hiera for lvs_service_ips
Use hiera for production lvs::configuration::lvs_service_ips, but do
still fallback to the defaults, if configuration does not exist. To
achieve that reliably, move all the realm dereferences in
lvs::configuration and use $service_ips everywhere. $service_ips is
guaranteed to be realm specific.
Change-Id: Ie2022d40b2ff4c110e62ddd8d5683e3a826e96f7
---
A hieradata/common/lvs/configuration.yaml
M manifests/role/dns.pp
M manifests/role/mediawiki.pp
M manifests/role/ocg.pp
M manifests/role/rcstream.pp
M modules/lvs/manifests/configuration.pp
M modules/lvs/manifests/monitor.pp
M modules/role/manifests/cache/bits.pp
M modules/role/manifests/cache/configuration.pp
M modules/role/manifests/cache/misc.pp
M modules/role/manifests/cache/mobile.pp
M modules/role/manifests/cache/parsoid.pp
M modules/role/manifests/cache/text.pp
M modules/role/manifests/cache/upload.pp
M modules/role/manifests/lvs/balancer.pp
15 files changed, 152 insertions(+), 24 deletions(-)
Approvals:
Alexandros Kosiaris: Looks good to me, approved
jenkins-bot: Verified
diff --git a/hieradata/common/lvs/configuration.yaml
b/hieradata/common/lvs/configuration.yaml
new file mode 100644
index 0000000..14722a5
--- /dev/null
+++ b/hieradata/common/lvs/configuration.yaml
@@ -0,0 +1,128 @@
+lvs_service_ips:
+ text:
+ codfw:
+ textlb: 208.80.153.224
+ loginlb: 208.80.153.233
+ textlb6: 2620:0:860:ed1a::1
+ loginlb6: 2620:0:860:ed1a::1:9
+ eqiad:
+ textsvc: 10.2.2.25
+ textlb: 208.80.154.224
+ loginlb: 208.80.154.233
+ textlb6: 2620:0:861:ed1a::1
+ loginlb6: 2620:0:861:ed1a::1:9
+ esams:
+ textsvc: 10.2.3.25
+ textlb: 91.198.174.192
+ loginlb: 91.198.174.201
+ textlb6: 2620:0:862:ed1a::1
+ loginlb6: 2620:0:862:ed1a::1:9
+ ulsfo:
+ textsvc: 10.2.4.25
+ textlb: 198.35.26.96
+ loginlb: 198.35.26.105
+ textlb6: 2620:0:863:ed1a::1
+ loginlb6: 2620:0:863:ed1a::1:9
+ bits:
+ codfw:
+ bitslb: 208.80.153.234
+ bitslb6: 2620:0:860:ed1a::1:a
+ eqiad:
+ bitslb: 208.80.154.234
+ bitslb6: 2620:0:861:ed1a::1:a
+ bitssvc: 10.2.2.23
+ esams:
+ bitslb: 91.198.174.202
+ bitslb6: 2620:0:862:ed1a::1:a
+ bitssvc: 10.2.3.23
+ ulsfo:
+ bitslb: 198.35.26.106
+ bitslb6: 2620:0:863:ed1a::1:a
+ bitssvc: 10.2.4.23
+ upload:
+ codfw:
+ uploadlb: 208.80.153.240
+ uploadlb6: 2620:0:860:ed1a::2:b
+ eqiad:
+ uploadlb: 208.80.154.240
+ uploadlb6: 2620:0:861:ed1a::2:b
+ uploadsvc: 10.2.2.24
+ esams:
+ uploadlb: 91.198.174.208
+ uploadlb6: 2620:0:862:ed1a::2:b
+ uploadsvc: 10.2.3.24
+ ulsfo:
+ uploadlb: 198.35.26.112
+ uploadlb6: 2620:0:863:ed1a::2:b
+ uploadsvc: 10.2.4.24
+ apaches:
+ eqiad: 10.2.2.1
+ codfw: 10.2.1.1
+ rendering:
+ eqiad: 10.2.2.21
+ codfw: 10.2.1.21
+ api:
+ eqiad: 10.2.2.22
+ codfw: 10.2.1.22
+ mobile:
+ codfw:
+ mobilelb: 208.80.153.236
+ mobilelb6: 2620:0:860:ed1a::1:c
+ eqiad:
+ mobilelb: 208.80.154.236
+ mobilelb6: 2620:0:861:ed1a::1:c
+ mobilesvc: 10.2.2.26
+ esams:
+ mobilelb: 91.198.174.204
+ mobilelb6: 2620:0:862:ed1a::1:c
+ mobilesvc: 10.2.3.26
+ ulsfo:
+ mobilelb: 198.35.26.108
+ mobilelb6: 2620:0:863:ed1a::1:c
+ mobilesvc: 10.2.4.26
+ swift:
+ eqiad: 10.2.2.27
+ codfw: 10.2.1.27
+ dns_rec:
+ eqiad:
+ dns_rec: 208.80.154.239
+ dns_rec6: 2620:0:861:ed1a::3:fe
+ codfw:
+ dns_rec: 208.80.153.254
+ dns_rec6: 2620:0:860:ed1a::3:fe
+ esams:
+ dns_rec: 91.198.174.216
+ dns_rec6: 2620:0:862:ed1a::3:fe
+ osm:
+ eqiad: 208.80.154.244
+ misc_web:
+ eqiad:
+ misc_web: 208.80.154.241
+ misc_web6: 2620:0:861:ed1a::11
+ parsoid:
+ eqiad: 10.2.2.28
+ parsoidcache:
+ eqiad:
+ parsoidlb: 208.80.154.248
+ parsoidlb6: 2620:0:861:ed1a::3:14
+ parsoidsvc: 10.2.2.29
+ search:
+ eqiad: 10.2.2.30
+ stream:
+ eqiad:
+ streamlb: 208.80.154.249
+ streamlb6: 2620:0:861:ed1a::3:15
+ ocg:
+ eqiad: 10.2.2.31
+ mathoid:
+ eqiad: 10.2.2.20
+ citoid:
+ eqiad: 10.2.2.19
+ cxserver:
+ eqiad: 10.2.2.18
+ graphoid:
+ eqiad: 10.2.2.15
+ restbase:
+ eqiad: 10.2.2.17
+ zotero:
+ eqiad: 10.2.2.16
diff --git a/manifests/role/dns.pp b/manifests/role/dns.pp
index a2a6334..4a11c3b 100644
--- a/manifests/role/dns.pp
+++ b/manifests/role/dns.pp
@@ -59,12 +59,12 @@
class {
'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['dns_rec'][$::site];
+ realserver_ips =>
$lvs::configuration::service_ips['dns_rec'][$::site];
'::dnsrecursor':
require => Class['lvs::realserver'],
listen_addresses => [$::ipaddress,
$::ipaddress6_eth0,
-
$lvs::configuration::lvs_service_ips[$::realm]['dns_rec'][$::site],
+
$lvs::configuration::service_ips['dns_rec'][$::site],
],
allow_from => $network::constants::all_networks;
}
diff --git a/manifests/role/mediawiki.pp b/manifests/role/mediawiki.pp
index faa5419..a43441e 100644
--- a/manifests/role/mediawiki.pp
+++ b/manifests/role/mediawiki.pp
@@ -73,7 +73,7 @@
if hiera('has_lvs', true) {
include ::lvs::configuration
- $ips = $lvs::configuration::lvs_service_ips[$::realm][$pool][$::site]
+ $ips = $lvs::configuration::service_ips[$pool][$::site]
class { 'lvs::realserver':
realserver_ips => $ips,
diff --git a/manifests/role/ocg.pp b/manifests/role/ocg.pp
index 25f1eef..6a31e4f 100644
--- a/manifests/role/ocg.pp
+++ b/manifests/role/ocg.pp
@@ -52,7 +52,7 @@
}
include lvs::configuration
- class { 'lvs::realserver': realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['ocg'][$::site] }
+ class { 'lvs::realserver': realserver_ips =>
$lvs::configuration::service_ips['ocg'][$::site] }
}
class role::ocg::test {
diff --git a/manifests/role/rcstream.pp b/manifests/role/rcstream.pp
index 39dcd6c..823f35e 100644
--- a/manifests/role/rcstream.pp
+++ b/manifests/role/rcstream.pp
@@ -40,7 +40,7 @@
}
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['stream'][$::site],
+ realserver_ips => $lvs::configuration::service_ips['stream'][$::site],
}
nrpe::monitor_service { 'rcstream_backend':
diff --git a/modules/lvs/manifests/configuration.pp
b/modules/lvs/manifests/configuration.pp
index 35d9cca..0996ea9 100644
--- a/modules/lvs/manifests/configuration.pp
+++ b/modules/lvs/manifests/configuration.pp
@@ -80,10 +80,10 @@
'timeout' => 10,
}
- # Configuration of PyBal LVS services.
- # NOTE! Double quotation may be needed for passing strings
-
# NOTE! This hash is referenced in many other manifests
+ # TODO: This has is now hosting default values. It is being phased out as
+ # you read this, so please refrain from updating it and update the
+ # corresponding hiera configuration
$lvs_service_ips = {
'production' => {
'text' => {
@@ -355,7 +355,7 @@
},
}
- $service_ips = $lvs_service_ips[$::realm]
+ $service_ips = hiera('lvs::configuration::lvs_service_ips',
$lvs_service_ips[$::realm])
$lvs_services = {
'text' => {
diff --git a/modules/lvs/manifests/monitor.pp b/modules/lvs/manifests/monitor.pp
index f2275b6..e3db6ea 100644
--- a/modules/lvs/manifests/monitor.pp
+++ b/modules/lvs/manifests/monitor.pp
@@ -3,7 +3,7 @@
class lvs::monitor {
include lvs::configuration
- $ip = $lvs::configuration::lvs_service_ips['production']
+ $ip = $lvs::configuration::service_ips
# WARNING: Temporary, do not lint this, it is going in hiera anyway
# lint:ignore:80chars
diff --git a/modules/role/manifests/cache/bits.pp
b/modules/role/manifests/cache/bits.pp
index 16f303d..119ce51 100644
--- a/modules/role/manifests/cache/bits.pp
+++ b/modules/role/manifests/cache/bits.pp
@@ -9,7 +9,7 @@
include role::cache::1layer
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['bits'][$::site],
+ realserver_ips => $lvs::configuration::service_ips['bits'][$::site],
}
if $::realm == 'production' {
diff --git a/modules/role/manifests/cache/configuration.pp
b/modules/role/manifests/cache/configuration.pp
index c01a0da..639a5c7 100644
--- a/modules/role/manifests/cache/configuration.pp
+++ b/modules/role/manifests/cache/configuration.pp
@@ -5,19 +5,19 @@
$backends = {
'production' => {
- 'appservers' =>
$lvs::configuration::lvs_service_ips['production']['apaches'],
- 'api' =>
$lvs::configuration::lvs_service_ips['production']['api'],
- 'rendering' =>
$lvs::configuration::lvs_service_ips['production']['rendering'],
+ 'appservers' => $lvs::configuration::service_ips['apaches'],
+ 'api' => $lvs::configuration::service_ips['api'],
+ 'rendering' =>
$lvs::configuration::service_ips['rendering'],
'bits' => {
- 'eqiad' =>
flatten([$lvs::configuration::lvs_service_ips['production']['bits']['eqiad']['bitslb']]),
+ 'eqiad' =>
flatten([$lvs::configuration::service_ips['bits']['eqiad']['bitslb']]),
},
'bits_appservers' => {
- 'eqiad' =>
flatten([$lvs::configuration::lvs_service_ips['production']['apaches']['eqiad']]),
+ 'eqiad' =>
flatten([$lvs::configuration::service_ips['apaches']['eqiad']]),
},
'test_appservers' => {
'eqiad' => [ 'mw1017.eqiad.wmnet' ],
},
- 'parsoid' =>
$lvs::configuration::lvs_service_ips['production']['parsoid'],
+ 'parsoid' => $lvs::configuration::service_ips['parsoid'],
'cxserver' => {
'eqiad' => 'cxserver.svc.eqiad.wmnet',
},
@@ -30,7 +30,7 @@
'restbase' => {
'eqiad' => 'restbase.svc.eqiad.wmnet',
},
- 'swift' =>
$lvs::configuration::lvs_service_ips['production']['swift'],
+ 'swift' => $lvs::configuration::service_ips['swift'],
},
'labs' => {
'appservers' => {
diff --git a/modules/role/manifests/cache/misc.pp
b/modules/role/manifests/cache/misc.pp
index 14138d5..218229d 100644
--- a/modules/role/manifests/cache/misc.pp
+++ b/modules/role/manifests/cache/misc.pp
@@ -6,7 +6,7 @@
include role::cache::1layer
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['misc_web'][$::site],
+ realserver_ips =>
$lvs::configuration::service_ips['misc_web'][$::site],
}
include role::cache::ssl::misc
diff --git a/modules/role/manifests/cache/mobile.pp
b/modules/role/manifests/cache/mobile.pp
index 797b89a..88b148e 100644
--- a/modules/role/manifests/cache/mobile.pp
+++ b/modules/role/manifests/cache/mobile.pp
@@ -10,7 +10,7 @@
include role::cache::2layer
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['mobile'][$::site],
+ realserver_ips => $lvs::configuration::service_ips['mobile'][$::site],
}
$mobile_nodes = hiera('cache::mobile::nodes')
diff --git a/modules/role/manifests/cache/parsoid.pp
b/modules/role/manifests/cache/parsoid.pp
index ef6e355..e79e66b 100644
--- a/modules/role/manifests/cache/parsoid.pp
+++ b/modules/role/manifests/cache/parsoid.pp
@@ -6,7 +6,7 @@
include role::cache::2layer
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['parsoidcache'][$::site],
+ realserver_ips =>
$lvs::configuration::service_ips['parsoidcache'][$::site],
}
$parsoid_nodes = hiera('cache::parsoid::nodes')
diff --git a/modules/role/manifests/cache/text.pp
b/modules/role/manifests/cache/text.pp
index 8f2389c..3c44af2 100644
--- a/modules/role/manifests/cache/text.pp
+++ b/modules/role/manifests/cache/text.pp
@@ -8,7 +8,7 @@
include role::cache::2layer
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['text'][$::site],
+ realserver_ips => $lvs::configuration::service_ips['text'][$::site],
}
$text_nodes = hiera('cache::text::nodes')
diff --git a/modules/role/manifests/cache/upload.pp
b/modules/role/manifests/cache/upload.pp
index a533cbb..8d82bf1 100644
--- a/modules/role/manifests/cache/upload.pp
+++ b/modules/role/manifests/cache/upload.pp
@@ -11,7 +11,7 @@
include role::cache::2layer
class { 'lvs::realserver':
- realserver_ips =>
$lvs::configuration::lvs_service_ips[$::realm]['upload'][$::site],
+ realserver_ips => $lvs::configuration::service_ips['upload'][$::site],
}
$upload_nodes = hiera('cache::upload::nodes')
diff --git a/modules/role/manifests/lvs/balancer.pp
b/modules/role/manifests/lvs/balancer.pp
index 09b5a6f..493b187 100644
--- a/modules/role/manifests/lvs/balancer.pp
+++ b/modules/role/manifests/lvs/balancer.pp
@@ -8,7 +8,7 @@
}
include lvs::configuration
- $sip = $lvs::configuration::lvs_service_ips[$::realm]
+ $sip = $lvs::configuration::service_ips
$lvs_balancer_ips = $::hostname ? {
# eqiad
--
To view, visit https://gerrit.wikimedia.org/r/217289
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie2022d40b2ff4c110e62ddd8d5683e3a826e96f7
Gerrit-PatchSet: 8
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits