Alexandros Kosiaris has uploaded a new change for review.
https://gerrit.wikimedia.org/r/264059
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(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/59/264059/1
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 b74f13d..b91c9b9 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: newchange
Gerrit-Change-Id: I1711bb0708df7f40f8f71c72a31bc922c1655842
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits