beaker 2.24.0 → 2.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CONTRIBUTING.md +2 -7
- data/HISTORY.md +238 -2
- data/acceptance/tests/base/dsl/structure_test.rb +16 -0
- data/beaker.gemspec +4 -0
- data/lib/beaker/dsl/helpers.rb +3 -2
- data/lib/beaker/dsl/install_utils/foss_utils.rb +55 -6
- data/lib/beaker/dsl/structure.rb +28 -7
- data/lib/beaker/host.rb +2 -0
- data/lib/beaker/host_prebuilt_steps.rb +21 -9
- data/lib/beaker/hypervisor/aws_sdk.rb +86 -10
- data/lib/beaker/logger.rb +49 -1
- data/lib/beaker/options/presets.rb +1 -0
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +49 -28
- data/spec/beaker/dsl/structure_spec.rb +44 -7
- data/spec/beaker/host_prebuilt_steps_spec.rb +7 -1
- data/spec/beaker/host_spec.rb +2 -0
- data/spec/beaker/hypervisor/aws_sdk_spec.rb +149 -9
- data/spec/beaker/logger_spec.rb +70 -0
- metadata +30 -4
- data/lib/beaker/dsl/helpers/hiera_helpers.rb +0 -60
- data/spec/beaker/dsl/helpers/hiera_helpers_spec.rb +0 -96
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjM3NjhmMGI2NTg3NDQ3ODViNWRjM2Q3ZTg2MTg0ODQ0NGYzMmIzZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDhmOTFkMTVmOTYxN2VlYTEyMzcwZTZlNDYwNTIxM2E1MTk5MTRlNQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODM4ODhjYzZiYWI3YmUyYWUwOTk0ZWYwYTI2OTQ5MWIyZjRlMzIyNzk1MDAw
|
10
|
+
ZDA2OTgzZmZjODRlYjM2ZDFkMmVlODc5MzZjOTVlZjNiZmFjZWQ5Y2I5OWU4
|
11
|
+
MTRiMWExYWIwYWRiYmJhOTQ2ZjIwMDk2YjA3N2Q4NzJjOWIyYjU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZWMwN2MxNDIxNDY0YWRkZjYwNzhmMTBmMDdmOWY4NDliNGI4ZmUwYWNkZjUz
|
14
|
+
YTJlMDgyZjQxZWNhYjJlMzk3OTc0ODc2ZjNiYjhmYjg2ZTQ1YzkzZDhjMDZm
|
15
|
+
YTdiMjQ0M2VkOTZkM2E1MWUyZTYxOTM2NTI0MWEyNmE4MmNiYWU=
|
data/CONTRIBUTING.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
## Getting Started
|
4
4
|
|
5
|
-
*
|
5
|
+
* Create a [Jira account](http://tickets.puppetlabs.com)
|
6
6
|
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
7
7
|
* Submit a ticket for your issue, assuming one does not already exist.
|
8
8
|
* Clearly describe the issue including steps to reproduce when it is a bug.
|
@@ -46,13 +46,8 @@
|
|
46
46
|
|
47
47
|
### Maintenance
|
48
48
|
|
49
|
-
|
49
|
+
**We are no longer accepting PRs marked as `(MAINT)` - all PRs must be associated with a Beaker Jira ticket number for book keeping purposes.**
|
50
50
|
|
51
|
-
````
|
52
|
-
(MAINT) Fix whitespace
|
53
|
-
|
54
|
-
- remove additional spaces that appear at EOL
|
55
|
-
````
|
56
51
|
### Version Bump For Gem Release
|
57
52
|
|
58
53
|
To prepare for a new gem release of Beaker the `version.rb` file is updated with the upcoming gem version number. This is submitted with `(GEM)` instead of a ticket/issue number.
|
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# default - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 1 Oct, 2015 (e21f5581)](#LATEST)
|
4
|
+
* [2.24.0 - 15 Sep, 2015 (c12e9054)](#2.24.0)
|
4
5
|
* [2.23.0 - 9 Sep, 2015 (2532324a)](#2.23.0)
|
5
6
|
* [2.22.0 - 1 Sep, 2015 (96ec20a7)](#2.22.0)
|
6
7
|
* [2.21.0 - 26 Aug, 2015 (40281eb2)](#2.21.0)
|
@@ -96,7 +97,242 @@
|
|
96
97
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
97
98
|
|
98
99
|
## Details
|
99
|
-
### <a name = "LATEST">LATEST -
|
100
|
+
### <a name = "LATEST">LATEST - 1 Oct, 2015 (e21f5581)
|
101
|
+
|
102
|
+
* (GEM) update beaker version to 2.25.0 (e21f5581)
|
103
|
+
|
104
|
+
* Merge pull request #974 from anodelman/maint (65664e45)
|
105
|
+
|
106
|
+
|
107
|
+
```
|
108
|
+
Merge pull request #974 from anodelman/maint
|
109
|
+
|
110
|
+
(BKR-568) no longer accept PRs marked as "(MAINT)"
|
111
|
+
```
|
112
|
+
* Merge pull request #964 from kevpl/bkr522_ec2_nocachedkeys (3ec3e14d)
|
113
|
+
|
114
|
+
|
115
|
+
```
|
116
|
+
Merge pull request #964 from kevpl/bkr522_ec2_nocachedkeys
|
117
|
+
|
118
|
+
(BKR-522) now creates new ec2 keys per run
|
119
|
+
```
|
120
|
+
* (BKR-568) no longer accept PRs marked as "(MAINT)" (47d9d1ba)
|
121
|
+
|
122
|
+
|
123
|
+
```
|
124
|
+
(BKR-568) no longer accept PRs marked as "(MAINT)"
|
125
|
+
|
126
|
+
- update CONTRIBUTING.md to indicate change in policy
|
127
|
+
```
|
128
|
+
* Merge pull request #973 from anodelman/ruby-test (9b52fe4e)
|
129
|
+
|
130
|
+
|
131
|
+
```
|
132
|
+
Merge pull request #973 from anodelman/ruby-test
|
133
|
+
|
134
|
+
(BKR-564) beaker no longer works on ruby 1.9.3
|
135
|
+
```
|
136
|
+
* (BKR-564) beaker no longer works on ruby 1.9.3 (4f94d048)
|
137
|
+
|
138
|
+
|
139
|
+
```
|
140
|
+
(BKR-564) beaker no longer works on ruby 1.9.3
|
141
|
+
|
142
|
+
- pin fog-google to 0.0.9, 0.1 release removed ruby 1.9 support
|
143
|
+
```
|
144
|
+
* Merge pull request #970 from johnduarte/bkr-545-frozen-string (deb4377f)
|
145
|
+
|
146
|
+
|
147
|
+
```
|
148
|
+
Merge pull request #970 from johnduarte/bkr-545-frozen-string
|
149
|
+
|
150
|
+
(BKR-545) Dup solaris puppet_agent_version
|
151
|
+
```
|
152
|
+
* (BKR-545) Dup solaris puppet_agent_version (f1d2068b)
|
153
|
+
|
154
|
+
|
155
|
+
```
|
156
|
+
(BKR-545) Dup solaris puppet_agent_version
|
157
|
+
|
158
|
+
This commit dups the `opts[:puppet_agent_version]` in the foss_utils to
|
159
|
+
prevent a `RuntimeError: can't modify frozen String` error
|
160
|
+
```
|
161
|
+
* Merge pull request #963 from johnduarte/p5p-for-sol11 (b9e6a23e)
|
162
|
+
|
163
|
+
|
164
|
+
```
|
165
|
+
Merge pull request #963 from johnduarte/p5p-for-sol11
|
166
|
+
|
167
|
+
(BKR-545) Use p5p for Solaris 11 puppet-agent pkgs
|
168
|
+
```
|
169
|
+
* Merge pull request #969 from johnduarte/aix-repo-install (a7280515)
|
170
|
+
|
171
|
+
|
172
|
+
```
|
173
|
+
Merge pull request #969 from johnduarte/aix-repo-install
|
174
|
+
|
175
|
+
(BKR-554) Install AIX packages via install repo
|
176
|
+
```
|
177
|
+
* (BKR-554) Install AIX packages via install repo (973ff502)
|
178
|
+
|
179
|
+
|
180
|
+
```
|
181
|
+
(BKR-554) Install AIX packages via install repo
|
182
|
+
|
183
|
+
This commit adds support for installing AIX 'packages' via the
|
184
|
+
install repo logic. AIX does not support repository management
|
185
|
+
and can only install 'RPM' files directly. Since this logic
|
186
|
+
is contained in the install repo logic in Beaker, we can use
|
187
|
+
this to install a package that has been mirrored to the standard
|
188
|
+
repo location.
|
189
|
+
|
190
|
+
This assumes that the package is mirrored to the repo location.
|
191
|
+
In other words, that the following files are the same.
|
192
|
+
* http://builds.delivery.puppetlabs.net/puppet-agent/1214e51d63b84a82df0c55cab99abc2a3f90a597/artifacts/aix/7.1/PC1/ppc/puppet-agent-1.2.5.49.g1214e51-1.aix7.1.ppc.rpm
|
193
|
+
* http://builds.delivery.puppetlabs.net/puppet-agent/1214e51d63b84a82df0c55cab99abc2a3f90a597/repos/aix/7.1/PC1/ppc/puppet-agent-1.2.5.49.g1214e51-1.aix7.1.ppc.rpm
|
194
|
+
|
195
|
+
It also assumes that the desired package is not defined for AIX
|
196
|
+
in the acceptance pre-suite for the project.
|
197
|
+
```
|
198
|
+
* Merge pull request #967 from bkero/master (7852e6b3)
|
199
|
+
|
200
|
+
|
201
|
+
```
|
202
|
+
Merge pull request #967 from bkero/master
|
203
|
+
|
204
|
+
(BKR-327) Add support for EL7 to epel_info_for and add_el_extras method
|
205
|
+
```
|
206
|
+
* fix spec tests to match ArgumentError for epel_info_for (d78a8de4)
|
207
|
+
|
208
|
+
* Raise ArgumentErrors instead of generic errors (839b75e4)
|
209
|
+
|
210
|
+
* (BKR-327) add epel7 support to get_el_info and el_install (0e5a0257)
|
211
|
+
|
212
|
+
|
213
|
+
```
|
214
|
+
(BKR-327) add epel7 support to get_el_info and el_install
|
215
|
+
|
216
|
+
Base work courtesy of Andrew Stangl <andrewstangl@gmail.com>
|
217
|
+
```
|
218
|
+
* (BKR-327) add epel_7_pkg preset (0e9485d3)
|
219
|
+
|
220
|
+
* (BKR-327) add tests for retrieving epel el7 url (41730085)
|
221
|
+
|
222
|
+
* Merge pull request #960 from kevpl/bkr351_indent_add (7e91e61e)
|
223
|
+
|
224
|
+
|
225
|
+
```
|
226
|
+
Merge pull request #960 from kevpl/bkr351_indent_add
|
227
|
+
|
228
|
+
(BKR-351) added indentation based on test/step nesting level
|
229
|
+
```
|
230
|
+
* Merge pull request #959 from anodelman/subset-hosts (1810fae0)
|
231
|
+
|
232
|
+
|
233
|
+
```
|
234
|
+
Merge pull request #959 from anodelman/subset-hosts
|
235
|
+
|
236
|
+
(BKR-535) Regression: confine_block does not skip tests...
|
237
|
+
```
|
238
|
+
* Merge pull request #957 from anodelman/confine (8de4ee64)
|
239
|
+
|
240
|
+
|
241
|
+
```
|
242
|
+
Merge pull request #957 from anodelman/confine
|
243
|
+
|
244
|
+
(BKR-533) Beaker's `confine` overwrites the array of all hosts
|
245
|
+
```
|
246
|
+
* (BKR-522) now creates new ec2 keys per run (07bb7405)
|
247
|
+
|
248
|
+
|
249
|
+
```
|
250
|
+
(BKR-522) now creates new ec2 keys per run
|
251
|
+
|
252
|
+
Before, ec2 keys would only be created if this was the first run for
|
253
|
+
a particular user/coordinator. This is a problem for F5 testing, in
|
254
|
+
which F5 hosts needed to be created with a particular key. We were
|
255
|
+
using cached keys, which weren't the ones being used in ec2.
|
256
|
+
|
257
|
+
The original solution was to delete the keys in ec2, so that they'd
|
258
|
+
be recreated as if this was the first run by a user. @justinstoller
|
259
|
+
brought up the good point that if this were to happen, certain
|
260
|
+
Beaker runs would have their keys deleted from a new F5 run. The
|
261
|
+
solution became that each Beaker run would generate its own key,
|
262
|
+
deleting it on cleanup.
|
263
|
+
```
|
264
|
+
* (BKR-545) Use p5p for Solaris 11 puppet-agent pkgs (831b0bb5)
|
265
|
+
|
266
|
+
|
267
|
+
```
|
268
|
+
(BKR-545) Use p5p for Solaris 11 puppet-agent pkgs
|
269
|
+
|
270
|
+
This commit updates install_utils/foss_utils to use `p5p` as
|
271
|
+
the expected package suffix for puppet-agent when the platform
|
272
|
+
is Solaris 11. Solaris 10 will continue to use `pkg.gz` as its
|
273
|
+
expected suffix.
|
274
|
+
|
275
|
+
The `p5p` package naming format is much more stringent. See
|
276
|
+
http://www.oracle.com/technetwork/articles/servers-storage-admin/ips-package-versioning-2232906.html
|
277
|
+
for details.
|
278
|
+
```
|
279
|
+
* Merge pull request #955 from kevpl/bkr532_beakerhiera_merge (b181c059)
|
280
|
+
|
281
|
+
|
282
|
+
```
|
283
|
+
Merge pull request #955 from kevpl/bkr532_beakerhiera_merge
|
284
|
+
|
285
|
+
(BKR-532) added beaker-hiera library usage
|
286
|
+
```
|
287
|
+
* (BKR-535) Regression: confine_block does not skip tests... (72955d58)
|
288
|
+
|
289
|
+
|
290
|
+
```
|
291
|
+
(BKR-535) Regression: confine_block does not skip tests...
|
292
|
+
|
293
|
+
...with beaker 2.24.0
|
294
|
+
|
295
|
+
- allow users to include skip_test in block parameter for confine_block
|
296
|
+
- added acceptance test to ensure correct behavior
|
297
|
+
```
|
298
|
+
* (BKR-533) Beaker's `confine` overwrites the array of all hosts (be1cc5dc)
|
299
|
+
|
300
|
+
|
301
|
+
```
|
302
|
+
(BKR-533) Beaker's `confine` overwrites the array of all hosts
|
303
|
+
|
304
|
+
- make it possible to confine to a subset of hosts + all hosts not in
|
305
|
+
the subset.
|
306
|
+
|
307
|
+
To confine to only windows agents + any non-agent hosts
|
308
|
+
|
309
|
+
confine :to, { :platform => 'windows' }, agents
|
310
|
+
|
311
|
+
To confine to non-windows agents + any non-agent hosts
|
312
|
+
|
313
|
+
confine :except, { :platform => 'windows' }, agent
|
314
|
+
|
315
|
+
- Useful for cases where you want to use your master, but only operate
|
316
|
+
on a subset of agents
|
317
|
+
```
|
318
|
+
* (BKR-351) added indentation based on test/step nesting level (cec66d21)
|
319
|
+
|
320
|
+
|
321
|
+
```
|
322
|
+
(BKR-351) added indentation based on test/step nesting level
|
323
|
+
|
324
|
+
This will only affect tests where `test_name` or `step` has
|
325
|
+
been passed a block to execute.
|
326
|
+
|
327
|
+
The only exception to that statement is `host.exec`'s
|
328
|
+
logic, as it's more presentable to nest command output one
|
329
|
+
level under the command itself.
|
330
|
+
```
|
331
|
+
* (BKR-532) added beaker-hiera library usage (127aa3de)
|
332
|
+
|
333
|
+
### <a name = "2.24.0">2.24.0 - 15 Sep, 2015 (c12e9054)
|
334
|
+
|
335
|
+
* (HISTORY) update beaker history for gem release 2.24.0 (c12e9054)
|
100
336
|
|
101
337
|
* (GEM) update beaker version to 2.24.0 (96d9104d)
|
102
338
|
|
@@ -60,4 +60,20 @@ test_name "dsl::structure" do
|
|
60
60
|
fail "#confine_block raised unexpected SkipTest exception: #{e}"
|
61
61
|
end
|
62
62
|
end
|
63
|
+
|
64
|
+
step "#confine_block allows blocks to raise skip_test" do
|
65
|
+
previous_hosts = hosts.dup
|
66
|
+
|
67
|
+
begin
|
68
|
+
@in_confine = 0
|
69
|
+
confine_block :to, :platform => default["platform"] do
|
70
|
+
@in_confine +=1
|
71
|
+
skip_test "this block raises a skip"
|
72
|
+
end
|
73
|
+
rescue Beaker::DSL::Outcomes::SkipTest => e
|
74
|
+
assert_match /this block raises a skip/, e.message, "#confine_block raised an unexpected skip_test"
|
75
|
+
assert_equal 1, @in_confine, "#confine_block did not execute supplied block"
|
76
|
+
assert_equal hosts.dup, hosts, "#confine_block did not preserve the hosts array"
|
77
|
+
end
|
78
|
+
end
|
63
79
|
end
|
data/beaker.gemspec
CHANGED
@@ -39,8 +39,11 @@ Gem::Specification.new do |s|
|
|
39
39
|
s.add_runtime_dependency 'inifile', '~> 2.0'
|
40
40
|
s.add_runtime_dependency 'rsync', '~> 1.0.9'
|
41
41
|
s.add_runtime_dependency 'open_uri_redirections', '~> 0.2.1'
|
42
|
+
|
43
|
+
# Run time dependencies that are Beaker libraries
|
42
44
|
s.add_runtime_dependency 'beaker-answers', '~> 0.0'
|
43
45
|
s.add_runtime_dependency 'stringify-hash', '~> 0.0'
|
46
|
+
s.add_runtime_dependency 'beaker-hiera', '~> 0.0'
|
44
47
|
|
45
48
|
# Optional provisioner specific support
|
46
49
|
s.add_runtime_dependency 'rbvmomi', '~> 1.8'
|
@@ -48,6 +51,7 @@ Gem::Specification.new do |s|
|
|
48
51
|
s.add_runtime_dependency 'google-api-client', '~> 0.8'
|
49
52
|
s.add_runtime_dependency 'aws-sdk', '~> 1.57'
|
50
53
|
s.add_runtime_dependency 'docker-api'
|
54
|
+
s.add_runtime_dependency 'fog-google', '~> 0.0.9' # dropped ruby 1.9 support in 0.1
|
51
55
|
s.add_runtime_dependency 'fog', '~> 1.25'
|
52
56
|
|
53
57
|
# So fog doesn't always complain of unmet AWS dependencies
|
data/lib/beaker/dsl/helpers.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
[ 'facter', '
|
2
|
+
[ 'facter', 'host', 'puppet', 'test', 'tk', 'web' ].each do |lib|
|
3
3
|
require "beaker/dsl/helpers/#{lib}_helpers"
|
4
4
|
end
|
5
5
|
|
6
|
+
require "beaker-hiera"
|
6
7
|
module Beaker
|
7
8
|
module DSL
|
8
9
|
|
@@ -23,12 +24,12 @@ module Beaker
|
|
23
24
|
#
|
24
25
|
module Helpers
|
25
26
|
include Beaker::DSL::Helpers::FacterHelpers
|
26
|
-
include Beaker::DSL::Helpers::HieraHelpers
|
27
27
|
include Beaker::DSL::Helpers::HostHelpers
|
28
28
|
include Beaker::DSL::Helpers::PuppetHelpers
|
29
29
|
include Beaker::DSL::Helpers::TestHelpers
|
30
30
|
include Beaker::DSL::Helpers::TKHelpers
|
31
31
|
include Beaker::DSL::Helpers::WebHelpers
|
32
|
+
include Beaker::DSL::Helpers::Hiera
|
32
33
|
end
|
33
34
|
end
|
34
35
|
end
|
@@ -1111,6 +1111,10 @@ module Beaker
|
|
1111
1111
|
variant = ((variant == 'centos') ? 'el' : variant)
|
1112
1112
|
release_path << "#{variant}/#{version}/#{opts[:puppet_collection]}/#{arch}"
|
1113
1113
|
release_file = "puppet-agent-#{opts[:puppet_agent_version]}-1.#{variant}#{version}.#{arch}.rpm"
|
1114
|
+
when /^(aix)$/
|
1115
|
+
if arch == 'power' then arch = 'ppc' end
|
1116
|
+
release_path << "#{variant}/#{version}/#{opts[:puppet_collection]}/#{arch}"
|
1117
|
+
release_file = "puppet-agent-#{opts[:puppet_agent_version]}-1.#{variant}#{version}.#{arch}.rpm"
|
1114
1118
|
when /^(debian|ubuntu|cumulus)$/
|
1115
1119
|
if arch == 'x86_64'
|
1116
1120
|
arch = 'amd64'
|
@@ -1153,14 +1157,36 @@ module Beaker
|
|
1153
1157
|
if arch == 'x86_64'
|
1154
1158
|
arch = 'i386'
|
1155
1159
|
end
|
1160
|
+
release_path << "solaris/#{version}/#{opts[:puppet_collection]}"
|
1161
|
+
solaris_revision_conjunction = '-'
|
1162
|
+
revision = '1'
|
1156
1163
|
if version == '10'
|
1157
1164
|
# Solaris 10 uses / as the root user directory. Solaris 11 uses /root.
|
1158
1165
|
onhost_copy_base = '/'
|
1166
|
+
solaris_release_version = ''
|
1167
|
+
pkg_suffix = 'pkg.gz'
|
1168
|
+
solaris_name_conjunction = '-'
|
1169
|
+
component_version = opts[:puppet_agent_version]
|
1170
|
+
elsif version == '11'
|
1171
|
+
# Ref:
|
1172
|
+
# http://www.oracle.com/technetwork/articles/servers-storage-admin/ips-package-versioning-2232906.html
|
1173
|
+
#
|
1174
|
+
# Example to show package name components:
|
1175
|
+
# Full package name: puppet-agent@1.2.5.38.6813,5.11-1.sparc.p5p
|
1176
|
+
# Schema: <component-name><solaris_name_conjunction><component_version><solaris_release_version><solaris_revision_conjunction><revision>.<arch>.<pkg_suffix>
|
1177
|
+
solaris_release_version = ',5.11' # injecting comma to prevent from adding another var
|
1178
|
+
pkg_suffix = 'p5p'
|
1179
|
+
solaris_name_conjunction = '@'
|
1180
|
+
component_version = opts[:puppet_agent_version].dup
|
1181
|
+
component_version.gsub!(/[a-zA-Z]/, '')
|
1182
|
+
component_version.gsub!(/(^-)|(-$)/, '')
|
1183
|
+
# Here we strip leading 0 from version components but leave
|
1184
|
+
# singular 0 on their own.
|
1185
|
+
component_version = component_version.split('.').map(&:to_i).join('.')
|
1159
1186
|
end
|
1160
|
-
|
1161
|
-
release_file = "puppet-agent-#{opts[:puppet_agent_version]}-1.#{arch}.pkg.gz"
|
1187
|
+
release_file = "puppet-agent#{solaris_name_conjunction}#{component_version}#{solaris_release_version}#{solaris_revision_conjunction}#{revision}.#{arch}.#{pkg_suffix}"
|
1162
1188
|
if not link_exists?("#{release_path}/#{release_file}")
|
1163
|
-
release_file = "puppet-agent
|
1189
|
+
release_file = "puppet-agent#{solaris_name_conjunction}#{component_version}#{solaris_release_version}.#{arch}.#{pkg_suffix}"
|
1164
1190
|
end
|
1165
1191
|
else
|
1166
1192
|
raise "No repository installation step for #{variant} yet..."
|
@@ -1173,6 +1199,25 @@ module Beaker
|
|
1173
1199
|
case variant
|
1174
1200
|
when /^(fedora|el|centos|sles)$/
|
1175
1201
|
on host, "rpm -ivh #{onhost_copied_file}"
|
1202
|
+
when /^(aix)$/
|
1203
|
+
# NOTE: AIX does not support repo management. This block assumes
|
1204
|
+
# that the desired rpm has been mirrored to the 'repos' location.
|
1205
|
+
#
|
1206
|
+
# NOTE: tar is a dependency for puppet packages on AIX. So,
|
1207
|
+
# we install it prior to the 'repo' file.
|
1208
|
+
tar_pkg_path = "ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/tar"
|
1209
|
+
if version == "5.3" then
|
1210
|
+
tar_pkg_file = "tar-1.14-2.aix5.1.ppc.rpm"
|
1211
|
+
else
|
1212
|
+
tar_pkg_file = "tar-1.22-1.aix6.1.ppc.rpm"
|
1213
|
+
end
|
1214
|
+
fetch_http_file( tar_pkg_path, tar_pkg_file, copy_dir_local)
|
1215
|
+
scp_to host, File.join(copy_dir_local, tar_pkg_file), onhost_copy_base
|
1216
|
+
onhost_copied_tar_file = File.join(onhost_copy_base, tar_pkg_file)
|
1217
|
+
on host, "rpm -ivh #{onhost_copied_tar_file}"
|
1218
|
+
|
1219
|
+
# install the repo file
|
1220
|
+
on host, "rpm -ivh #{onhost_copied_file}"
|
1176
1221
|
when /^(debian|ubuntu|cumulus)$/
|
1177
1222
|
on host, "dpkg -i --force-all #{onhost_copied_file}"
|
1178
1223
|
on host, "apt-get update"
|
@@ -1184,7 +1229,8 @@ module Beaker
|
|
1184
1229
|
when /^osx$/
|
1185
1230
|
host.install_package("#{mac_pkg_name}*")
|
1186
1231
|
when /^solaris$/
|
1187
|
-
|
1232
|
+
if version == '10'
|
1233
|
+
noask = <<NOASK
|
1188
1234
|
# Write the noask file to a temporary directory
|
1189
1235
|
# please see man -s 4 admin for details about this file:
|
1190
1236
|
# http://www.opensolarisforum.org/man/man4/admin.html
|
@@ -1214,8 +1260,11 @@ action=nocheck
|
|
1214
1260
|
# Install to the default base directory.
|
1215
1261
|
basedir=default
|
1216
1262
|
NOASK
|
1217
|
-
|
1218
|
-
|
1263
|
+
create_remote_file host, File.join(onhost_copy_base, 'noask'), noask
|
1264
|
+
on host, "gunzip -c #{release_file} | pkgadd -d /dev/stdin -a noask -n all"
|
1265
|
+
elsif version == '11'
|
1266
|
+
on host, "pkg install -g #{release_file} puppet-agent"
|
1267
|
+
end
|
1219
1268
|
end
|
1220
1269
|
configure_type_defaults_on( host )
|
1221
1270
|
end
|