equal
deleted
inserted
replaced
|
1 # |
|
2 class mysql::server::mysqltuner( |
|
3 $ensure = 'present', |
|
4 $version = 'v1.3.0', |
|
5 $source = undef, |
|
6 ) { |
|
7 |
|
8 if $source { |
|
9 $_version = $source |
|
10 $_source = $source |
|
11 } else { |
|
12 $_version = $version |
|
13 $_source = "https://github.com/major/MySQLTuner-perl/raw/${version}/mysqltuner.pl" |
|
14 } |
|
15 |
|
16 if $ensure == 'present' { |
|
17 # $::puppetversion doesn't exist in puppet 4.x so would break strict |
|
18 # variables |
|
19 if ! $::settings::strict_variables { |
|
20 $_puppetversion = $::puppetversion |
|
21 } else { |
|
22 # defined only works with puppet >= 3.5.0, so don't use it unless we're |
|
23 # actually using strict variables |
|
24 $_puppetversion = defined('$puppetversion') ? { |
|
25 true => $::puppetversion, |
|
26 default => undef, |
|
27 } |
|
28 } |
|
29 # see https://tickets.puppetlabs.com/browse/ENTERPRISE-258 |
|
30 if $_puppetversion and $_puppetversion =~ /Puppet Enterprise/ and versioncmp($_puppetversion, '3.8.0') < 0 { |
|
31 class { 'staging': |
|
32 path => '/opt/mysql_staging', |
|
33 } |
|
34 } else { |
|
35 class { 'staging': } |
|
36 } |
|
37 |
|
38 staging::file { "mysqltuner-${_version}": |
|
39 source => $_source, |
|
40 } |
|
41 file { '/usr/local/bin/mysqltuner': |
|
42 ensure => $ensure, |
|
43 mode => '0550', |
|
44 source => "${::staging::path}/mysql/mysqltuner-${_version}", |
|
45 require => Staging::File["mysqltuner-${_version}"], |
|
46 } |
|
47 } else { |
|
48 file { '/usr/local/bin/mysqltuner': |
|
49 ensure => $ensure, |
|
50 } |
|
51 } |
|
52 } |