author | ymh <ymh.work@gmail.com> |
Wed, 15 Feb 2017 10:51:15 +0100 | |
changeset 509 | fcc59d0ac8aa |
parent 406 | cf0f23803a53 |
permissions | -rwxr-xr-x |
406
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
# == Class: elasticsearch::package::pin |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
# Controls package pinning for the Elasticsearch package. |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
# === Parameters |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
# This class does not provide any parameters. |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
# === Examples |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
# This class may be imported by other classes to use its functionality: |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
# class { 'elasticsearch::package::pin': } |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
# It is not intended to be used directly by external resources like node |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
# definitions or other modules. |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
# === Authors |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
# * Tyler Langlois <mailto:tyler@elastic.co> |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
# |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
class elasticsearch::package::pin { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
|
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
Exec { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
path => [ '/bin', '/usr/bin', '/usr/local/bin' ], |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
cwd => '/', |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
case $::osfamily { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
'Debian': { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
include ::apt |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
|
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
if ($elasticsearch::ensure == 'absent') { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
apt::pin { $elasticsearch::package_name: |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
ensure => $elasticsearch::ensure, |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
} elsif ($elasticsearch::version != false) { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
apt::pin { $elasticsearch::package_name: |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
ensure => $elasticsearch::ensure, |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
packages => $elasticsearch::package_name, |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
version => $elasticsearch::version, |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
priority => 1000, |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
|
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
'RedHat', 'Linux': { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
|
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
if ($elasticsearch::ensure == 'absent') { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
$_versionlock = '/etc/yum/pluginconf.d/versionlock.list' |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
$_lock_line = '0:elasticsearch-' |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
exec { 'elasticsearch_purge_versionlock.list': |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
command => "sed -i '/${_lock_line}/d' ${_versionlock}", |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
onlyif => [ |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
"test -f ${_versionlock}", |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
"grep -F '${_lock_line}' ${_versionlock}", |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
], |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
} elsif ($elasticsearch::version != false) { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
yum::versionlock { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
"0:elasticsearch-${elasticsearch::pkg_version}.noarch": |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
ensure => $elasticsearch::ensure, |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
|
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
default: { |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
warning("Unable to pin package for OSfamily \"${::osfamily}\".") |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
} |
cf0f23803a53
upgrade elasticsearch to 5.0, upgrade ember
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
} |