Giuseppe Lavagetto has uploaded a new change for review. https://gerrit.wikimedia.org/r/316344
Change subject: lvs: add role::lvs::realserver ...................................................................... lvs: add role::lvs::realserver This is a role that can be included by other roles when configuring an LVS-DR realserver is needed. It does the following: - Set up the lvs IPs - Sets up the conftool-related pool/depool scripts for all pools defined via hiera. Change-Id: Id52a016c022fa6cad4eb5be0ea395e0af9ac052a --- A modules/role/manifests/lvs/realserver.pp A modules/role/templates/lvs/realserver_ips.erb 2 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/44/316344/1 diff --git a/modules/role/manifests/lvs/realserver.pp b/modules/role/manifests/lvs/realserver.pp new file mode 100644 index 0000000..642371d --- /dev/null +++ b/modules/role/manifests/lvs/realserver.pp @@ -0,0 +1,25 @@ +# Class role::lvs::realserver. +# Sets up the lvs realserver IPs and the corresponding conftool-based scripts +# +# This should be a profile whenever we start creating those. +# +class role::lvs::realserver { + require ::lvs::configuration + # Pools in the format: $service => { lvs_name => $name} + $lvs_pools = hiera('::role::lvs::realserver::pools', {}) + + # TODO: fix this when we have the future parser + $realserver_ips_str = template('role/lvs/realserver_ips.erb') + $realserver_ips = split($realserver_ips_str, ',') + + class { '::lvs::realserver': + realserver_ips => $realserver_ips, + } + + Conftool::Scripts::Service { + lvs_class_hosts => $::lvs::configuration::lvs_class_hosts, + lvs_services_config => $lvs::configuration::lvs_services, + } + + create_resources('conftool::scripts::service', $lvs_pools) +} diff --git a/modules/role/templates/lvs/realserver_ips.erb b/modules/role/templates/lvs/realserver_ips.erb new file mode 100644 index 0000000..e7832de --- /dev/null +++ b/modules/role/templates/lvs/realserver_ips.erb @@ -0,0 +1,8 @@ +<%- +lvs_ips = scope.lookupvar('::lvs::configuration::lvs_service_ips') +site = scope.lookupvar('::site') +ips = @lvs_pool.map do |svc, pool| + name = pool['lvs_name'] || svc + lvs_ips[name][site] +end +-%><%= ips.join(',') -%> -- To view, visit https://gerrit.wikimedia.org/r/316344 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id52a016c022fa6cad4eb5be0ea395e0af9ac052a Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Giuseppe Lavagetto <glavage...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits