Thcipriani has uploaded a new change for review.
https://gerrit.wikimedia.org/r/194413
Change subject: Add classes via hiera for labs
......................................................................
Add classes via hiera for labs
Parameterize role::puppet::self and role::salt::minions. Allow for
project-wide puppetmaster and salt master.
Bug: T90592
Change-Id: I9d3160362f3c7ed73091f8c6ad0d5af632cdeeb8
---
M manifests/role/labs.pp
M manifests/role/puppet.pp
M manifests/role/salt.pp
3 files changed, 14 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/13/194413/1
diff --git a/manifests/role/labs.pp b/manifests/role/labs.pp
index 6116b5b..5db3bed 100644
--- a/manifests/role/labs.pp
+++ b/manifests/role/labs.pp
@@ -158,6 +158,8 @@
# icinga, so collect puppet freshness metrics via diamond/graphite
diamond::collector::minimalpuppetagent { 'minimal-puppet-agent': }
+ hiera_include('classes', [])
+
# The next two notifications are read in by the labsstatus.rb puppet
report handler.
# It needs to know project/hostname for nova access.
notify{"instanceproject: ${::instanceproject}":}
diff --git a/manifests/role/puppet.pp b/manifests/role/puppet.pp
index 5ce7048..6f3906e 100644
--- a/manifests/role/puppet.pp
+++ b/manifests/role/puppet.pp
@@ -49,18 +49,20 @@
# This allows puppet classes to be configured via LDAP
# and wikitech instance configuration.
#
-class role::puppet::self {
+class role::puppet::self(
+ $master = $::puppetmaster,
+) {
# If $::puppetmaster is not set, assume
# this is a self hosted puppetmaster, not allowed
# to serve any other puppet clients.
- $server = $::puppetmaster ? {
+ $server = $master ? {
undef => 'localhost',
'localhost' => 'localhost',
'' => 'localhost',
# if has . characters in in, assume fqdn.
- /\./ => $::puppetmaster,
+ /\./ => $master,
# else assume short hostname and append domain.
- default => "${::puppetmaster}.${::domain}",
+ default => "${master}.${::domain}",
}
# If localhost or if $server matches this node's
diff --git a/manifests/role/salt.pp b/manifests/role/salt.pp
index 4b06c90..7d2e5d6 100644
--- a/manifests/role/salt.pp
+++ b/manifests/role/salt.pp
@@ -73,12 +73,15 @@
}
-class role::salt::minions {
+class role::salt::minions(
+ $salt_master = $::salt_master_override,
+ $salt_finger = $::salt_master_finger_override,
+) {
if $::realm == 'labs' {
$labs_masters = [ 'virt1000.wikimedia.org',
'labcontrol2001.wikimedia.org' ]
$labs_finger = 'c5:b1:35:45:3e:0a:19:70:aa:5f:3a:cf:bf:a0:61:dd'
- $master = pick($::salt_master_override, $labs_masters)
- $master_finger = pick($::salt_master_finger_override, $labs_finger)
+ $master = pick($salt_master, $labs_masters)
+ $master_finger = pick($salt_finger, $labs_finger)
$client_id = "${::ec2id}.${::domain}"
salt::grain { 'instanceproject':
--
To view, visit https://gerrit.wikimedia.org/r/194413
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9d3160362f3c7ed73091f8c6ad0d5af632cdeeb8
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Thcipriani <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits