beaker-puppet 1.0.1 → 1.1.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 +4 -4
- data/lib/beaker-puppet/install_utils/foss_utils.rb +1 -1
- data/lib/beaker-puppet/install_utils/puppet_utils.rb +14 -0
- data/lib/beaker-puppet/version.rb +1 -1
- data/spec/beaker-puppet/install_utils/foss_utils_spec.rb +56 -6
- data/spec/beaker-puppet/install_utils/puppet_utils_spec.rb +16 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0c098df759909b2d7139e23776333e7f7da342c
|
4
|
+
data.tar.gz: ba69889bd92bbe1d47b7a5e0fe16b844aa7ad7b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49299bd7b7715c3e50d0aaf79397c5add2a29dca58b76284266e5f2b8d4447532784abe943ca4013b77bd5533316385ee323ec3680fa2e0c1f257209986bd49e
|
7
|
+
data.tar.gz: 50e8a96e4e5ebf3951aaf823436999374e18229b6359900a000c7fd1b4881234a1e3a4c9af8c8d1abbbc9bb2968e59d637597aacf050afea8f87d4b1f1c140f2
|
@@ -1293,7 +1293,7 @@ module Beaker
|
|
1293
1293
|
opts[:download_url] = "#{opts[:pe_promoted_builds_url]}/puppet-agent/#{ pe_ver }/#{ opts[:puppet_agent_version] }/repos"
|
1294
1294
|
opts[:copy_base_local] ||= File.join('tmp', 'repo_configs')
|
1295
1295
|
opts[:copy_dir_external] ||= host.external_copy_base
|
1296
|
-
opts[:puppet_collection] ||=
|
1296
|
+
opts[:puppet_collection] ||= get_puppet_collection(opts[:puppet_agent_version])
|
1297
1297
|
add_role(host, 'aio') #we are installing agent, so we want aio role
|
1298
1298
|
release_path = opts[:download_url]
|
1299
1299
|
variant, version, arch, codename = host['platform'].to_array
|
@@ -72,6 +72,20 @@ module Beaker
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
+
#Given an agent_version, return the puppet collection associated with that agent version
|
76
|
+
#@param [String] agent_version version string or 'latest'
|
77
|
+
def get_puppet_collection(agent_version = 'latest')
|
78
|
+
collection = "PC1"
|
79
|
+
if agent_version != 'latest'
|
80
|
+
if ! version_is_less( agent_version, "5.5.4") and version_is_less(agent_version, "5.99")
|
81
|
+
collection = "puppet5"
|
82
|
+
elsif ! version_is_less( agent_version, "5.99")
|
83
|
+
collection = "puppet6"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
collection
|
87
|
+
end
|
88
|
+
|
75
89
|
#Configure the provided hosts to be of the provided type (one of foss, aio, pe), if the host
|
76
90
|
#is already associated with a type then remove the previous settings for that type
|
77
91
|
# @param [Host, Array<Host>, String, Symbol] hosts One or more hosts to act upon,
|
@@ -955,12 +955,6 @@ describe ClassMixedWithDSLInstallUtils do
|
|
955
955
|
expect( host['dist'] ).to be == "puppet-agent-VERSION-x64"
|
956
956
|
|
957
957
|
end
|
958
|
-
end
|
959
|
-
|
960
|
-
describe '#install_puppet_agent_pe_promoted_repo_on' do
|
961
|
-
|
962
|
-
|
963
|
-
|
964
958
|
end
|
965
959
|
|
966
960
|
describe '#install_cert_on_windows' do
|
@@ -1353,6 +1347,62 @@ describe ClassMixedWithDSLInstallUtils do
|
|
1353
1347
|
it 'calls fetch_http_file with no ending slash' do
|
1354
1348
|
test_fetch_http_file_no_ending_slash( 'debian-5-x86_64' )
|
1355
1349
|
end
|
1350
|
+
|
1351
|
+
context 'when setting different agent versions' do
|
1352
|
+
let( :host ) { basic_hosts.first }
|
1353
|
+
let( :platform ) { Object.new() }
|
1354
|
+
let( :downloadurl ) { 'http://pm.puppetlabs.com' }
|
1355
|
+
before :each do
|
1356
|
+
allow( platform ).to receive( :to_array ) { ['el', '6', 'x4'] }
|
1357
|
+
allow( subject ).to receive( :options ).and_return( opts )
|
1358
|
+
allow( subject ).to receive( :scp_to )
|
1359
|
+
allow( subject ).to receive( :configure_type_defaults_on ).with( host )
|
1360
|
+
end
|
1361
|
+
|
1362
|
+
it 'sets correct file paths when agent version is set to latest' do
|
1363
|
+
host['platform'] = platform
|
1364
|
+
agentversion = 'latest'
|
1365
|
+
collection = 'PC1'
|
1366
|
+
opts = { :puppet_agent_version => "#{agentversion}" , :pe_promoted_builds_url => "#{downloadurl}" }
|
1367
|
+
|
1368
|
+
expect( subject ).to receive( :fetch_http_file ).once.with( /pm\.puppetlabs\.com\/puppet-agent\/.*\/#{agentversion}\/repos/, /puppet-agent-el-6*/, /\/el$/ )
|
1369
|
+
expect( host).to receive( :pe_puppet_agent_promoted_package_install ).with( anything, /puppet-agent-el-6*/, /.*\/el\/6\/#{collection}\/.*rpm/, /puppet-agent-el-6/, anything )
|
1370
|
+
subject.install_puppet_agent_pe_promoted_repo_on( host, opts )
|
1371
|
+
end
|
1372
|
+
|
1373
|
+
it 'sets correct file paths for agent version < 5.5.4' do
|
1374
|
+
host['platform'] = platform
|
1375
|
+
agentversion = '5.3.3'
|
1376
|
+
collection = 'PC1'
|
1377
|
+
opts = { :puppet_agent_version => "#{agentversion}" , :pe_promoted_builds_url => "#{downloadurl}"}
|
1378
|
+
|
1379
|
+
expect( subject ).to receive( :fetch_http_file ).once.with( /pm\.puppetlabs\.com\/puppet-agent\/.*\/#{agentversion}\/repos/, /puppet-agent-el-6*/, /\/el$/ )
|
1380
|
+
expect( host).to receive( :pe_puppet_agent_promoted_package_install ).with( anything, /puppet-agent-el-6*/, /.*\/el\/6\/#{collection}\/.*rpm/, /puppet-agent-el-6/, anything )
|
1381
|
+
subject.install_puppet_agent_pe_promoted_repo_on( host, opts )
|
1382
|
+
end
|
1383
|
+
|
1384
|
+
it 'sets correct file paths for agent version >= 5.5.4' do
|
1385
|
+
host['platform'] = platform
|
1386
|
+
agentversion = '5.5.4'
|
1387
|
+
collection = 'puppet5'
|
1388
|
+
opts = { :puppet_agent_version => "#{agentversion}" , :pe_promoted_builds_url => "#{downloadurl}"}
|
1389
|
+
|
1390
|
+
expect( subject ).to receive( :fetch_http_file ).once.with( /pm\.puppetlabs\.com\/puppet-agent\/.*\/#{agentversion}\/repos/, /puppet-agent-el-6*/, /\/el$/ )
|
1391
|
+
expect( host).to receive( :pe_puppet_agent_promoted_package_install ).with( anything, /puppet-agent-el-6*/, /.*\/el\/6\/#{collection}\/.*rpm/, /puppet-agent-el-6/, anything )
|
1392
|
+
subject.install_puppet_agent_pe_promoted_repo_on( host, opts )
|
1393
|
+
end
|
1394
|
+
|
1395
|
+
it 'sets correct file paths for agent version > 5.99' do
|
1396
|
+
host['platform'] = platform
|
1397
|
+
agentversion = '6.0'
|
1398
|
+
collection = 'puppet6'
|
1399
|
+
opts = { :puppet_agent_version => "#{agentversion}" , :pe_promoted_builds_url => "#{downloadurl}"}
|
1400
|
+
|
1401
|
+
expect( subject ).to receive( :fetch_http_file ).once.with( /pm\.puppetlabs\.com\/puppet-agent\/.*\/#{agentversion}\/repos/, /puppet-agent-el-6*/, /\/el$/ )
|
1402
|
+
expect( host).to receive( :pe_puppet_agent_promoted_package_install ).with( anything, /puppet-agent-el-6*/, /.*\/el\/6\/#{collection}\/.*rpm/, /puppet-agent-el-6/, anything )
|
1403
|
+
subject.install_puppet_agent_pe_promoted_repo_on( host, opts )
|
1404
|
+
end
|
1405
|
+
end
|
1356
1406
|
end
|
1357
1407
|
|
1358
1408
|
describe '#remove_puppet_on' do
|
@@ -136,4 +136,20 @@ describe ClassMixedWithDSLInstallUtils do
|
|
136
136
|
end
|
137
137
|
|
138
138
|
end
|
139
|
+
|
140
|
+
describe "get_puppet_collection" do
|
141
|
+
it "receives agent_version 'latest' and return collection 'PC1'" do
|
142
|
+
expect(subject.get_puppet_collection('latest')).to eq('PC1')
|
143
|
+
end
|
144
|
+
it "receives agent_version between 5.5.4 and 5.99 and return collection 'puppet5'" do
|
145
|
+
expect(subject.get_puppet_collection('5.5.4')).to eq('puppet5')
|
146
|
+
end
|
147
|
+
it "receives agent_version greater than 5.99 and return collection 'puppet6'" do
|
148
|
+
expect(subject.get_puppet_collection('6.0')).to eq('puppet6')
|
149
|
+
end
|
150
|
+
it "receives agent_version less than 5.5.4 and return collection 'PC1'" do
|
151
|
+
expect(subject.get_puppet_collection('3.0')).to eq('PC1')
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
139
155
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|