|
11 | 11 | # @author Tyler Langlois <[email protected]> |
12 | 12 | # |
13 | 13 | class elasticsearch::package { |
14 | | - |
15 | 14 | Exec { |
16 | | - path => [ '/bin', '/usr/bin', '/usr/local/bin' ], |
| 15 | + path => ['/bin', '/usr/bin', '/usr/local/bin'], |
17 | 16 | cwd => '/', |
18 | 17 | tries => 3, |
19 | 18 | try_sleep => 10, |
20 | 19 | } |
21 | 20 |
|
22 | 21 | if $elasticsearch::ensure == 'present' { |
23 | | - |
24 | 22 | if $elasticsearch::restart_package_change { |
25 | 23 | Package['elasticsearch'] ~> Class['elasticsearch::service'] |
26 | 24 | } |
|
45 | 43 |
|
46 | 44 | # Check if we want to install a specific version or not |
47 | 45 | if $elasticsearch::version == false { |
48 | | - |
49 | 46 | $package_ensure = $elasticsearch::autoupgrade ? { |
50 | 47 | true => 'latest', |
51 | 48 | false => 'present', |
52 | 49 | } |
53 | | - |
54 | 50 | } else { |
55 | | - |
56 | 51 | # install specific version |
57 | 52 | $package_ensure = $elasticsearch::pkg_version |
58 | | - |
59 | 53 | } |
60 | 54 |
|
61 | 55 | # action |
62 | 56 | if ($elasticsearch::package_url != undef) { |
63 | | - |
64 | 57 | case $elasticsearch::package_provider { |
65 | | - 'package': { $before = Package['elasticsearch'] } |
| 58 | + 'package': { $before = Package['elasticsearch'] } |
66 | 59 | default: { fail("software provider \"${elasticsearch::package_provider}\".") } |
67 | 60 | } |
68 | 61 |
|
|
78 | 71 | $pkg_source = "${package_dir}/${basefilename}" |
79 | 72 |
|
80 | 73 | case $protocol_type { |
81 | | - |
82 | 74 | 'puppet': { |
83 | | - |
84 | 75 | file { $pkg_source: |
85 | 76 | ensure => file, |
86 | 77 | source => $elasticsearch::package_url, |
87 | 78 | require => File[$package_dir], |
88 | 79 | backup => false, |
89 | 80 | before => $before, |
90 | 81 | } |
91 | | - |
92 | 82 | } |
93 | 83 | 'ftp', 'https', 'http': { |
94 | | - |
95 | 84 | if $elasticsearch::proxy_url != undef { |
96 | 85 | $exec_environment = [ |
97 | 86 | 'use_proxy=yes', |
|
123 | 112 | fail("no \$elasticsearch::download_tool defined for ${facts['os']['family']}") |
124 | 113 | } |
125 | 114 | } |
126 | | - |
127 | 115 | } |
128 | 116 | 'file': { |
129 | | - |
130 | 117 | $source_path = $source_array[1] |
131 | 118 | file { $pkg_source: |
132 | 119 | ensure => file, |
|
135 | 122 | backup => false, |
136 | 123 | before => $before, |
137 | 124 | } |
138 | | - |
139 | 125 | } |
140 | 126 | default: { |
141 | 127 | fail("Protocol must be puppet, file, http, https, or ftp. You have given \"${protocol_type}\"") |
142 | 128 | } |
143 | 129 | } |
144 | 130 |
|
145 | 131 | if ($elasticsearch::package_provider == 'package') { |
146 | | - |
147 | 132 | case $ext { |
148 | 133 | 'deb': { Package { provider => 'dpkg', source => $pkg_source } } |
149 | 134 | 'rpm': { Package { provider => 'rpm', source => $pkg_source } } |
150 | 135 | default: { fail("Unknown file extention \"${ext}\".") } |
151 | 136 | } |
152 | | - |
153 | 137 | } |
154 | | - |
155 | 138 | } else { |
156 | 139 | if ($elasticsearch::manage_repo and $facts['os']['family'] == 'Debian') { |
157 | 140 | Class['apt::update'] -> Package['elasticsearch'] |
158 | 141 | } |
159 | 142 | } |
160 | | - |
161 | | - # Package removal |
162 | 143 | } else { |
163 | | - |
| 144 | + # Package removal |
164 | 145 | if ($facts['os']['family'] == 'Suse') { |
165 | 146 | Package { |
166 | 147 | provider => 'rpm', |
|
169 | 150 | } else { |
170 | 151 | $package_ensure = 'purged' |
171 | 152 | } |
172 | | - |
173 | 153 | } |
174 | 154 |
|
175 | 155 | if ($elasticsearch::package_provider == 'package') { |
176 | | - |
177 | 156 | package { 'elasticsearch': |
178 | 157 | ensure => $package_ensure, |
179 | 158 | name => $elasticsearch::_package_name, |
|
183 | 162 | refreshonly => true, |
184 | 163 | command => "rm -rf ${elasticsearch::real_plugindir}", |
185 | 164 | } |
186 | | - |
187 | | - |
188 | 165 | } else { |
189 | 166 | fail("\"${elasticsearch::package_provider}\" is not supported") |
190 | 167 | } |
191 | | - |
192 | 168 | } |
0 commit comments