Giuseppe Lavagetto has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/382683 )
Change subject: role::cache::base: convert to profile [1/2]
......................................................................
role::cache::base: convert to profile [1/2]
Change-Id: I28093780badaa38713847028cd5b5569dc81d6ca
---
M hieradata/labs.yaml
M hieradata/role/common/cache/canary.yaml
M hieradata/role/common/cache/misc.yaml
M hieradata/role/common/cache/text.yaml
M hieradata/role/common/cache/upload.yaml
R modules/profile/manifests/cache/base.pp
M modules/role/manifests/cache/misc.pp
M modules/role/manifests/cache/text.pp
M modules/role/manifests/cache/upload.pp
M modules/varnish/manifests/zero_update.pp
10 files changed, 70 insertions(+), 34 deletions(-)
Approvals:
Giuseppe Lavagetto: Looks good to me, approved
Ema: Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/hieradata/labs.yaml b/hieradata/labs.yaml
index fed4f4a..7d20b1e 100644
--- a/hieradata/labs.yaml
+++ b/hieradata/labs.yaml
@@ -57,15 +57,15 @@
cache::upload::nodes:
eqiad:
- 'deployment-cache-upload04.deployment-prep.eqiad.wmflabs'
-role::cache::base::zero_site: 'https://zero.wikimedia.beta.wmflabs.org'
-role::cache::base::purge_host_only_upload_re:
'^(upload|maps)\.beta\.wmflabs\.org$'
-role::cache::base::purge_host_not_upload_re:
'^(?!(upload|maps)\.beta\.wmflabs\.org)'
+profile::cache::base::zero_site: 'https://zero.wikimedia.beta.wmflabs.org'
+profile::cache::base::purge_host_only_upload_re:
'^(upload|maps)\.beta\.wmflabs\.org$'
+profile::cache::base::purge_host_not_upload_re:
'^(?!(upload|maps)\.beta\.wmflabs\.org)'
role::cache::upload::upload_domain: 'upload.beta.wmflabs.org'
role::cache::upload::maps_domain: 'maps.beta.wmflabs.org'
role::cache::text::static_host: 'deployment.wikimedia.beta.wmflabs.org'
role::cache::text::shortener_domain: 'w-beta.wmflabs.org'
role::cache::text::top_domain: 'beta.wmflabs.org'
-role::cache::base::storage_parts:
+profile::cache::base::storage_parts:
- vdb
- vdb
varnish::dynamic_backend_caches: false
diff --git a/hieradata/role/common/cache/canary.yaml
b/hieradata/role/common/cache/canary.yaml
index 264688c..eb512ed 100644
--- a/hieradata/role/common/cache/canary.yaml
+++ b/hieradata/role/common/cache/canary.yaml
@@ -73,3 +73,8 @@
debug_director: 'appservers_debug'
cache::fe_transient_gb: 5
cache::be_transient_gb: 2
+# Profile::cache::base
+profile::cache::base::zero_site: 'https://zero.wikimedia.org'
+profile::cache::base::purge_host_only_upload_re:
'^(upload|maps)\.wikimedia\.org$'
+profile::cache::base::purge_host_not_upload_re:
'^(?!(upload|maps)\.wikimedia\.org)'
+profile::cache::base::storage_parts: ['sda3', 'sdb3']
diff --git a/hieradata/role/common/cache/misc.yaml
b/hieradata/role/common/cache/misc.yaml
index 00bf122..c63f215 100644
--- a/hieradata/role/common/cache/misc.yaml
+++ b/hieradata/role/common/cache/misc.yaml
@@ -272,3 +272,8 @@
director: 'bromine'
yarn.wikimedia.org:
director: 'thorium'
+# Profile::cache::base
+profile::cache::base::zero_site: 'https://zero.wikimedia.org'
+profile::cache::base::purge_host_only_upload_re:
'^(upload|maps)\.wikimedia\.org$'
+profile::cache::base::purge_host_not_upload_re:
'^(?!(upload|maps)\.wikimedia\.org)'
+profile::cache::base::storage_parts: ['sda3', 'sdb3']
diff --git a/hieradata/role/common/cache/text.yaml
b/hieradata/role/common/cache/text.yaml
index 6187ec5..fa794a3 100644
--- a/hieradata/role/common/cache/text.yaml
+++ b/hieradata/role/common/cache/text.yaml
@@ -78,3 +78,8 @@
debug_director: 'appservers_debug'
cache::fe_transient_gb: 5
cache::be_transient_gb: 2
+# Profile::cache::base
+profile::cache::base::zero_site: 'https://zero.wikimedia.org'
+profile::cache::base::purge_host_only_upload_re:
'^(upload|maps)\.wikimedia\.org$'
+profile::cache::base::purge_host_not_upload_re:
'^(?!(upload|maps)\.wikimedia\.org)'
+profile::cache::base::storage_parts: ['sda3', 'sdb3']
diff --git a/hieradata/role/common/cache/upload.yaml
b/hieradata/role/common/cache/upload.yaml
index 1387340..f560edd 100644
--- a/hieradata/role/common/cache/upload.yaml
+++ b/hieradata/role/common/cache/upload.yaml
@@ -49,3 +49,9 @@
director: 'swift_thumbs'
maps.wikimedia.org:
director: 'kartotherian'
+# Profile parameters
+# Profile::cache::base
+profile::cache::base::zero_site: 'https://zero.wikimedia.org'
+profile::cache::base::purge_host_only_upload_re:
'^(upload|maps)\.wikimedia\.org$'
+profile::cache::base::purge_host_not_upload_re:
'^(?!(upload|maps)\.wikimedia\.org)'
+profile::cache::base::storage_parts: ['sda3', 'sdb3']
diff --git a/modules/role/manifests/cache/base.pp
b/modules/profile/manifests/cache/base.pp
similarity index 85%
rename from modules/role/manifests/cache/base.pp
rename to modules/profile/manifests/cache/base.pp
index d9fe0c9..4329056 100644
--- a/modules/role/manifests/cache/base.pp
+++ b/modules/profile/manifests/cache/base.pp
@@ -1,24 +1,30 @@
-class role::cache::base(
- $zero_site = 'https://zero.wikimedia.org',
- $purge_host_only_upload_re = '^(upload|maps)\.wikimedia\.org$',
- $purge_host_not_upload_re = '^(?!(upload|maps)\.wikimedia\.org)',
- $storage_parts = ['sda3', 'sdb3'],
+# === Class profile::cache::base
+#
+# Sets up some common things for cache instances:
+# - LVS/conftool
+# - monitoring
+# - logging/analytics
+# - storage
+#
+class profile::cache::base(
+ $cache_cluster = hiera('cache::cluster'),
+ $statsd_host = hiera('statsd'),
+ $zero_site = hiera('profile::cache::base::zero_site'),
+ $purge_host_only_upload_re =
hiera('profile::cache::base::purge_host_only_upload_re'),
+ $purge_host_not_upload_re =
hiera('profile::cache::base::purge_host_not_upload_re'),
+ $storage_parts = hiera('profile::cache::base::purge_host_not_upload_re'),
) {
- include ::standard
+ # Needed profiles
require ::profile::conftool::client
+ require ::profile::cache::kafka::webrequest
+ include ::standard
+
+ # Other includes - to fix
include ::nrpe
include lvs::configuration
include network::constants
include conftool::scripts
include ::role::prometheus::varnish_exporter
-
-
- $cache_cluster = hiera('cache::cluster')
- $statsd_host = hiera('statsd')
-
- system::role { "cache::${cache_cluster}":
- description => "${cache_cluster} Varnish cache server",
- }
# Only production needs system perf tweaks
if $::realm == 'production' {
@@ -51,10 +57,6 @@
###########################################################################
# Analytics/Logging stuff
###########################################################################
- # Install a varnishkafka producer to send
- # varnish webrequest logs to Kafka.
- include ::profile::cache::kafka::webrequest
-
class { '::varnish::logging':
cache_cluster => $cache_cluster,
statsd_host => $statsd_host,
diff --git a/modules/role/manifests/cache/misc.pp
b/modules/role/manifests/cache/misc.pp
index 05d3ac1..4f3ec97 100644
--- a/modules/role/manifests/cache/misc.pp
+++ b/modules/role/manifests/cache/misc.pp
@@ -1,5 +1,9 @@
class role::cache::misc {
- include role::cache::base
+ system::role { 'cache::misc':
+ description => 'misc Varnish cache server',
+ }
+
+ include profile::cache::base
include role::cache::ssl::unified
class { 'tlsproxy::prometheus': }
@@ -31,7 +35,7 @@
$common_vcl_config = {
'allowed_methods' =>
'^(GET|DELETE|HEAD|PATCH|POST|PURGE|PUT|OPTIONS)$',
- 'purge_host_regex' => $::role::cache::base::purge_host_not_upload_re,
+ 'purge_host_regex' =>
$::profile::cache::base::purge_host_not_upload_re,
'pass_random' => true,
'req_handling' => hiera('cache::req_handling'),
}
@@ -53,7 +57,7 @@
be_vcl_config => $common_vcl_config,
fe_extra_vcl => ['misc-common', 'zero'],
be_extra_vcl => ['misc-common'],
- be_storage => $::role::cache::base::file_storage_args,
+ be_storage => $::profile::cache::base::file_storage_args,
fe_cache_be_opts => $fe_cache_be_opts,
be_cache_be_opts => $be_cache_be_opts,
cluster_nodes => hiera('cache::misc::nodes'),
diff --git a/modules/role/manifests/cache/text.pp
b/modules/role/manifests/cache/text.pp
index a7cfe92..cbd80a2 100644
--- a/modules/role/manifests/cache/text.pp
+++ b/modules/role/manifests/cache/text.pp
@@ -5,9 +5,14 @@
$top_domain = 'org',
$shortener_domain = 'w.wiki',
) {
+
+ system::role { 'cache::text':
+ description => 'text Varnish cache server',
+ }
+
require geoip
require geoip::dev # for VCL compilation using libGeoIP
- include role::cache::base
+ include profile::cache::base
include role::cache::ssl::unified
include ::standard
@@ -39,7 +44,7 @@
}
$common_vcl_config = {
- 'purge_host_regex' => $::role::cache::base::purge_host_not_upload_re,
+ 'purge_host_regex' =>
$::profile::cache::base::purge_host_not_upload_re,
'static_host' => $static_host,
'top_domain' => $top_domain,
'shortener_domain' => $shortener_domain,
@@ -55,7 +60,7 @@
$common_runtime_params = ['default_ttl=86400']
- $text_storage_args = $::role::cache::base::file_storage_args
+ $text_storage_args = $::profile::cache::base::file_storage_args
class { 'role::cache::instances':
cache_type => 'text',
diff --git a/modules/role/manifests/cache/upload.pp
b/modules/role/manifests/cache/upload.pp
index 1fe9832..13240ac 100644
--- a/modules/role/manifests/cache/upload.pp
+++ b/modules/role/manifests/cache/upload.pp
@@ -3,7 +3,11 @@
$upload_domain = 'upload.wikimedia.org',
$maps_domain = 'maps.wikimedia.org',
) {
- include role::cache::base
+ system::role { 'cache::upload':
+ description => 'upload Varnish cache server',
+ }
+
+ include profile::cache::base
include role::cache::ssl::unified
include ::standard
@@ -36,7 +40,7 @@
}
$common_vcl_config = {
- 'purge_host_regex' => $::role::cache::base::purge_host_only_upload_re,
+ 'purge_host_regex' =>
$::profile::cache::base::purge_host_only_upload_re,
'upload_domain' => $upload_domain,
'maps_domain' => $maps_domain,
'allowed_methods' => '^(GET|HEAD|OPTIONS|PURGE)$',
@@ -59,9 +63,9 @@
})
# See T145661 for storage binning rationale
- $sda = $::role::cache::base::storage_parts[0]
- $sdb = $::role::cache::base::storage_parts[1]
- $ssm = $::role::cache::base::storage_size * 2 * 1024
+ $sda = $::profile::cache::base::storage_parts[0]
+ $sdb = $::profile::cache::base::storage_parts[1]
+ $ssm = $::profile::cache::base::storage_size * 2 * 1024
$bin0_size = floor($ssm * 0.04)
$bin1_size = floor($ssm * 0.23)
$bin2_size = floor($ssm * 0.40)
diff --git a/modules/varnish/manifests/zero_update.pp
b/modules/varnish/manifests/zero_update.pp
index e174434..1b010ef 100644
--- a/modules/varnish/manifests/zero_update.pp
+++ b/modules/varnish/manifests/zero_update.pp
@@ -1,6 +1,6 @@
# Zero-specific update stuff
class varnish::zero_update($site) {
- require '::varnish::netmapper_update_common'
+ class { '::varnish::netmapper_update_common': }
package { 'python-requests':
ensure => installed;
--
To view, visit https://gerrit.wikimedia.org/r/382683
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I28093780badaa38713847028cd5b5569dc81d6ca
Gerrit-PatchSet: 6
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: BBlack <[email protected]>
Gerrit-Reviewer: Ema <[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