beaker 2.21.0 → 2.22.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 +84 -2
- data/lib/beaker/dsl/install_utils/foss_utils.rb +67 -9
- data/lib/beaker/hypervisor.rb +4 -2
- data/lib/beaker/hypervisor/noop.rb +31 -0
- data/lib/beaker/platform.rb +2 -4
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +117 -7
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
NzA4NmIzODhiN2FkMWIyM2RjZDE1YzAxMWE3ZDc1NGFhODBlMDRhOA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
ODdjMmNhYTUwZmI2Yjc1ZjhlM2IxMjM1NGRkMjRiODNlMzMwYmM0ZA==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
NDM5ZTdkNWI4N2M3Y2NjZTk1NTMyNmNlMWE1MGRhMjUxMjg0YjMyMzM4ZWRi
|
|
10
|
+
M2M4ZTM5YTdiNmY4ZDhlOTJkMDBjMjZhMzAzOGY3ODhjMjgxM2FhODU4ZTJi
|
|
11
|
+
YTJiNWQ2YjJmMTM5OGUwZDYzOWRiNzFmYmQ2MGU3NmIyZDVkMjk=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
M2U0YjRiMjYyZjczYzVhODA0NzE1MzkxODU4NTM0ODkzOWZhYjE4YzRmMTUy
|
|
14
|
+
MjQyNzAzNTNiM2VmYTVlYjE0MDg2OGMyMDU5MjE1N2UwM2Y4NjFiYTZlYWNh
|
|
15
|
+
MmQwMTRjMDkyMTYzZjZiODA1ZGU1YzQwMTFlZWViYjE0MjIxOGQ=
|
data/HISTORY.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# default - History
|
|
2
2
|
## Tags
|
|
3
|
-
* [LATEST -
|
|
3
|
+
* [LATEST - 1 Sep, 2015 (e693a4e7)](#LATEST)
|
|
4
|
+
* [2.21.0 - 26 Aug, 2015 (40281eb2)](#2.21.0)
|
|
4
5
|
* [2.20.0 - 17 Aug, 2015 (8a419e98)](#2.20.0)
|
|
5
6
|
* [2.19.0 - 13 Aug, 2015 (80897129)](#2.19.0)
|
|
6
7
|
* [2.18.3 - 28 Jul, 2015 (d9a02474)](#2.18.3)
|
|
@@ -93,7 +94,88 @@
|
|
|
93
94
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
|
94
95
|
|
|
95
96
|
## Details
|
|
96
|
-
### <a name = "LATEST">LATEST -
|
|
97
|
+
### <a name = "LATEST">LATEST - 1 Sep, 2015 (e693a4e7)
|
|
98
|
+
|
|
99
|
+
* (GEM) update beaker version to 2.22.0 (e693a4e7)
|
|
100
|
+
|
|
101
|
+
* Merge pull request #935 from MikaelSmith/feat/master/BKR-470 (9a96c210)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Merge pull request #935 from MikaelSmith/feat/master/BKR-470
|
|
106
|
+
|
|
107
|
+
(BKR-470) Add Solaris to install_puppet_agent_dev_repo_on
|
|
108
|
+
```
|
|
109
|
+
* Merge pull request #938 from anodelman/none-hypervisor (c5ae989f)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Merge pull request #938 from anodelman/none-hypervisor
|
|
114
|
+
|
|
115
|
+
(BKR-458) add beaker notouch hypervisor
|
|
116
|
+
```
|
|
117
|
+
* Merge pull request #934 from anodelman/puppet-agent (8a495267)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Merge pull request #934 from anodelman/puppet-agent
|
|
122
|
+
|
|
123
|
+
(BKR-459) update osx package name and directory to correspond...
|
|
124
|
+
```
|
|
125
|
+
* (BKR-458) add beaker notouch hypervisor (f31ba283)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
(BKR-458) add beaker notouch hypervisor
|
|
130
|
+
|
|
131
|
+
- support for a 'noop' hypervisor that does no
|
|
132
|
+
configuration/validation/provision/cleanup/proxy-ing
|
|
133
|
+
```
|
|
134
|
+
* (maint) Add spec test for install_puppet_agent_dev_repo_on (0a6eb377)
|
|
135
|
+
|
|
136
|
+
* (BKR-472) Add Solaris 11 support for installing puppet-agent (6960c09b)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
(BKR-472) Add Solaris 11 support for installing puppet-agent
|
|
141
|
+
|
|
142
|
+
Solaris 11 re-uses most of the setup for Solaris 10, but the root user's
|
|
143
|
+
home directory on Solaris 10 is special. Fix up the configuration to
|
|
144
|
+
special-case Solaris 10.
|
|
145
|
+
```
|
|
146
|
+
* (BKR-470) Add Solaris to install_puppet_agent_dev_repo_on (265f6ec3)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
(BKR-470) Add Solaris to install_puppet_agent_dev_repo_on
|
|
151
|
+
|
|
152
|
+
Adds Solaris support for installing packages in the
|
|
153
|
+
install_puppet_agent_dev_repo_on helper.
|
|
154
|
+
```
|
|
155
|
+
* (MAINT) fix ability to set external file dir through opts (65d2bbb7)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
(MAINT) fix ability to set external file dir through opts
|
|
160
|
+
|
|
161
|
+
- we were overriding for windows/mac hosts to a different default, so
|
|
162
|
+
anything passed in by the user was ignored
|
|
163
|
+
```
|
|
164
|
+
* (BKR-459) update osx package name and directory to correspond... (db9090ef)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
(BKR-459) update osx package name and directory to correspond...
|
|
169
|
+
|
|
170
|
+
... to RE changes
|
|
171
|
+
|
|
172
|
+
- updated install_puppet_agent_dev_repo_on to handle new directory
|
|
173
|
+
structure and name change
|
|
174
|
+
- backwards compatible, handles both old and new
|
|
175
|
+
```
|
|
176
|
+
### <a name = "2.21.0">2.21.0 - 26 Aug, 2015 (40281eb2)
|
|
177
|
+
|
|
178
|
+
* (HISTORY) update beaker history for gem release 2.21.0 (40281eb2)
|
|
97
179
|
|
|
98
180
|
* (GEM) update beaker version to 2.21.0 (a6ef010f)
|
|
99
181
|
|
|
@@ -1088,12 +1088,17 @@ module Beaker
|
|
|
1088
1088
|
if not opts[:puppet_agent_version]
|
|
1089
1089
|
raise "must provide :puppet_agent_version (puppet-agent version) for install_puppet_agent_dev_repo_on"
|
|
1090
1090
|
end
|
|
1091
|
+
|
|
1092
|
+
copy_base_external_defaults = Hash.new('/root').merge({
|
|
1093
|
+
:windows => '`cygpath -smF 35`/',
|
|
1094
|
+
:osx => '/var/root'
|
|
1095
|
+
})
|
|
1091
1096
|
block_on hosts do |host|
|
|
1092
1097
|
variant, version, arch, codename = host['platform'].to_array
|
|
1093
1098
|
opts = FOSS_DEFAULT_DOWNLOAD_URLS.merge(opts)
|
|
1094
1099
|
opts[:download_url] = "#{opts[:dev_builds_url]}/puppet-agent/#{ opts[:puppet_agent_sha] || opts[:puppet_agent_version] }/repos/"
|
|
1095
1100
|
opts[:copy_base_local] ||= File.join('tmp', 'repo_configs')
|
|
1096
|
-
opts[:copy_dir_external] ||=
|
|
1101
|
+
opts[:copy_dir_external] ||= copy_base_external_defaults[variant.to_sym]
|
|
1097
1102
|
opts[:puppet_collection] ||= 'PC1'
|
|
1098
1103
|
add_role(host, 'aio') #we are installing agent, so we want aio role
|
|
1099
1104
|
release_path = opts[:download_url]
|
|
@@ -1114,7 +1119,6 @@ module Beaker
|
|
|
1114
1119
|
release_file = "puppet-agent_#{opts[:puppet_agent_version]}-1#{codename}_#{arch}.deb"
|
|
1115
1120
|
when /^windows$/
|
|
1116
1121
|
release_path << 'windows'
|
|
1117
|
-
onhost_copy_base = '`cygpath -smF 35`/'
|
|
1118
1122
|
is_config_32 = host['ruby_arch'] == 'x86' || host['install_32'] || opts['install_32']
|
|
1119
1123
|
should_install_64bit = host.is_x86_64? && !is_config_32
|
|
1120
1124
|
# only install 64bit builds if
|
|
@@ -1123,10 +1127,29 @@ module Beaker
|
|
|
1123
1127
|
arch_suffix = should_install_64bit ? '64' : '86'
|
|
1124
1128
|
release_file = "puppet-agent-x#{arch_suffix}.msi"
|
|
1125
1129
|
when /^osx$/
|
|
1126
|
-
onhost_copy_base = File.join('/var', 'root')
|
|
1127
1130
|
mac_pkg_name = "puppet-agent-#{opts[:puppet_agent_version]}"
|
|
1128
|
-
|
|
1129
|
-
|
|
1131
|
+
version = version[0,2] + '.' + version[2,2] if (variant =~ /osx/ && !version.include?("."))
|
|
1132
|
+
path_chunk = ''
|
|
1133
|
+
# new hotness
|
|
1134
|
+
path_chunk = "apple/#{version}/#{opts[:puppet_collection]}/#{arch}"
|
|
1135
|
+
release_path << path_chunk
|
|
1136
|
+
release_file = "#{mac_pkg_name}-1.#{codename}.dmg"
|
|
1137
|
+
if not link_exists?("#{release_path}/") # oops, try the old stuff
|
|
1138
|
+
# the old school
|
|
1139
|
+
release_path.chomp!(path_chunk) #remove chunk that didn't work
|
|
1140
|
+
release_path << "apple/#{opts[:puppet_collection]}"
|
|
1141
|
+
release_file = "#{mac_pkg_name}-#{variant}-#{version}-x86_64.dmg"
|
|
1142
|
+
end
|
|
1143
|
+
when /^solaris$/
|
|
1144
|
+
if arch == 'x86_64'
|
|
1145
|
+
arch = 'i386'
|
|
1146
|
+
end
|
|
1147
|
+
if version == '10'
|
|
1148
|
+
# Solaris 10 uses / as the root user directory. Solaris 11 uses /root.
|
|
1149
|
+
onhost_copy_base = '/'
|
|
1150
|
+
end
|
|
1151
|
+
release_path << "/solaris/#{version}/#{opts[:puppet_collection]}"
|
|
1152
|
+
release_file = "puppet-agent-#{opts[:puppet_agent_version]}.#{arch}.pkg.gz"
|
|
1130
1153
|
else
|
|
1131
1154
|
raise "No repository installation step for #{variant} yet..."
|
|
1132
1155
|
end
|
|
@@ -1148,6 +1171,39 @@ module Beaker
|
|
|
1148
1171
|
install_msi_on(host, onhost_copied_file, {}, opts)
|
|
1149
1172
|
when /^osx$/
|
|
1150
1173
|
host.install_package("#{mac_pkg_name}*")
|
|
1174
|
+
when /^solaris$/
|
|
1175
|
+
noask = <<NOASK
|
|
1176
|
+
# Write the noask file to a temporary directory
|
|
1177
|
+
# please see man -s 4 admin for details about this file:
|
|
1178
|
+
# http://www.opensolarisforum.org/man/man4/admin.html
|
|
1179
|
+
#
|
|
1180
|
+
# The key thing we don't want to prompt for are conflicting files.
|
|
1181
|
+
# The other nocheck settings are mostly defensive to prevent prompts
|
|
1182
|
+
# We _do_ want to check for available free space and abort if there is
|
|
1183
|
+
# not enough
|
|
1184
|
+
mail=
|
|
1185
|
+
# Overwrite already installed instances
|
|
1186
|
+
instance=overwrite
|
|
1187
|
+
# Do not bother checking for partially installed packages
|
|
1188
|
+
partial=nocheck
|
|
1189
|
+
# Do not bother checking the runlevel
|
|
1190
|
+
runlevel=nocheck
|
|
1191
|
+
# Do not bother checking package dependencies (We take care of this)
|
|
1192
|
+
idepend=nocheck
|
|
1193
|
+
rdepend=nocheck
|
|
1194
|
+
# DO check for available free space and abort if there isn't enough
|
|
1195
|
+
space=quit
|
|
1196
|
+
# Do not check for setuid files.
|
|
1197
|
+
setuid=nocheck
|
|
1198
|
+
# Do not check if files conflict with other packages
|
|
1199
|
+
conflict=nocheck
|
|
1200
|
+
# We have no action scripts. Do not check for them.
|
|
1201
|
+
action=nocheck
|
|
1202
|
+
# Install to the default base directory.
|
|
1203
|
+
basedir=default
|
|
1204
|
+
NOASK
|
|
1205
|
+
create_remote_file host, File.join(onhost_copy_base, 'noask'), noask
|
|
1206
|
+
on host, "gunzip -c #{release_file} | pkgadd -d /dev/stdin -a noask -n all"
|
|
1151
1207
|
end
|
|
1152
1208
|
configure_type_defaults_on( host )
|
|
1153
1209
|
end
|
|
@@ -1180,13 +1236,18 @@ module Beaker
|
|
|
1180
1236
|
# @return nil
|
|
1181
1237
|
def install_puppet_agent_pe_promoted_repo_on( hosts, opts )
|
|
1182
1238
|
opts[:puppet_agent_version] ||= 'latest'
|
|
1239
|
+
|
|
1240
|
+
copy_base_external_defaults = Hash.new('/root').merge({
|
|
1241
|
+
:windows => '`cygpath -smF 35`/',
|
|
1242
|
+
:osx => '/var/root'
|
|
1243
|
+
})
|
|
1183
1244
|
block_on hosts do |host|
|
|
1184
1245
|
pe_ver = host[:pe_ver] || opts[:pe_ver] || '4.0.0-rc1'
|
|
1185
1246
|
variant, version, arch, codename = host['platform'].to_array
|
|
1186
1247
|
opts = FOSS_DEFAULT_DOWNLOAD_URLS.merge(opts)
|
|
1187
1248
|
opts[:download_url] = "#{opts[:pe_promoted_builds_url]}/puppet-agent/#{ pe_ver }/#{ opts[:puppet_agent_version] }/repos"
|
|
1188
1249
|
opts[:copy_base_local] ||= File.join('tmp', 'repo_configs')
|
|
1189
|
-
opts[:copy_dir_external] ||=
|
|
1250
|
+
opts[:copy_dir_external] ||= copy_base_external_defaults[variant.to_sym]
|
|
1190
1251
|
opts[:puppet_collection] ||= 'PC1'
|
|
1191
1252
|
add_role(host, 'aio') #we are installing agent, so we want aio role
|
|
1192
1253
|
release_path = opts[:download_url]
|
|
@@ -1207,7 +1268,6 @@ module Beaker
|
|
|
1207
1268
|
release_file = "/repos/apt/#{codename}/pool/#{opts[:puppet_collection]}/p/puppet-agent/puppet-agent*#{arch}.deb"
|
|
1208
1269
|
download_file = "puppet-agent-#{variant}-#{version}-#{arch}.tar.gz"
|
|
1209
1270
|
when /^windows$/
|
|
1210
|
-
onhost_copy_base = '`cygpath -smF 35`/'
|
|
1211
1271
|
is_config_32 = host['ruby_arch'] == 'x86' || host['install_32'] || opts['install_32']
|
|
1212
1272
|
should_install_64bit = host.is_x86_64? && !is_config_32
|
|
1213
1273
|
# only install 64bit builds if
|
|
@@ -1218,7 +1278,6 @@ module Beaker
|
|
|
1218
1278
|
release_file = "/puppet-agent-x#{arch_suffix}.msi"
|
|
1219
1279
|
download_file = "puppet-agent-x#{arch_suffix}.msi"
|
|
1220
1280
|
when /^osx$/
|
|
1221
|
-
onhost_copy_base = File.join('/var', 'root')
|
|
1222
1281
|
release_file = "/repos/apple/#{opts[:puppet_collection]}/puppet-agent-*"
|
|
1223
1282
|
download_file = "puppet-agent-#{variant}-#{version}.tar.gz"
|
|
1224
1283
|
else
|
|
@@ -1259,7 +1318,6 @@ module Beaker
|
|
|
1259
1318
|
end
|
|
1260
1319
|
end
|
|
1261
1320
|
|
|
1262
|
-
|
|
1263
1321
|
# This method will install a pem file certificate on a windows host
|
|
1264
1322
|
#
|
|
1265
1323
|
# @param [Host] host A host object
|
data/lib/beaker/hypervisor.rb
CHANGED
|
@@ -56,7 +56,9 @@ module Beaker
|
|
|
56
56
|
Beaker::Docker
|
|
57
57
|
when /^openstack$/
|
|
58
58
|
Beaker::OpenStack
|
|
59
|
-
when /^
|
|
59
|
+
when /^noop$/
|
|
60
|
+
Beaker::Noop
|
|
61
|
+
when /^(default)|(none)$/
|
|
60
62
|
Beaker::Hypervisor
|
|
61
63
|
else
|
|
62
64
|
# Custom hypervisor
|
|
@@ -133,6 +135,6 @@ module Beaker
|
|
|
133
135
|
end
|
|
134
136
|
end
|
|
135
137
|
|
|
136
|
-
[ 'vsphere_helper', 'vagrant', 'vagrant_virtualbox', 'vagrant_parallels', 'vagrant_libvirt', 'vagrant_fusion', 'vagrant_workstation', 'fusion', 'aws_sdk', 'vsphere', 'vmpooler', 'vcloud', 'aixer', 'solaris', 'docker', 'google_compute', 'openstack' ].each do |lib|
|
|
138
|
+
[ 'vsphere_helper', 'vagrant', 'vagrant_virtualbox', 'vagrant_parallels', 'vagrant_libvirt', 'vagrant_fusion', 'vagrant_workstation', 'fusion', 'aws_sdk', 'vsphere', 'vmpooler', 'vcloud', 'aixer', 'solaris', 'docker', 'google_compute', 'openstack', 'noop' ].each do |lib|
|
|
137
139
|
require "beaker/hypervisor/#{lib}"
|
|
138
140
|
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Beaker
|
|
2
|
+
class Noop < Beaker::Hypervisor
|
|
3
|
+
|
|
4
|
+
def initialize(new_hosts, options)
|
|
5
|
+
@options = options
|
|
6
|
+
@logger = options[:logger]
|
|
7
|
+
@hosts = new_hosts
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def validate
|
|
11
|
+
# noop
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def configure
|
|
15
|
+
# noop
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def proxy_package_manager
|
|
19
|
+
# noop
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def provision
|
|
23
|
+
# noop
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def cleanup
|
|
27
|
+
# noop
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
end
|
data/lib/beaker/platform.rb
CHANGED
data/lib/beaker/version.rb
CHANGED
|
@@ -812,7 +812,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
812
812
|
end
|
|
813
813
|
end
|
|
814
814
|
|
|
815
|
-
describe '#
|
|
815
|
+
describe '#install_puppet_agent_dev_repo_on' do
|
|
816
816
|
|
|
817
817
|
it 'raises an exception when host platform is unsupported' do
|
|
818
818
|
platform = Object.new()
|
|
@@ -823,7 +823,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
823
823
|
allow( subject ).to receive( :options ).and_return( {} )
|
|
824
824
|
|
|
825
825
|
expect{
|
|
826
|
-
subject.
|
|
826
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
827
827
|
}.to raise_error(RuntimeError, /No repository installation step for/)
|
|
828
828
|
end
|
|
829
829
|
|
|
@@ -839,7 +839,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
839
839
|
expect(subject).to receive(:scp_to).once.with(host, /-agent-/, "/root")
|
|
840
840
|
expect(subject).to receive(:on).once.with(host, /rpm\ -ivh/)
|
|
841
841
|
|
|
842
|
-
subject.
|
|
842
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
843
843
|
end
|
|
844
844
|
|
|
845
845
|
it 'runs the correct install for debian-based platforms' do
|
|
@@ -855,7 +855,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
855
855
|
expect(subject).to receive(:on).ordered.with(host, /dpkg\ -i\ --force-all/)
|
|
856
856
|
expect(subject).to receive(:on).ordered.with(host, /apt-get\ update/)
|
|
857
857
|
|
|
858
|
-
subject.
|
|
858
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
859
859
|
end
|
|
860
860
|
|
|
861
861
|
it 'runs the correct install for windows platforms' do
|
|
@@ -874,7 +874,48 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
874
874
|
expect(subject).to receive(:install_msi_on).with(host, copied_path, {}, {:debug => nil}).once
|
|
875
875
|
expect(subject).to receive(:on).ordered.with(host, /echo/).and_return(mock_echo)
|
|
876
876
|
|
|
877
|
-
subject.
|
|
877
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
878
|
+
end
|
|
879
|
+
|
|
880
|
+
it 'runs the correct install for osx platforms (new link format)' do
|
|
881
|
+
platform = Object.new()
|
|
882
|
+
allow(platform).to receive(:to_array) { ['osx', '10.9', 'x86_64', 'mavericks']}
|
|
883
|
+
host = basic_hosts.first
|
|
884
|
+
host['platform'] = platform
|
|
885
|
+
opts = { :version => '0.1.0' }
|
|
886
|
+
allow( subject ).to receive( :options ).and_return( {} )
|
|
887
|
+
copied_path = "#{win_temp}\\puppet-agent-x64.msi"
|
|
888
|
+
mock_echo = Object.new()
|
|
889
|
+
allow( mock_echo ).to receive( :raw_output ).and_return( copied_path )
|
|
890
|
+
|
|
891
|
+
expect(subject).to receive(:link_exists?).with(/\/puppet-agent\/0.1.0\/repos\/apple\/10.9\/PC1\/x86_64\//).and_return(true)
|
|
892
|
+
expect(subject).to receive(:fetch_http_file).once.with(/\/apple\/10.9\/PC1\/x86_64$/, 'puppet-agent-0.1.0-1.mavericks.dmg', /\/osx$/)
|
|
893
|
+
expect(subject).to receive(:scp_to).once.with(host, /\/puppet-agent-0.1.0-1.mavericks.dmg$/, /var\/root/)
|
|
894
|
+
expect(host).to receive( :install_package ).with(/puppet-agent-0.1.0\*/)
|
|
895
|
+
|
|
896
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
897
|
+
|
|
898
|
+
end
|
|
899
|
+
|
|
900
|
+
it 'runs the correct install for osx platforms (old link format)' do
|
|
901
|
+
platform = Object.new()
|
|
902
|
+
allow(platform).to receive(:to_array) { ['osx', '10.9', 'x86_64', 'mavericks']}
|
|
903
|
+
host = basic_hosts.first
|
|
904
|
+
host['platform'] = platform
|
|
905
|
+
opts = { :version => '0.1.0' }
|
|
906
|
+
allow( subject ).to receive( :options ).and_return( {} )
|
|
907
|
+
copied_path = "#{win_temp}\\puppet-agent-x64.msi"
|
|
908
|
+
mock_echo = Object.new()
|
|
909
|
+
allow( mock_echo ).to receive( :raw_output ).and_return( copied_path )
|
|
910
|
+
|
|
911
|
+
expect(subject).to receive(:link_exists?).with(/\/puppet-agent\/0.1.0\/repos\/apple\/10.9\/PC1\/x86_64\//).and_return(false)
|
|
912
|
+
expect(subject).to receive(:fetch_http_file).once.with(/\/puppet-agent\/0.1.0\/repos\/apple\/PC1$/, 'puppet-agent-0.1.0-osx-10.9-x86_64.dmg', /\/osx$/)
|
|
913
|
+
expect(subject).to receive(:scp_to).once.with(host, /\/puppet-agent-0.1.0-osx-10.9-x86_64.dmg$/, /var\/root/)
|
|
914
|
+
expect(host).to receive( :install_package ).with(/puppet-agent-0.1.0\*/)
|
|
915
|
+
|
|
916
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
917
|
+
|
|
918
|
+
|
|
878
919
|
end
|
|
879
920
|
|
|
880
921
|
it 'allows you to override the local copy directory' do
|
|
@@ -890,7 +931,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
890
931
|
expect(subject).to receive(:on).ordered.with(host, /dpkg\ -i\ --force-all/)
|
|
891
932
|
expect(subject).to receive(:on).ordered.with(host, /apt-get\ update/)
|
|
892
933
|
|
|
893
|
-
subject.
|
|
934
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
894
935
|
end
|
|
895
936
|
|
|
896
937
|
it 'allows you to override the external copy directory' do
|
|
@@ -906,7 +947,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
906
947
|
expect(subject).to receive(:on).ordered.with(host, /dpkg\ -i\ --force-all/)
|
|
907
948
|
expect(subject).to receive(:on).ordered.with(host, /apt-get\ update/)
|
|
908
949
|
|
|
909
|
-
subject.
|
|
950
|
+
subject.install_puppet_agent_dev_repo_on( host, opts )
|
|
910
951
|
end
|
|
911
952
|
end
|
|
912
953
|
|
|
@@ -991,6 +1032,75 @@ describe ClassMixedWithDSLInstallUtils do
|
|
|
991
1032
|
end
|
|
992
1033
|
end
|
|
993
1034
|
|
|
1035
|
+
describe '#install_puppet_agent_dev_repo_on' do
|
|
1036
|
+
let( :package_name ) { 'puppet-agent' }
|
|
1037
|
+
let( :platform ) { @platform || 'other' }
|
|
1038
|
+
let( :host ) do
|
|
1039
|
+
FakeHost.create( 'fakvm', platform, opts )
|
|
1040
|
+
end
|
|
1041
|
+
|
|
1042
|
+
before :each do
|
|
1043
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
|
1044
|
+
end
|
|
1045
|
+
|
|
1046
|
+
def test_fetch_http_file()
|
|
1047
|
+
expect( subject ).to receive( :configure_type_defaults_on ).with(host)
|
|
1048
|
+
expect( subject ).to receive( :fetch_http_file ).with( /[^\/]\z/, anything, anything )
|
|
1049
|
+
subject.install_puppet_agent_dev_repo_on( host, opts.merge({ :puppet_agent_version => '1.0.0' }) )
|
|
1050
|
+
end
|
|
1051
|
+
|
|
1052
|
+
context 'on windows' do
|
|
1053
|
+
before :each do
|
|
1054
|
+
@platform = 'windows-7-x86_64'
|
|
1055
|
+
end
|
|
1056
|
+
|
|
1057
|
+
it 'copies package to the cygwin root directory and installs it' do
|
|
1058
|
+
expect( subject ).to receive( :install_msi_on ).with( any_args )
|
|
1059
|
+
expect( subject ).to receive( :scp_to ).with( host, /puppet-agent-x86\.msi/, '`cygpath -smF 35`/' )
|
|
1060
|
+
test_fetch_http_file
|
|
1061
|
+
end
|
|
1062
|
+
end
|
|
1063
|
+
|
|
1064
|
+
context 'on debian' do
|
|
1065
|
+
before :each do
|
|
1066
|
+
@platform = 'debian-5-x86_64'
|
|
1067
|
+
end
|
|
1068
|
+
|
|
1069
|
+
it 'copies repo_config to the root user directory and installs it' do
|
|
1070
|
+
expect( subject ).to receive( :scp_to ).with( host, /\/puppet-agent_1\.0\.0-1_amd64\.deb/, '/root' )
|
|
1071
|
+
expect( subject ).to receive( :on ).with( host, /dpkg -i --force-all .+puppet-agent_1\.0\.0-1_amd64\.deb/ )
|
|
1072
|
+
expect( subject ).to receive( :on ).with( host, /apt-get update/ )
|
|
1073
|
+
test_fetch_http_file
|
|
1074
|
+
end
|
|
1075
|
+
end
|
|
1076
|
+
|
|
1077
|
+
context 'on solaris 10' do
|
|
1078
|
+
before :each do
|
|
1079
|
+
@platform = 'solaris-10-x86_64'
|
|
1080
|
+
end
|
|
1081
|
+
|
|
1082
|
+
it "copies package to the root directory and installs it" do
|
|
1083
|
+
expect( subject ).to receive( :scp_to ).with( host, /\/puppet-agent-1\.0\.0\.i386\.pkg\.gz/, '/' )
|
|
1084
|
+
expect( subject ).to receive( :create_remote_file ).with( host, '/noask', /noask file/m )
|
|
1085
|
+
expect( subject ).to receive( :on ).with( host, 'gunzip -c puppet-agent-1.0.0.i386.pkg.gz | pkgadd -d /dev/stdin -a noask -n all' )
|
|
1086
|
+
test_fetch_http_file
|
|
1087
|
+
end
|
|
1088
|
+
end
|
|
1089
|
+
|
|
1090
|
+
context 'on solaris 11' do
|
|
1091
|
+
before :each do
|
|
1092
|
+
@platform = 'solaris-11-x86_64'
|
|
1093
|
+
end
|
|
1094
|
+
|
|
1095
|
+
it "copies package to the root user directory and installs it" do
|
|
1096
|
+
expect( subject ).to receive( :scp_to ).with( host, /\/puppet-agent-1\.0\.0\.i386\.pkg\.gz/, '/root' )
|
|
1097
|
+
expect( subject ).to receive( :create_remote_file ).with( host, '/root/noask', /noask file/m )
|
|
1098
|
+
expect( subject ).to receive( :on ).with( host, 'gunzip -c puppet-agent-1.0.0.i386.pkg.gz | pkgadd -d /dev/stdin -a noask -n all' )
|
|
1099
|
+
test_fetch_http_file
|
|
1100
|
+
end
|
|
1101
|
+
end
|
|
1102
|
+
end
|
|
1103
|
+
|
|
994
1104
|
describe '#install_puppet_agent_pe_promoted_repo_on' do
|
|
995
1105
|
let( :package_name ) { 'puppet-agent' }
|
|
996
1106
|
let( :platform ) { @platform || 'other' }
|
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.22.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-
|
|
11
|
+
date: 2015-09-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
@@ -521,6 +521,7 @@ files:
|
|
|
521
521
|
- lib/beaker/hypervisor/fusion.rb
|
|
522
522
|
- lib/beaker/hypervisor/google_compute.rb
|
|
523
523
|
- lib/beaker/hypervisor/google_compute_helper.rb
|
|
524
|
+
- lib/beaker/hypervisor/noop.rb
|
|
524
525
|
- lib/beaker/hypervisor/openstack.rb
|
|
525
526
|
- lib/beaker/hypervisor/solaris.rb
|
|
526
527
|
- lib/beaker/hypervisor/vagrant.rb
|