From 1cf9e4e82f243fb7ca66ea060d3ee269963979d6 Mon Sep 17 00:00:00 2001 From: Davide Ferrari Date: Mon, 4 Jan 2016 16:02:57 +0100 Subject: [PATCH] Move archive/package source vars to params.pp and use template variables to resolve a customized value of Grafana version This is ugly (inline_templates are ugly) but it is needed to fix the broken grafana::version customization. --- manifests/init.pp | 8 ++------ manifests/install.pp | 8 ++++++-- manifests/params.pp | 7 +++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index e8c7f751d..1fdd1afd3 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -63,7 +63,7 @@ # } # class grafana ( - $archive_source = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}.linux-x64.tar.gz", + $archive_source = $::grafana::params::archive_source, $cfg_location = $::grafana::params::cfg_location, $cfg = $::grafana::params::cfg, $ldap_cfg = $::grafana::params::ldap_cfg, @@ -74,11 +74,7 @@ $install_method = $::grafana::params::install_method, $manage_package_repo = $::grafana::params::manage_package_repo, $package_name = $::grafana::params::package_name, - $package_source = $::osfamily ? { - /(RedHat|Amazon)/ => "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}-${rpm_iteration}.x86_64.rpm", - 'Debian' => "https://grafanarel.s3.amazonaws.com/builds/grafana_${version}_amd64.deb", - default => $archive_source, - }, + $package_source = $::grafana::params::package_source, $rpm_iteration = $::grafana::params::rpm_iteration, $service_name = $::grafana::params::service_name, $version = $::grafana::params::version, diff --git a/manifests/install.pp b/manifests/install.pp index c32a67eae..c65de3238 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -1,6 +1,10 @@ # == Class grafana::install # class grafana::install { + + $real_package_source = inline_template($::grafana::package_source) + $real_archive_source = inline_template($::grafana::archive_source) + case $::grafana::install_method { 'docker': { docker::image { 'grafana/grafana': @@ -16,7 +20,7 @@ } wget::fetch { 'grafana': - source => $::grafana::package_source, + source => $real_package_source, destination => '/tmp/grafana.deb' } @@ -108,7 +112,7 @@ root_dir => 'public', strip_components => 1, target => $::grafana::install_dir, - url => $::grafana::archive_source + url => $real_archive_source } if !defined(User['grafana']){ diff --git a/manifests/params.pp b/manifests/params.pp index 41e61e8b8..66284f9f9 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -19,4 +19,11 @@ $rpm_iteration = '1' $service_name = 'grafana-server' $version = '2.5.0' + $archive_source = "https://grafanarel.s3.amazonaws.com/builds/grafana-<%= scope.lookupvar('::grafana::version') %>.linux-x64.tar.gz" + $package_source = $::osfamily ? { + /(RedHat|Amazon)/ => "https://grafanarel.s3.amazonaws.com/builds/grafana-<%= scope.lookupvar('::grafana::version') %>-<%= scope.lookupvar('::grafana::rpm_iteration') %>.x86_64.rpm", + 'Debian' => "https://grafanarel.s3.amazonaws.com/builds/grafana_<%= scope.lookupvar('::grafana::version') %>_amd64.deb", + default => $archive_source, + } + }