beaker 2.24.0 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|