beaker 2.4.1 → 2.5.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/HISTORY.md +141 -2
- data/lib/beaker/answers.rb +2 -0
- data/lib/beaker/dsl/helpers.rb +8 -1
- data/lib/beaker/dsl/install_utils.rb +11 -4
- data/lib/beaker/host/windows.rb +7 -3
- data/lib/beaker/host.rb +1 -1
- data/lib/beaker/hypervisor/docker.rb +3 -1
- data/lib/beaker/hypervisor/vagrant.rb +1 -3
- data/lib/beaker/hypervisor/vcloud_pooled.rb +39 -26
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/install_utils_spec.rb +5 -4
- data/spec/mocks.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
MTAxY2VmNjc1ZjM2NDAyOWM3YjM1NWYxZGI5YTE0ZTk4YzhjYTczOQ==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
YTY1MzczMWY5YmNjOTRjZDA3MDE0MjM1ZjdmMjBmMzM3MjdhODI2ZQ==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
YWQwZGE3YzVjZmRkZWZiODE5NTFmZTViMWViNGVlMTllMzFkYzMzMTdlYTM3
|
|
10
|
+
YWU4MTE2MDdiOTgzZDRmYTIxZjMyYjU2MDcxYjNmMjkyZDcyMTYyNGQwZDIx
|
|
11
|
+
YmVlYmRmNTQ5OTgxYWViOTgyZjM3NTQ5ZjJlMmUyYWQxYTE3ZjY=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
Zjk1NzdiNjg5N2Y2YjE3MGZhMzZkYTY5M2RiNWIyYWRjOTY5NTIzY2FjMjFl
|
|
14
|
+
YTNkYmYxMTM0MmVkYTEzYzgzYTZmZjA3OGEzZTIzMzA2YzJjODM1YTY5ZTY3
|
|
15
|
+
ZThkYTI3NTVkMzY4ZGVkNGYyYzNmNmUwNTA0OTkwZGQ0MDUwYzQ=
|
data/HISTORY.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# default - History
|
|
2
2
|
## Tags
|
|
3
|
-
* [LATEST -
|
|
3
|
+
* [LATEST - 23 Feb, 2015 (9ad8bd4c)](#LATEST)
|
|
4
|
+
* [beaker2.4.1 - 13 Feb, 2015 (84400ed1)](#beaker2.4.1)
|
|
4
5
|
* [beaker2.4.0 - 13 Feb, 2015 (bc5a6676)](#beaker2.4.0)
|
|
5
6
|
* [beaker2.3.0 - 29 Jan, 2015 (3d185da0)](#beaker2.3.0)
|
|
6
7
|
* [beaker2.2.0 - 8 Jan, 2015 (cba5f7ed)](#beaker2.2.0)
|
|
@@ -70,7 +71,145 @@
|
|
|
70
71
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
|
71
72
|
|
|
72
73
|
## Details
|
|
73
|
-
### <a name = "LATEST">LATEST -
|
|
74
|
+
### <a name = "LATEST">LATEST - 23 Feb, 2015 (9ad8bd4c)
|
|
75
|
+
|
|
76
|
+
* (GEM) update beaker version to 2.5.0 (9ad8bd4c)
|
|
77
|
+
|
|
78
|
+
* Merge pull request #701 from anodelman/win-fix (de652599)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Merge pull request #701 from anodelman/win-fix
|
|
83
|
+
|
|
84
|
+
(QENG-1852) install_puppet unable to install windows msi (regression)
|
|
85
|
+
```
|
|
86
|
+
* Merge pull request #677 from kevpl/qeng1721_aio_windowsadd (566600ba)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Merge pull request #677 from kevpl/qeng1721_aio_windowsadd
|
|
91
|
+
|
|
92
|
+
qeng1721: added AIO windows support
|
|
93
|
+
```
|
|
94
|
+
* Merge pull request #695 from liamjbennett/vagrant_windows_fix (a7a85f72)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Merge pull request #695 from liamjbennett/vagrant_windows_fix
|
|
99
|
+
|
|
100
|
+
(MAINT) Rolling back change for windows in the vagrant hypervisor
|
|
101
|
+
```
|
|
102
|
+
* Merge pull request #706 from madAndroid/GH-700-add-docker-options (8e0a7e7d)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Merge pull request #706 from madAndroid/GH-700-add-docker-options
|
|
107
|
+
|
|
108
|
+
GH-700 - Allow Docker::options to be set from config hash
|
|
109
|
+
```
|
|
110
|
+
* Merge pull request #709 from kevpl/qeng1868_3.8_answers (cd980c9e)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Merge pull request #709 from kevpl/qeng1868_3.8_answers
|
|
115
|
+
|
|
116
|
+
(QENG-1868) added 3.8 answers file, based on 3.7
|
|
117
|
+
```
|
|
118
|
+
* (QENG-1868) added 3.8 answers file, based on 3.7 (5ee004d4)
|
|
119
|
+
|
|
120
|
+
* Merge pull request #707 from johnduarte/QENG-1867 (badb17a0)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Merge pull request #707 from johnduarte/QENG-1867
|
|
125
|
+
|
|
126
|
+
(QENG-1867) Add ETIMEDOUT rescue to host.rb
|
|
127
|
+
```
|
|
128
|
+
* (QENG-1867) Add ETIMEDOUT rescue to host.rb (e7a2ed2d)
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
(QENG-1867) Add ETIMEDOUT rescue to host.rb
|
|
133
|
+
|
|
134
|
+
This commit adds `Errno::ETIMEDOUT` to the rescue logic of the
|
|
135
|
+
port_open? method in lib/beaker/host.rb.
|
|
136
|
+
|
|
137
|
+
Adding this this rescue prevents the ETIMEDOUT error from short circuiting of
|
|
138
|
+
the logical intention of the port_open? method.
|
|
139
|
+
```
|
|
140
|
+
* GH-700 - amend merge as per suggestion in #706 (6d56290a)
|
|
141
|
+
|
|
142
|
+
* GH-700 - amend comments to be more appropriate (02591293)
|
|
143
|
+
|
|
144
|
+
* GH-700 - handle the use case where ::Docker.options is nil (81836988)
|
|
145
|
+
|
|
146
|
+
* Merge pull request #703 from sschneid/pooling_api_syntax_fixup (041f04ad)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Merge pull request #703 from sschneid/pooling_api_syntax_fixup
|
|
151
|
+
|
|
152
|
+
(MAINT) use implicit trailing '/' for pooling_api URI
|
|
153
|
+
```
|
|
154
|
+
* (MAINT) use implicit trailing '/' for pooling_api URI (4d2e6f32)
|
|
155
|
+
|
|
156
|
+
* (QENG-1852) install_puppet unable to install windows msi (regression) (76aba308)
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
(QENG-1852) install_puppet unable to install windows msi (regression)
|
|
161
|
+
|
|
162
|
+
- busted curl command on windows
|
|
163
|
+
- busted msiexec command for installation
|
|
164
|
+
- i cry myself to sleep every night
|
|
165
|
+
```
|
|
166
|
+
* Merge pull request #698 from sschneid/batch_vm_checkout (b8a64f74)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
Merge pull request #698 from sschneid/batch_vm_checkout
|
|
171
|
+
|
|
172
|
+
(QENG-780) request sets of VMs instead of one VM at a time
|
|
173
|
+
```
|
|
174
|
+
* GH-700 - set ::Docker.options from docker_options in options hash, if it's not set via ::Docker.options already (7db8b636)
|
|
175
|
+
|
|
176
|
+
* (QENG-780) Updating MockNet::HTTP::Post methods (72a07bd2)
|
|
177
|
+
|
|
178
|
+
* (QENG-780) request sets of VMs instead of one VM at a time (9e82d9b6)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
(QENG-780) request sets of VMs instead of one VM at a time
|
|
183
|
+
|
|
184
|
+
This PR facilitates use of vmpooler's batch-request POST API
|
|
185
|
+
(https://github.com/puppetlabs/vmpooler#post-vm) within beaker.
|
|
186
|
+
```
|
|
187
|
+
* Merge pull request #696 from kevpl/qeng1721_aio_quickadd (831a6c4e)
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
Merge pull request #696 from kevpl/qeng1721_aio_quickadd
|
|
192
|
+
|
|
193
|
+
(QENG-1721) added a quick AIO override for windows to unblock testing
|
|
194
|
+
```
|
|
195
|
+
* (QENG-1721) added a quick AIO override for windows to unblock testing (ba6ba605)
|
|
196
|
+
|
|
197
|
+
* (MAINT) Rolling back change for windows in the vagrant hypervisor (16741375)
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
(MAINT) Rolling back change for windows in the vagrant hypervisor
|
|
202
|
+
|
|
203
|
+
Rolling back the change made in bf353c1 as it is no longer required.
|
|
204
|
+
|
|
205
|
+
The subsequent change in 3aa080c for vagrant 1.7 properly fixed the issue
|
|
206
|
+
and so the work around can now be removed.
|
|
207
|
+
```
|
|
208
|
+
* qeng1721: added AIO windows support (6f8deb7d)
|
|
209
|
+
|
|
210
|
+
### <a name = "beaker2.4.1">beaker2.4.1 - 13 Feb, 2015 (84400ed1)
|
|
211
|
+
|
|
212
|
+
* (HISTORY) update beaker history for gem release 2.4.1 (84400ed1)
|
|
74
213
|
|
|
75
214
|
* (GEM) update beaker version to 2.4.1 (c3cffad8)
|
|
76
215
|
|
data/lib/beaker/answers.rb
CHANGED
|
@@ -19,6 +19,8 @@ module Beaker
|
|
|
19
19
|
return Version34.new(version, hosts, options)
|
|
20
20
|
when /\A3\.99/
|
|
21
21
|
return Version40.new(version, hosts, options)
|
|
22
|
+
when /\A3\.8/
|
|
23
|
+
return Version34.new(version, hosts, options)
|
|
22
24
|
when /\A3\.7/
|
|
23
25
|
return Version34.new(version, hosts, options)
|
|
24
26
|
when /\A3\.4/
|
data/lib/beaker/dsl/helpers.rb
CHANGED
|
@@ -1249,7 +1249,14 @@ module Beaker
|
|
|
1249
1249
|
# In all the case that it is different, this init script will exist. So we can assume
|
|
1250
1250
|
# that if the script doesn't exist, we should just use `pe-puppet`
|
|
1251
1251
|
result = on agent, "[ -e /etc/init.d/pe-puppet-agent ]", :acceptable_exit_codes => [0,1]
|
|
1252
|
-
agent_service =
|
|
1252
|
+
agent_service = 'pe-puppet-agent'
|
|
1253
|
+
if result.exit_code != 0
|
|
1254
|
+
if agent['pe_ver'] && !version_is_less(agent['pe_ver'], '4.0')
|
|
1255
|
+
agent_service = 'puppet'
|
|
1256
|
+
else
|
|
1257
|
+
agent_service = 'pe-puppet'
|
|
1258
|
+
end
|
|
1259
|
+
end
|
|
1253
1260
|
|
|
1254
1261
|
# Under a number of stupid circumstances, we can't stop the
|
|
1255
1262
|
# agent using puppet. This is usually because of issues with
|
|
@@ -478,11 +478,18 @@ module Beaker
|
|
|
478
478
|
host['dist'] = "puppet-enterprise-#{version}-#{host['platform']}"
|
|
479
479
|
elsif host['platform'] =~ /windows/
|
|
480
480
|
version = host[:pe_ver] || opts['pe_ver_win']
|
|
481
|
+
should_install_64bit = !(version_is_less(version, '3.4')) && host.is_x86_64? && !host['install_32'] && !opts['install_32']
|
|
481
482
|
#only install 64bit builds if
|
|
482
483
|
# - we are on pe version 3.4+
|
|
483
484
|
# - we do not have install_32 set on host
|
|
484
485
|
# - we do not have install_32 set globally
|
|
485
|
-
if !(version_is_less(version, '
|
|
486
|
+
if !(version_is_less(version, '4.0'))
|
|
487
|
+
if should_install_64bit
|
|
488
|
+
host['dist'] = "puppet-agent-#{version}-x64"
|
|
489
|
+
else
|
|
490
|
+
host['dist'] = "puppet-agent-#{version}-x86"
|
|
491
|
+
end
|
|
492
|
+
elsif should_install_64bit
|
|
486
493
|
host['dist'] = "puppet-enterprise-#{version}-x64"
|
|
487
494
|
else
|
|
488
495
|
host['dist'] = "puppet-enterprise-#{version}"
|
|
@@ -807,8 +814,8 @@ module Beaker
|
|
|
807
814
|
end
|
|
808
815
|
|
|
809
816
|
if host['is_cygwin'].nil? or host['is_cygwin'] == true
|
|
810
|
-
dest = "
|
|
811
|
-
on host, "curl -O #{
|
|
817
|
+
dest = "#{host['dist']}.msi"
|
|
818
|
+
on host, "curl -O #{link}"
|
|
812
819
|
|
|
813
820
|
#Because the msi installer doesn't add Puppet to the environment path
|
|
814
821
|
#Add both potential paths for simplicity
|
|
@@ -826,7 +833,7 @@ module Beaker
|
|
|
826
833
|
on host, "if not exist #{host['distmoduledir']} (md #{host['distmoduledir']})"
|
|
827
834
|
end
|
|
828
835
|
|
|
829
|
-
on host, "msiexec /qn /i #{dest}"
|
|
836
|
+
on host, "cmd /C 'start /w msiexec.exe /qn /i #{dest}'"
|
|
830
837
|
end
|
|
831
838
|
|
|
832
839
|
# Installs Puppet and dependencies from dmg
|
data/lib/beaker/host/windows.rb
CHANGED
|
@@ -39,8 +39,8 @@ module Windows
|
|
|
39
39
|
'user' => 'Administrator',
|
|
40
40
|
'group' => 'Administrators',
|
|
41
41
|
'puppetpath' => '`cygpath -smF 35`/PuppetLabs/puppet/etc',
|
|
42
|
-
'puppetconfdir'
|
|
43
|
-
'puppetcodedir'
|
|
42
|
+
'puppetconfdir' => '`cygpath -smF 35`/PuppetLabs/puppet/etc',
|
|
43
|
+
'puppetcodedir' => '`cygpath -smF 35`/PuppetLabs/puppet/etc',
|
|
44
44
|
'hieraconf' => '`cygpath -smF 35`/Puppetlabs/puppet/etc/hiera.yaml',
|
|
45
45
|
'puppetvardir' => '`cygpath -smF 35`/PuppetLabs/puppet/var',
|
|
46
46
|
'distmoduledir' => '`cygpath -smF 35`/PuppetLabs/puppet/etc/modules',
|
|
@@ -48,10 +48,14 @@ module Windows
|
|
|
48
48
|
'hieralibdir' => '`cygpath -w /opt/puppet-git-repos/hiera/lib`',
|
|
49
49
|
'hierapuppetlibdir' => '`cygpath -w /opt/puppet-git-repos/hiera-puppet/lib`',
|
|
50
50
|
#let's just add both potential bin dirs to the path, include ruby too for `gem`, `ruby`, etc
|
|
51
|
-
'puppetbindir'
|
|
51
|
+
'puppetbindir' => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin',
|
|
52
52
|
'hierabindir' => '/opt/puppet-git-repos/hiera/bin',
|
|
53
53
|
'pathseparator' => ';',
|
|
54
54
|
})
|
|
55
55
|
end
|
|
56
|
+
|
|
57
|
+
def self.aio_defaults
|
|
58
|
+
self.foss_defaults
|
|
59
|
+
end
|
|
56
60
|
end
|
|
57
61
|
end
|
data/lib/beaker/host.rb
CHANGED
|
@@ -8,7 +8,9 @@ module Beaker
|
|
|
8
8
|
@hosts = hosts
|
|
9
9
|
|
|
10
10
|
# increase the http timeouts as provisioning images can be slow
|
|
11
|
-
|
|
11
|
+
default_docker_options = { :write_timeout => 300, :read_timeout => 300 }.merge(::Docker.options || {})
|
|
12
|
+
# Merge docker options from the entry in hosts file
|
|
13
|
+
::Docker.options = default_docker_options.merge(@options[:docker_options] || {})
|
|
12
14
|
# assert that the docker-api gem can talk to your docker
|
|
13
15
|
# enpoint. Will raise if there is a version mismatch
|
|
14
16
|
begin
|
|
@@ -72,9 +72,7 @@ module Beaker
|
|
|
72
72
|
end
|
|
73
73
|
#replace hostname with ip
|
|
74
74
|
ssh_config = ssh_config.gsub(/Host #{host.name}/, "Host #{host['ip']}") unless not host['ip']
|
|
75
|
-
|
|
76
|
-
ssh_config = ssh_config.gsub(/127\.0\.0\.1/, host['ip']) unless not host['ip']
|
|
77
|
-
end
|
|
75
|
+
|
|
78
76
|
#set the user
|
|
79
77
|
ssh_config = ssh_config.gsub(/User vagrant/, "User #{user}")
|
|
80
78
|
f.write(ssh_config)
|
|
@@ -51,7 +51,9 @@ module Beaker
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def provision
|
|
54
|
+
request_payload = {}
|
|
54
55
|
start = Time.now
|
|
56
|
+
|
|
55
57
|
@hosts.each_with_index do |h, i|
|
|
56
58
|
if not h['template']
|
|
57
59
|
raise ArgumentError, "You must specify a template name for #{h}"
|
|
@@ -61,39 +63,50 @@ module Beaker
|
|
|
61
63
|
h['template'] = templatefolders.pop
|
|
62
64
|
end
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
request_payload[h['template']] = (request_payload[h['template']].to_i + 1).to_s
|
|
67
|
+
end
|
|
65
68
|
|
|
66
|
-
|
|
67
|
-
waited = 0 #the amount of time we've spent waiting for this host to provision
|
|
68
|
-
begin
|
|
69
|
-
uri = URI.parse(get_template_url(@options['pooling_api'], h['template']))
|
|
69
|
+
@logger.notify "Requesting VM set from vCloud host pool"
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
last_wait, wait = 0, 1
|
|
72
|
+
waited = 0 #the amount of time we've spent waiting for this host to provision
|
|
73
|
+
begin
|
|
74
|
+
uri = URI.parse(@options['pooling_api'] + '/vm/')
|
|
73
75
|
|
|
74
|
-
|
|
76
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
77
|
+
request = Net::HTTP::Post.new(uri.request_uri)
|
|
78
|
+
|
|
79
|
+
request.body = request_payload.to_json
|
|
80
|
+
|
|
81
|
+
response = http.request(request)
|
|
82
|
+
parsed_response = JSON.parse(response.body)
|
|
83
|
+
|
|
84
|
+
if parsed_response['ok']
|
|
85
|
+
domain = parsed_response['domain']
|
|
86
|
+
|
|
87
|
+
@hosts.each_with_index do |h, i|
|
|
88
|
+
if parsed_response[h['template']]['hostname'].is_a?(Array)
|
|
89
|
+
hostname = parsed_response[h['template']]['hostname'].shift
|
|
90
|
+
else
|
|
91
|
+
hostname = parsed_response[h['template']]['hostname']
|
|
92
|
+
end
|
|
75
93
|
|
|
76
|
-
response = http.request(request)
|
|
77
|
-
parsed_response = JSON.parse(response.body)
|
|
78
|
-
if parsed_response[h['template']] && parsed_response[h['template']]['ok'] && parsed_response[h['template']]['hostname']
|
|
79
|
-
hostname = parsed_response[h['template']]['hostname']
|
|
80
|
-
domain = parsed_response['domain']
|
|
81
94
|
h['vmhostname'] = domain ? "#{hostname}.#{domain}" : hostname
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
end
|
|
85
|
-
rescue JSON::ParserError, RuntimeError, *SSH_EXCEPTIONS => e
|
|
86
|
-
if waited <= @options[:timeout].to_i
|
|
87
|
-
@logger.debug("Retrying provision for vCloud host #{h.name} after waiting #{wait} second(s) (failed with #{e.class})")
|
|
88
|
-
sleep wait
|
|
89
|
-
waited += wait
|
|
90
|
-
last_wait, wait = wait, last_wait + wait
|
|
91
|
-
retry
|
|
95
|
+
|
|
96
|
+
@logger.notify "Using available vCloud host '#{h['vmhostname']}' (#{h.name})"
|
|
92
97
|
end
|
|
93
|
-
|
|
98
|
+
else
|
|
99
|
+
raise "VcloudPooled.provision - requested vCloud hosts not available"
|
|
94
100
|
end
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
rescue JSON::ParserError, RuntimeError, *SSH_EXCEPTIONS => e
|
|
102
|
+
if waited <= @options[:timeout].to_i
|
|
103
|
+
@logger.debug("Retrying provision for vCloud host after waiting #{wait} second(s) (failed with #{e.class})")
|
|
104
|
+
sleep wait
|
|
105
|
+
waited += wait
|
|
106
|
+
last_wait, wait = wait, last_wait + wait
|
|
107
|
+
retry
|
|
108
|
+
end
|
|
109
|
+
report_and_raise(@logger, e, 'vCloudPooled.provision')
|
|
97
110
|
end
|
|
98
111
|
|
|
99
112
|
@logger.notify 'Spent %.2f seconds grabbing VMs' % (Time.now - start)
|
data/lib/beaker/version.rb
CHANGED
|
@@ -354,6 +354,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
354
354
|
allow( subject ).to receive( :sign_certificate_for ).and_return( true )
|
|
355
355
|
allow( subject ).to receive( :stop_agent_on ).and_return( true )
|
|
356
356
|
allow( subject ).to receive( :sleep_until_puppetdb_started ).and_return( true )
|
|
357
|
+
allow( subject ).to receive( :version_is_less ).with('3.0', '4.0').and_return( true )
|
|
357
358
|
allow( subject ).to receive( :version_is_less ).with('3.0', '3.4').and_return( true )
|
|
358
359
|
allow( subject ).to receive( :version_is_less ).with('3.0', '3.0').and_return( false )
|
|
359
360
|
allow( subject ).to receive( :version_is_less ).with('3.0', '3.4').and_return( true )
|
|
@@ -547,15 +548,15 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
547
548
|
let(:platform) { "windows-2008r2-i386" }
|
|
548
549
|
it 'installs specific version of puppet when passed :version' do
|
|
549
550
|
allow(subject).to receive(:link_exists?).and_return( true )
|
|
550
|
-
expect(subject).to receive(:on).with(hosts[0], 'curl -O
|
|
551
|
+
expect(subject).to receive(:on).with(hosts[0], 'curl -O http://downloads.puppetlabs.com/windows/puppet-3000.msi')
|
|
551
552
|
expect(subject).to receive(:on).with(hosts[0], " echo 'export PATH=$PATH:\"/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin\":\"/cygdrive/c/Program Files/Puppet Labs/Puppet/bin\"' > /etc/bash.bashrc ")
|
|
552
|
-
expect(subject).to receive(:on).with(hosts[0], 'msiexec /qn /i
|
|
553
|
+
expect(subject).to receive(:on).with(hosts[0], 'cmd /C \'start /w msiexec.exe /qn /i puppet-3000.msi\'')
|
|
553
554
|
subject.install_puppet(:version => '3000')
|
|
554
555
|
end
|
|
555
556
|
it 'installs from custom url when passed :win_download_url' do
|
|
556
557
|
allow(subject).to receive(:link_exists?).and_return( true )
|
|
557
|
-
expect(subject).to receive(:on).with(hosts[0], 'curl -O
|
|
558
|
-
expect(subject).to receive(:on).with(hosts[0], 'msiexec /qn /i
|
|
558
|
+
expect(subject).to receive(:on).with(hosts[0], 'curl -O http://nightlies.puppetlabs.com/puppet-latest/repos/windows/puppet-3000.msi')
|
|
559
|
+
expect(subject).to receive(:on).with(hosts[0], 'cmd /C \'start /w msiexec.exe /qn /i puppet-3000.msi\'')
|
|
559
560
|
subject.install_puppet( :version => '3000', :win_download_url => 'http://nightlies.puppetlabs.com/puppet-latest/repos/windows' )
|
|
560
561
|
end
|
|
561
562
|
end
|
data/spec/mocks.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Puppetlabs
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-02-
|
|
11
|
+
date: 2015-02-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
@@ -533,7 +533,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
533
533
|
version: '0'
|
|
534
534
|
requirements: []
|
|
535
535
|
rubyforge_project:
|
|
536
|
-
rubygems_version: 2.4.
|
|
536
|
+
rubygems_version: 2.4.6
|
|
537
537
|
signing_key:
|
|
538
538
|
specification_version: 4
|
|
539
539
|
summary: Let's test Puppet!
|