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

Reply via email to