Alexandros Kosiaris has submitted this change and it was merged.

Change subject: Make role::url_downloader unparameterized
......................................................................


Make role::url_downloader unparameterized

Have url_downloader_ip set via hiera and not via a parameter. Amend
chromium to comply to the new pattern. We default to $::ipaddress if
url_downloader_ip is not set in hiera in order to support using single
purpose VMs for this role, while still maintaining backwards
compatibility

Change-Id: I1711bb0708df7f40f8f71c72a31bc922c1655842
TODO: Test labs before merging, this is used in deployment-prep as well
---
M manifests/role/url_downloader.pp
M manifests/site.pp
2 files changed, 10 insertions(+), 11 deletions(-)

Approvals:
  Alexandros Kosiaris: Verified; Looks good to me, approved



diff --git a/manifests/role/url_downloader.pp b/manifests/role/url_downloader.pp
index e620fe7..9518a08 100644
--- a/manifests/role/url_downloader.pp
+++ b/manifests/role/url_downloader.pp
@@ -1,7 +1,8 @@
 # Class: role::url_downloader
 #
 # A role class for assigning the url_downloader role to a host. The host needs
-# to have the $url_downloader_ip variable set at node level (or via hiera)
+# to have the $url_downloader_ip variable set at hiera otherwise it defaults to
+# $::ipaddress
 #
 # Parameters:
 #
@@ -18,14 +19,15 @@
 #
 # Sample Usage:
 #       node /test.wikimedia.org/ {
-#           $url_downlader_ip = '10.10.10.10' # A public IP really
-#           include role::url_downloader
+#           role url_downloader
 #       }
-class role::url_downloader($url_downloader_ip) {
+class role::url_downloader {
     system::role { 'url_downloader':
         description => 'Upload-by-URL proxy'
     }
     include network::constants
+
+    $url_downloader_ip = hiera('url_downloader_ip', $::ipaddress)
 
     if $::realm == 'production' {
         $wikimedia = [
@@ -64,7 +66,8 @@
     }
     $towikimedia = $wikimedia
 
-    if os_version('ubuntu >= trusty') {
+    # TODO: Evaluate if jessie's squid is fine with those rules
+    if os_version('ubuntu >= trusty') or os_version('debian >= jessie') {
         $config_content = template('url_downloader/squid.conf.erb')
     } else {
         $config_content = template('url_downloader/precise_acls_conf.erb', 
'url_downloader/squid.conf.erb')
diff --git a/manifests/site.pp b/manifests/site.pp
index 545791a..d121003 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -286,19 +286,15 @@
 }
 
 node /^(chromium|hydrogen)\.wikimedia\.org$/ {
-    role dnsrecursor
-    include standard
-
     if $::hostname == 'chromium' {
         $url_downloader_ip = hiera('url_downloader_ip')
         interface::ip { 'url-downloader':
             interface => 'eth0',
             address   => $url_downloader_ip,
         }
-        class { 'role::url_downloader':
-            url_downloader_ip => $url_downloader_ip
-        }
     }
+    role dnsrecursor, url_downloader
+    include standard
 
     interface::add_ip6_mapped { 'main':
         interface => 'eth0',

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I1711bb0708df7f40f8f71c72a31bc922c1655842
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to