beaker-puppet 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmFlNjQ0ODQxODBjZGU3ZGMzZTEyNThkNjk5MzIxNGJiMWFhOTBiZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGVhYWFhYzNjNGMyMjM0ZDBlNTRiZDEwNjM2NGIzNjgyNjE3NjMzZg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NDExMDZiODg5OWFiZDlhNWJiMzJjMjNhZjhlYWRiMDQxNTNhM2Q3NDUyNDRk
|
10
|
+
NTYzZjgxOTJkMWJhMWJhYzJmZDc2Y2JlNzk0NjcyNDNjNDYwMDhkNmYxNGZk
|
11
|
+
OWZjNTVkOGU4YTI2NWJjOTY3YWMwMjkxNmU2NzY5MmY1MWNkNmQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTQ3MzE2MDRhZTAzZDIxN2Y0ZjJmZDAyZDEzODZmMTM0Njk3YmNjOGI0NWYx
|
14
|
+
ZTg2NzY3ZmU0OTljYjBjMmI0YjUyMzZmNzBjNmM1NjQyOWVlMTRhYzcwNDE5
|
15
|
+
YTNlMTkxMWQ2NTkzMGEzYjk5YjI2Y2RiZjFjMzU5MGZmZjVhZDE=
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -53,3 +53,6 @@ file, or you can provide a beaker-hostgenerator value to the `TEST_TARGET`
|
|
53
53
|
environment variable. You can also specify the tests that get executed with the
|
54
54
|
`TESTS` environment variable.
|
55
55
|
|
56
|
+
# Contributing
|
57
|
+
|
58
|
+
Please refer to puppetlabs/beaker's [contributing](https://github.com/puppetlabs/beaker/blob/master/CONTRIBUTING.md) guide.
|
@@ -438,7 +438,9 @@ module Beaker
|
|
438
438
|
# @api private
|
439
439
|
def install_puppet_from_rpm_on( hosts, opts )
|
440
440
|
block_on hosts do |host|
|
441
|
-
if
|
441
|
+
if opts[:puppet_collection] && opts[:puppet_collection].match(/puppet\d*/)
|
442
|
+
install_puppetlabs_release_repo(host,opts[:puppet_collection],opts)
|
443
|
+
elsif host[:type] == 'aio'
|
442
444
|
install_puppetlabs_release_repo(host,'pc1',opts)
|
443
445
|
else
|
444
446
|
install_puppetlabs_release_repo(host,nil,opts)
|
@@ -590,14 +592,22 @@ module Beaker
|
|
590
592
|
end
|
591
593
|
|
592
594
|
# @api private
|
593
|
-
def
|
594
|
-
|
595
|
+
def msi_link_path(host, opts)
|
596
|
+
if opts[:puppet_collection] && opts[:puppet_collection].match(/puppet\d*/)
|
597
|
+
link = "#{opts[:win_download_url]}/#{opts[:puppet_collection]}/#{host['dist']}.msi"
|
598
|
+
else
|
595
599
|
link = "#{opts[:win_download_url]}/#{host['dist']}.msi"
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
+
end
|
601
|
+
if not link_exists?( link )
|
602
|
+
raise "Puppet MSI at #{link} does not exist!"
|
603
|
+
end
|
604
|
+
link
|
605
|
+
end
|
600
606
|
|
607
|
+
# @api private
|
608
|
+
def install_a_puppet_msi_on(hosts, opts)
|
609
|
+
block_on hosts do |host|
|
610
|
+
link = msi_link_path(host, opts)
|
601
611
|
msi_download_path = "#{host.system_temp_path}\\#{host['dist']}.msi"
|
602
612
|
|
603
613
|
if host.is_cygwin?
|
@@ -709,14 +719,18 @@ module Beaker
|
|
709
719
|
# @api private
|
710
720
|
def install_puppet_agent_from_dmg_on(hosts, opts)
|
711
721
|
opts[:puppet_collection] ||= 'PC1'
|
712
|
-
opts[:puppet_collection] = opts[:puppet_collection].upcase
|
722
|
+
opts[:puppet_collection] = opts[:puppet_collection].upcase if opts[:puppet_collection].match(/pc1/i)
|
713
723
|
block_on hosts do |host|
|
714
724
|
|
715
725
|
add_role(host, 'aio') #we are installing agent, so we want aio role
|
716
726
|
|
717
727
|
variant, version, arch, codename = host['platform'].to_array
|
718
728
|
|
719
|
-
|
729
|
+
if opts[:puppet_collection].match(/puppet\d*/)
|
730
|
+
download_url = "#{opts[:mac_download_url]}/#{opts[:puppet_collection]}/#{version}/#{arch}"
|
731
|
+
else
|
732
|
+
download_url = "#{opts[:mac_download_url]}/#{version}/#{opts[:puppet_collection]}/#{arch}"
|
733
|
+
end
|
720
734
|
|
721
735
|
latest = get_latest_puppet_agent_build_from_url(download_url)
|
722
736
|
|
@@ -913,7 +927,7 @@ module Beaker
|
|
913
927
|
def install_puppetlabs_release_repo_on( hosts, repo = nil, opts = options )
|
914
928
|
block_on hosts do |host|
|
915
929
|
variant, version, arch, codename = host['platform'].to_array
|
916
|
-
repo_name = repo
|
930
|
+
repo_name = repo || opts[:puppet_collection] || ''
|
917
931
|
opts = FOSS_DEFAULT_DOWNLOAD_URLS.merge(opts)
|
918
932
|
|
919
933
|
case variant
|
@@ -927,8 +941,14 @@ module Beaker
|
|
927
941
|
variant_url_value = 'cisco-wrlinux'
|
928
942
|
version = '7'
|
929
943
|
end
|
930
|
-
|
931
|
-
|
944
|
+
if repo_name.match(/puppet\d*/)
|
945
|
+
remote = "%s/%s/%s-release-%s-%s.noarch.rpm" %
|
946
|
+
[opts[:release_yum_repo_url], repo_name, repo_name, variant_url_value, version]
|
947
|
+
else
|
948
|
+
repo_name = '-' + repo_name unless repo_name.empty?
|
949
|
+
remote = "%s/puppetlabs-release%s-%s-%s.noarch.rpm" %
|
950
|
+
[opts[:release_yum_repo_url], repo_name, variant_url_value, version]
|
951
|
+
end
|
932
952
|
|
933
953
|
if variant == 'cisco_nexus'
|
934
954
|
# cisco nexus requires using yum to install the repo
|
@@ -943,7 +963,12 @@ module Beaker
|
|
943
963
|
end
|
944
964
|
|
945
965
|
when /^(debian|ubuntu|cumulus|huaweios)$/
|
946
|
-
|
966
|
+
if repo_name.match(/puppet\d*/)
|
967
|
+
deb = "%s-release-%s.deb" % [repo_name, codename]
|
968
|
+
else
|
969
|
+
repo_name = '-' + repo_name unless repo_name.empty?
|
970
|
+
deb = "puppetlabs-release%s-%s.deb" % [repo_name, codename]
|
971
|
+
end
|
947
972
|
|
948
973
|
remote = URI.join( opts[:release_apt_repo_url], deb )
|
949
974
|
|
@@ -270,6 +270,12 @@ describe ClassMixedWithDSLInstallUtils do
|
|
270
270
|
end
|
271
271
|
|
272
272
|
context 'install_puppet_from_rpm_on' do
|
273
|
+
it 'installs puppet release repo when set' do
|
274
|
+
expect(subject).to receive(:install_puppetlabs_release_repo).with(el6hostaio,'puppet',{:puppet_collection => 'puppet'})
|
275
|
+
|
276
|
+
subject.install_puppet_from_rpm_on( el6hostaio, {:puppet_collection => 'puppet'} )
|
277
|
+
end
|
278
|
+
|
273
279
|
it 'installs PC1 release repo when AIO' do
|
274
280
|
expect(subject).to receive(:install_puppetlabs_release_repo).with(el6hostaio,'pc1',{})
|
275
281
|
|
@@ -688,6 +694,55 @@ describe ClassMixedWithDSLInstallUtils do
|
|
688
694
|
allow( subject ).to receive( :options ) { opts }
|
689
695
|
end
|
690
696
|
|
697
|
+
context 'on el 7' do
|
698
|
+
let( :platform ) { Beaker::Platform.new( 'el-7-x86_64' ) }
|
699
|
+
it 'returns the correct url when repo is set to puppet8' do
|
700
|
+
expect( host ).to receive( :install_package_with_rpm ).with( /puppet8\/puppet8-release-el-7\.noarch\.rpm$/, '--replacepkgs', {:package_proxy=>false} )
|
701
|
+
subject.install_puppetlabs_release_repo_on( host, 'puppet8')
|
702
|
+
end
|
703
|
+
it 'returns the correct url when opts[:puppet_collection] is set to puppet14' do
|
704
|
+
expect( host ).to receive( :install_package_with_rpm ).with( /puppet14\/puppet14-release-el-7\.noarch\.rpm$/, '--replacepkgs', {:package_proxy=>false} )
|
705
|
+
subject.install_puppetlabs_release_repo_on( host, nil, {:puppet_collection => 'puppet14'})
|
706
|
+
end
|
707
|
+
it 'returns the correct url when both repo and opts[:puppet_collection] are nil' do
|
708
|
+
expect( host ).to receive( :install_package_with_rpm ).with( /puppetlabs-release-el-7\.noarch\.rpm$/, '--replacepkgs', {:package_proxy=>false} )
|
709
|
+
subject.install_puppetlabs_release_repo_on( host )
|
710
|
+
end
|
711
|
+
it 'returns the correct url when repo is set to pc1' do
|
712
|
+
expect( host ).to receive( :install_package_with_rpm ).with( /puppetlabs-release-pc1-el-7\.noarch\.rpm$/, '--replacepkgs', {:package_proxy=>false} )
|
713
|
+
subject.install_puppetlabs_release_repo_on( host, 'pc1' )
|
714
|
+
end
|
715
|
+
end
|
716
|
+
|
717
|
+
context 'on debian 8' do
|
718
|
+
let( :platform ) { Beaker::Platform.new( 'debian-8-i386' ) }
|
719
|
+
it 'returns the correct url when repo is set to puppet4' do
|
720
|
+
expect( subject ).to receive( :on ).with( host, /puppet4-release-jessie\.deb$/ ).once
|
721
|
+
expect( subject ).to receive( :on ).with( host, "dpkg -i --force-all /tmp/puppet.deb" ).once
|
722
|
+
expect( subject ).to receive( :on ).with( host, "apt-get update" ).once
|
723
|
+
subject.install_puppetlabs_release_repo_on( host, 'puppet4' )
|
724
|
+
end
|
725
|
+
it 'returns the correct url when opts[:puppet_collection] is set to puppet7' do
|
726
|
+
expect( subject ).to receive( :on ).with( host, /puppet7-release-jessie\.deb$/ ).once
|
727
|
+
expect( subject ).to receive( :on ).with( host, "dpkg -i --force-all /tmp/puppet.deb" ).once
|
728
|
+
expect( subject ).to receive( :on ).with( host, "apt-get update" ).once
|
729
|
+
subject.install_puppetlabs_release_repo_on( host, nil, {:puppet_collection => 'puppet7'} )
|
730
|
+
end
|
731
|
+
it 'returns the correct url when both repo and opts[:puppet_collection] are nil' do
|
732
|
+
expect( subject ).to receive( :on ).with( host, /puppetlabs-release-jessie\.deb$/ ).once
|
733
|
+
expect( subject ).to receive( :on ).with( host, "dpkg -i --force-all /tmp/puppet.deb" ).once
|
734
|
+
expect( subject ).to receive( :on ).with( host, "apt-get update" ).once
|
735
|
+
subject.install_puppetlabs_release_repo_on( host )
|
736
|
+
end
|
737
|
+
it 'returns the correct url when both repo is set to pc1' do
|
738
|
+
expect( subject ).to receive( :on ).with( host, /puppetlabs-release-pc1-jessie\.deb$/ ).once
|
739
|
+
expect( subject ).to receive( :on ).with( host, "dpkg -i --force-all /tmp/puppet.deb" ).once
|
740
|
+
expect( subject ).to receive( :on ).with( host, "apt-get update" ).once
|
741
|
+
subject.install_puppetlabs_release_repo_on( host, 'pc1' )
|
742
|
+
end
|
743
|
+
end
|
744
|
+
|
745
|
+
|
691
746
|
context 'on cisco platforms' do
|
692
747
|
context 'version 5' do
|
693
748
|
let( :platform ) { Beaker::Platform.new( 'cisco_nexus-7-x86_64' ) }
|
@@ -817,19 +872,36 @@ describe ClassMixedWithDSLInstallUtils do
|
|
817
872
|
|
818
873
|
end
|
819
874
|
|
820
|
-
describe '#
|
875
|
+
describe '#msi_link_path' do
|
821
876
|
let( :opts ) { { :puppet_agent_version => 'VERSION', :win_download_url => 'http://downloads.puppetlabs.com/windows' } }
|
822
877
|
let( :platform ) { 'windows' }
|
823
|
-
let( :host ) { { :platform => platform } }
|
878
|
+
let( :host ) { { :platform => platform, 'dist' => 'puppet-agent-VERSION-x64' } }
|
879
|
+
|
880
|
+
it 'returns the right link when puppet collection is set' do
|
881
|
+
allow(subject).to receive(:link_exists?).with(anything()).and_return( true )
|
882
|
+
|
883
|
+
expect(subject.msi_link_path( host, opts.merge({:puppet_collection => 'puppet'}) )).to eq "#{opts[:win_download_url]}/puppet/puppet-agent-VERSION-x64.msi"
|
884
|
+
end
|
885
|
+
|
886
|
+
it 'returns the right link when puppet collection is not set' do
|
887
|
+
expect(subject).to receive(:link_exists?).with(anything()).and_return( true )
|
888
|
+
|
889
|
+
expect(subject.msi_link_path( host, opts )).to eq "#{opts[:win_download_url]}/puppet-agent-VERSION-x64.msi"
|
890
|
+
end
|
824
891
|
|
825
892
|
it 'returns error when link incorrect' do
|
826
893
|
allow(subject).to receive(:link_exists?).with(anything()).and_return( false )
|
827
|
-
expect( host ).to receive( :is_x86_64? ).and_return( true )
|
828
894
|
|
829
895
|
expect{
|
830
|
-
subject.
|
896
|
+
subject.msi_link_path( host, opts )
|
831
897
|
}.to raise_error(RuntimeError, /Puppet MSI at http:\/\/downloads.puppetlabs.com\/windows\/puppet-agent-VERSION-x64.msi does not exist!/)
|
832
898
|
end
|
899
|
+
end
|
900
|
+
|
901
|
+
describe '#install_puppet_agent_from_msi_on' do
|
902
|
+
let( :opts ) { { :puppet_agent_version => 'VERSION', :win_download_url => 'http://downloads.puppetlabs.com/windows' } }
|
903
|
+
let( :platform ) { 'windows' }
|
904
|
+
let( :host ) { { :platform => platform } }
|
833
905
|
|
834
906
|
it 'uses x86 msi when host is_x86_64 and install_32 is set on the host' do
|
835
907
|
host['install_32'] = true
|
@@ -240,7 +240,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
240
240
|
allow( subject ).to receive( :install_artifact_on )
|
241
241
|
|
242
242
|
expect( subject ).to receive( :configure_type_defaults_on ).with( hosts[0] ).once
|
243
|
-
subject.install_from_build_data_url( 'project_name', 'project_sha',
|
243
|
+
subject.install_from_build_data_url( 'project_name', 'project_sha', hosts[0] )
|
244
244
|
end
|
245
245
|
|
246
246
|
it 'calls #configure_type_defaults_on custom array of hosts if set' do
|
@@ -250,7 +250,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
250
250
|
|
251
251
|
custom_host_list = hosts.sample(1 + rand(hosts.count))
|
252
252
|
|
253
|
-
custom_host_list do |host|
|
253
|
+
custom_host_list.each do |host|
|
254
254
|
expect( subject ).to receive( :configure_type_defaults_on ).with( host ).once
|
255
255
|
end
|
256
256
|
subject.install_from_build_data_url( 'project_name', 'project_sha', custom_host_list )
|
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: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|