beaker-puppet 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|