beaker-puppet 0.5.0 → 0.6.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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTY2MTE4NTMxZTBmZjRjMmM2ZmJjMGE0N2NmZjUyZTIxMzU2ZmEyZQ==
4
+ ODMyNzY5MjBiMWEyNGVmZTUyZmQzMWEyNjZkMjIzYTAzNDdmYjdmNQ==
5
5
  data.tar.gz: !binary |-
6
- MGJhNmFmZmRlMmE2YzM0NTM0MmY5NWY1MTYyYTk4NjM0NmYyY2M4Mw==
6
+ NzVkNmJmZmI0ZTczZmVmYWQ3MTgzOGJkZGJmNTBhZTk4OThlMmI5Zg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzYzMTgxMWU1NTUxNDZkN2FiNjA0MTU0ZTVhYjFiMmQyYmM3MDY1ZTY0OWQw
10
- ZDAxNjQ4ZTJjN2Y5MjE3MjRkNzU3N2IwOTJjODYwM2Y5MWY5ZmM1NjQ5NzNm
11
- OTVjMGRjNTQ4NmEwYjIyODc3OTJkOTdhOGY3NGQzMWVhZDhlNmI=
9
+ NDE4ZWYyZjE3NmYxNWJhMWQ1YzE4YTFjZDczZGI4MzA4NGJmM2JkZDExMDJm
10
+ ZjI5ODM1M2RhMWE0OTIzMWE0MDhhMzBiMWViNmQ0NzZhZjA5NjYzZWFmYWQz
11
+ MGZkZTgwOTBkZjg2OWRiMWVkOWI0MzJhYWE0ZGQ0ZDZiZmE1ZGQ=
12
12
  data.tar.gz: !binary |-
13
- MmYyYTZjZTk1MTZkNTU4MjMxNDI2MmFmNzg0NGFhMzlkYmY0ZDY4MmI4ZTU3
14
- ZWRhNzBjMGQ4ODc3MWFkMzY2YzgyNWFmODUyODRkYWNhODEyMjZhZGVlNzg2
15
- MmVjM2VjNDgzZmMzYjI0MTU3YmI5ODRhMzNhZWE5MjViMTZlMmM=
13
+ YzUzN2I1ZTA5MThiMjFkYTNiMzJlNzNlMzIzZDM3ZmMyYjFmMGZlYzljY2Nk
14
+ NzA2ZGNhOTVhM2FiMmQ0Njc0NWFmODZhOTFiMDI0OGRjYTJlYjBmNmYyOWRl
15
+ Y2MxNDgyN2I3ZDI5MTYxN2Q1NDExYWJiZjFiZjkwOWNhOTBiN2E=
data/lib/beaker-puppet.rb CHANGED
@@ -13,6 +13,8 @@ end
13
13
  require "beaker-puppet/helpers/#{lib}_helpers"
14
14
  end
15
15
 
16
+ require 'beaker-puppet/install_utils/puppet5'
17
+
16
18
 
17
19
  module BeakerPuppet
18
20
  module InstallUtils
@@ -23,6 +25,8 @@ module BeakerPuppet
23
25
  include Beaker::DSL::InstallUtils::FOSSUtils
24
26
  include Beaker::DSL::InstallUtils::EZBakeUtils
25
27
  include Beaker::DSL::InstallUtils::ModuleUtils
28
+
29
+ include BeakerPuppet::Install::Puppet5
26
30
  end
27
31
 
28
32
  module Helpers
@@ -427,8 +427,9 @@ module Beaker
427
427
  # by the caller; this can be used for additional
428
428
  # validation, etc.
429
429
  #
430
- # @return [Array<Result>, Result, nil] An array of results, a result object,
431
- # or nil. Check {#run_block_on} for more details on this.
430
+ # @return [Array<Result>, Result, nil] An array of results, a result
431
+ # object, or nil. Check {Beaker::Shared::HostManager#run_block_on} for
432
+ # more details on this.
432
433
  def apply_manifest_on(host, manifest, opts = {}, &block)
433
434
  block_on host, opts do | host |
434
435
  on_options = {}
@@ -972,9 +972,27 @@ module Beaker
972
972
  repo_config_folder_url = "%s/%s/%s/repo_configs/%s/" %
973
973
  [ buildserver_url, package_name, build_version, host.repo_type ]
974
974
 
975
- repo = fetch_http_file( repo_config_folder_url,
976
- repo_filename,
977
- copy_dir )
975
+ repo_config_url = "#{ repo_config_folder_url }/#{ repo_filename }"
976
+ install_repo_configs_from_url( host, repo_config_url, copy_dir )
977
+ end
978
+
979
+ # Installs the repo configs on a given host
980
+ #
981
+ # @param [Beaker::Host] host Host to install configs on
982
+ # @param [String] repo_config_url URL to the repo configs
983
+ # @param [String] copy_dir Local directory to fetch files into & SCP out of
984
+ #
985
+ # @return nil
986
+ def install_repo_configs_from_url(host, repo_config_url, copy_dir = nil)
987
+ copy_dir ||= Dir.mktmpdir
988
+ repoconfig_filename = File.basename( repo_config_url )
989
+ repoconfig_folder = File.dirname( repo_config_url )
990
+
991
+ repo = fetch_http_file(
992
+ repoconfig_folder,
993
+ repoconfig_filename,
994
+ copy_dir
995
+ )
978
996
 
979
997
  if host[:platform] =~ /cisco_nexus/
980
998
  to_path = "#{host.package_config_dir}/#{File.basename(repo)}"
@@ -0,0 +1,171 @@
1
+ require 'beaker/dsl/install_utils/foss_defaults'
2
+
3
+ module BeakerPuppet
4
+ module Install
5
+ module Puppet5
6
+
7
+ include Beaker::DSL::InstallUtils::FOSSDefaults
8
+
9
+ # grab build json from the builds server
10
+ #
11
+ # @param [String] sha_yaml_url URL to the <SHA>.yaml file containing the
12
+ # build details
13
+ #
14
+ # @return [Hash{String=>String}] build json parsed into a ruby hash
15
+ def fetch_build_details(sha_yaml_url)
16
+ dst_folder = Dir.mktmpdir
17
+ sha_yaml_filename = File.basename( sha_yaml_url )
18
+ sha_yaml_folder_url = File.dirname( sha_yaml_url )
19
+
20
+ sha_yaml_file_local_path = fetch_http_file(
21
+ sha_yaml_folder_url,
22
+ sha_yaml_filename,
23
+ dst_folder
24
+ )
25
+ file_hash = YAML.load_file( sha_yaml_file_local_path )
26
+
27
+ logger.debug("YAML HASH BELOW:")
28
+ logger.debug(file_hash)
29
+ logger.debug("PLATFORM_DATA BELOW:")
30
+ logger.debug(file_hash[:platform_data])
31
+ return sha_yaml_folder_url, file_hash[:platform_data]
32
+ end
33
+
34
+ # gets the artifact & repo_config URLs for this host in the build
35
+ #
36
+ # @param [Host] host Host to get artifact URL for
37
+ # @param [Hash] build_details Details of the build in a hash
38
+ # @param [String] build_url URL to the build
39
+ #
40
+ # @return [String, String] URL to the build artifact, URL to the repo_config
41
+ # (nil if there is no repo_config for this platform for this build)
42
+ def host_urls(host, build_details, build_url)
43
+ packaging_platform = host[:packaging_platform]
44
+ if packaging_platform.nil?
45
+ message = <<-EOF
46
+ :packaging_platform not provided for host '#{host}', platform '#{host[:platform]}'
47
+ :packaging_platform should be the platform-specific key from this list:
48
+ #{ build_details.keys }
49
+ EOF
50
+ fail_test( message )
51
+ end
52
+
53
+ logger.debug("Platforms available for this build:")
54
+ logger.debug("#{ build_details.keys }")
55
+ logger.debug("PLATFORM SPECIFIC INFO for #{host} (packaging name '#{packaging_platform}'):")
56
+ packaging_data = build_details[packaging_platform]
57
+ logger.debug("- #{ packaging_data }, isnil? #{ packaging_data.nil? }")
58
+ if packaging_data.nil?
59
+ message = <<-EOF
60
+ :packaging_platform '#{packaging_platform}' for host '#{host}' not in build details
61
+ :packaging_platform should be the platform-specific key from this list:
62
+ #{ build_details.keys }
63
+ EOF
64
+ fail_test( message )
65
+ end
66
+
67
+ artifact_buildserver_path = packaging_data[:artifact]
68
+ repoconfig_buildserver_path = packaging_data[:repo_config]
69
+ fail_test('no artifact_buildserver_path found') if artifact_buildserver_path.nil?
70
+
71
+ artifact_url = "#{build_url}/#{artifact_buildserver_path}"
72
+ repoconfig_url = "#{build_url}/#{repoconfig_buildserver_path}" unless repoconfig_buildserver_path.nil?
73
+ artifact_url_correct = link_exists?( artifact_url )
74
+ logger.debug("- artifact url: '#{artifact_url}'. Exists? #{artifact_url_correct}")
75
+ fail_test('artifact url built incorrectly') if !artifact_url_correct
76
+
77
+ return artifact_url, repoconfig_url
78
+ end
79
+
80
+ # install build artifact on the given host
81
+ #
82
+ # @param [Host] host Host to install artifact on
83
+ # @param [String] artifact_url URL of the project install artifact
84
+ # @param [String] project_name Name of project for artifact. Needed for OSX installs
85
+ #
86
+ # @return nil
87
+ def install_artifact_on(host, artifact_url, project_name)
88
+ variant, _, _, _ = host[:platform].to_array
89
+ onhost_package_file = nil
90
+ if variant == 'eos'
91
+ host.get_remote_file( artifact_url )
92
+ onhost_package_file = File.basename( artifact_url )
93
+ elsif variant == 'solaris'
94
+ artifact_filename = File.basename( artifact_url )
95
+ artifact_folder = File.dirname( artifact_url )
96
+ fetch_http_file( artifact_folder, artifact_filename, '.' )
97
+ onhost_package_dir = host.tmpdir( 'puppet_installer' )
98
+ scp_to host, artifact_filename, onhost_package_dir
99
+ onhost_package_file = "#{ onhost_package_dir }/#{ artifact_filename }"
100
+ elsif variant == 'osx'
101
+ on host, "curl -O #{ artifact_url }"
102
+ onhost_package_file = "#{ project_name }*"
103
+ end
104
+
105
+ if variant == 'eos'
106
+ # TODO Will be refactored into {Beaker::Host#install_local_package}
107
+ # immediately following this work. The release timing makes it
108
+ # necessary to have this here separately for a short while
109
+ host.install_from_file( onhost_package_file )
110
+ elsif onhost_package_file
111
+ if onhost_package_dir
112
+ host.install_local_package( onhost_package_file, '.' )
113
+ else
114
+ host.install_local_package( onhost_package_file )
115
+ end
116
+ else
117
+ host.install_package( artifact_url )
118
+ end
119
+ end
120
+
121
+ # Sets up the repo_configs on the host for this build
122
+ #
123
+ # @param [Host] host Host to install repo_configs on
124
+ # @param [String] repoconfig_url URL to the repo_config
125
+ #
126
+ # @return nil
127
+ def install_repo_configs_on(host, repoconfig_url)
128
+ if repoconfig_url.nil?
129
+ logger.warn("No repo_config for host '#{host}'. Skipping repo_config install")
130
+ return
131
+ end
132
+
133
+ install_repo_configs_from_url( host, repoconfig_url )
134
+ end
135
+
136
+ # Installs a specified puppet project on all hosts. Gets build information
137
+ # from the provided YAML file located at the +sha_yaml_url+ parameter.
138
+ #
139
+ # @param [String] project_name Name of the project to install
140
+ # @param [String] sha_yaml_url URL to the <SHA>.yaml file containing the
141
+ # build details
142
+ #
143
+ # @note This install method only works for Puppet versions >= 5.0
144
+ #
145
+ # @return nil
146
+ def install_from_build_data_url(project_name, sha_yaml_url)
147
+ if !link_exists?( sha_yaml_url )
148
+ message = <<-EOF
149
+ <SHA>.yaml URL '#{ sha_yaml_url }' does not exist.
150
+ Please update the `sha_yaml_url` parameter to the `puppet5_install` method.
151
+ EOF
152
+ fail_test( message )
153
+ end
154
+
155
+ base_url, build_details = fetch_build_details( sha_yaml_url )
156
+ hosts.each do |host|
157
+ artifact_url, repoconfig_url = host_urls( host, build_details, base_url )
158
+ if repoconfig_url.nil?
159
+ install_artifact_on( host, artifact_url, project_name )
160
+ else
161
+ install_repo_configs_on( host, repoconfig_url )
162
+ host.install_package( project_name )
163
+ end
164
+ configure_type_defaults_on( host )
165
+ end
166
+ end
167
+
168
+ end
169
+ end
170
+ end
171
+
@@ -1,3 +1,3 @@
1
1
  module BeakerPuppet
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
@@ -0,0 +1,282 @@
1
+ require 'spec_helper'
2
+
3
+ class ClassMixedWithDSLInstallUtils
4
+ include Beaker::DSL::Outcomes
5
+ include BeakerPuppet::Install::Puppet5
6
+
7
+ def logger
8
+ @logger ||= RSpec::Mocks::Double.new('logger').as_null_object
9
+ end
10
+ end
11
+
12
+ describe ClassMixedWithDSLInstallUtils do
13
+ let(:hosts) { make_hosts( { :pe_ver => '3.0',
14
+ :platform => 'linux',
15
+ :roles => [ 'agent' ],
16
+ :type => 'foss' }, 4 ) }
17
+
18
+ before :each do
19
+ allow( subject ).to receive( :hosts ) { hosts }
20
+ end
21
+
22
+
23
+ describe '#fetch_build_details' do
24
+ let( :platform_data ) { @platform_data || '' }
25
+ let( :deets ) { { :platform_data => platform_data } }
26
+
27
+ it 'sets & returns the relative folder' do
28
+ sha_yaml_folder = '/jams/of/the/rain'
29
+ sha_yaml_url = "#{sha_yaml_folder}/puns.tgz"
30
+ expect( subject ).to receive( :fetch_http_file )
31
+ expect( YAML ).to receive( :load_file ) { deets }
32
+
33
+ url, _ = subject.fetch_build_details( sha_yaml_url )
34
+ expect( url ).to be === sha_yaml_folder
35
+ end
36
+
37
+ it 'fetches & returns the build details' do
38
+ @platform_data = 'test of the man in the can carol?'
39
+ expect( subject ).to receive( :fetch_http_file )
40
+ expect( YAML ).to receive( :load_file ) { deets }
41
+
42
+ _, hash = subject.fetch_build_details( 'sha_yaml_url' )
43
+ expect( hash ).to be === @platform_data
44
+ end
45
+
46
+ it 'stores the file in a good location' do
47
+ allow( YAML ).to receive( :load_file ) { deets }
48
+
49
+ correct_location = '/my/fake/test/dir'
50
+ expect( Dir ).to receive( :mktmpdir ) { correct_location }
51
+ expect( subject ).to receive( :fetch_http_file ).with(
52
+ anything, anything, correct_location
53
+ )
54
+ subject.fetch_build_details( 'sha_yaml_url' )
55
+ end
56
+
57
+ end
58
+
59
+ describe '#host_urls' do
60
+
61
+ let( :artifact_path ) { @artifact_path || '' }
62
+ let( :repo_config ) { @repo_config || nil }
63
+ let( :packaging_platform ) { @packaging_platform || 'el-7-x86_64' }
64
+ let( :host ) {
65
+ host = hosts[0]
66
+ allow( host ).to receive( :[] ).with( :packaging_platform ) {
67
+ packaging_platform
68
+ }
69
+ host
70
+ }
71
+ let( :build_details ) {
72
+ details = {
73
+ packaging_platform => {
74
+ :artifact => artifact_path,
75
+ :repo_config => repo_config
76
+ }
77
+ }
78
+ details
79
+ }
80
+
81
+ it 'fails if there\'s no artifact value for the given platform' do
82
+ allow( artifact_path ).to receive( :nil? ) { true }
83
+ expect {
84
+ subject.host_urls( host, build_details, '' )
85
+ }.to raise_error(
86
+ Beaker::DSL::Outcomes::FailTest,
87
+ /^no artifact.*path found$/
88
+ )
89
+ end
90
+
91
+ it 'fails if the artifact_url doesn\'t exist' do
92
+ allow( subject ).to receive( :link_exists? ) { false }
93
+ expect {
94
+ subject.host_urls( host, build_details, '' )
95
+ }.to raise_error(
96
+ Beaker::DSL::Outcomes::FailTest,
97
+ /^artifact url.*incorrectly$/
98
+ )
99
+ end
100
+
101
+ it 'fails if the host doesn\'t have a packaging_platform' do
102
+ allow( packaging_platform ).to receive( :nil? ) { true }
103
+ allow( host ).to receive( :[] ).with( :platform ) { 'fake-platform' }
104
+ expect {
105
+ subject.host_urls( host, build_details, '' )
106
+ }.to raise_error(
107
+ Beaker::DSL::Outcomes::FailTest,
108
+ /packaging_platform not provided for host/
109
+ )
110
+ end
111
+
112
+ it 'returns a join of the base_url & the platform-specific artifact path' do
113
+ base_url = 'base_url/base_url'
114
+ @artifact_path = 'pants.install.pkg'
115
+
116
+ allow( subject ).to receive( :link_exists? ) { true }
117
+ artifact_url, _ = subject.host_urls( host, build_details, base_url )
118
+ expect( artifact_url ).to be === "#{base_url}/#{@artifact_path}"
119
+ end
120
+
121
+ it 'returns a join of the base_url & the platform-specific artifact path' do
122
+ base_url = 'base_url/base_url'
123
+ @repo_config = 'pants.install.list'
124
+
125
+ allow( subject ).to receive( :link_exists? ) { true }
126
+ _, repoconfig_url = subject.host_urls( host, build_details, base_url )
127
+ expect( repoconfig_url ).to be === "#{base_url}/#{@repo_config}"
128
+ end
129
+
130
+ it 'returns nil for the repoconfig_url if one isn\'t provided by the build_details' do
131
+ allow( subject ).to receive( :link_exists? ) { true }
132
+ _, repoconfig_url = subject.host_urls( host, build_details, '' )
133
+ expect( repoconfig_url ).to be_nil
134
+ end
135
+
136
+ end
137
+
138
+ describe '#install_artifact_on' do
139
+
140
+ let( :artifact_url ) { 'url://in/the/jungle/lies/the/prize.pnc' }
141
+ let( :platform ) { @platform || 'linux' }
142
+ let( :mock_platform ) {
143
+ mock_platform = Object.new
144
+ allow( mock_platform ).to receive( :to_array ) { [platform, '', '', ''] }
145
+ mock_platform
146
+ }
147
+ let( :host ) {
148
+ host = hosts[0]
149
+ allow( host ).to receive( :[] ).with( :platform ) { mock_platform }
150
+ host
151
+ }
152
+
153
+ it 'calls host.install_package in the common case' do
154
+ expect( subject ).to receive( :fetch_http_file ).never
155
+ expect( subject ).to receive( :on ).never
156
+ expect( host ).to receive( :install_local_package ).never
157
+ expect( host ).to receive( :install_package ).once
158
+
159
+ subject.install_artifact_on( host, artifact_url, 'project_name' )
160
+ end
161
+
162
+ context 'local install cases' do
163
+
164
+ def run_shared_test_steps
165
+ expect( host ).to receive( :install_local_package ).once
166
+ expect( host ).to receive( :install_package ).never
167
+ subject.install_artifact_on( host, artifact_url, 'project_name' )
168
+ end
169
+
170
+ it 'SOLARIS: fetches the file & runs local install' do
171
+ @platform = 'solaris'
172
+
173
+ expect( subject ).to receive( :fetch_http_file ).once
174
+ expect( subject ).to receive( :scp_to ).once
175
+ run_shared_test_steps()
176
+ end
177
+
178
+ it 'OSX: curls the file & runs local install' do
179
+ @platform = 'osx'
180
+
181
+ expect( subject ).to receive( :on ).with( host, /^curl.*#{artifact_url}$/ )
182
+ run_shared_test_steps()
183
+ end
184
+
185
+ end
186
+
187
+ end
188
+
189
+ describe '#install_repo_configs_on' do
190
+ let( :host ) { hosts[0] }
191
+
192
+ it 'passes the parameters through to #install_repo_configs_from_url' do
193
+ repoconfig_url = 'string/test/repo_config/stuff.stuff'
194
+ expect( subject ).to receive( :install_repo_configs_from_url ).with(
195
+ host,
196
+ repoconfig_url
197
+ )
198
+ expect( subject.logger ).to receive( :warn ).never
199
+ subject.install_repo_configs_on( host, repoconfig_url )
200
+ end
201
+
202
+ it 'returns without calling #install_repo_configs_from_url if repoconfig_url is nil' do
203
+ expect( subject ).to receive( :install_repo_configs_from_url ).never
204
+ expect( subject.logger ).to receive( :warn ).with(
205
+ /^No repo_config.*Skipping repo_config install$/
206
+ )
207
+ subject.install_repo_configs_on( host, nil )
208
+ end
209
+ end
210
+
211
+ describe '#install_from_build_data_url' do
212
+
213
+ before :each do
214
+ allow( subject ).to receive( :link_exists? ) { true }
215
+ end
216
+
217
+ it 'only calls #fetch_build_details once' do
218
+ allow( subject ).to receive( :host_urls )
219
+ allow( subject ).to receive( :install_artifact_on )
220
+ allow( subject ).to receive( :configure_type_defaults_on )
221
+
222
+ expect( subject ).to receive( :fetch_build_details ).once
223
+ subject.install_from_build_data_url( 'project_name', 'project_sha' )
224
+ end
225
+
226
+ it 'calls #configure_type_defaults_on all hosts' do
227
+ allow( subject ).to receive( :fetch_build_details )
228
+ allow( subject ).to receive( :host_urls )
229
+ allow( subject ).to receive( :install_artifact_on )
230
+
231
+ hosts.each do |host|
232
+ expect( subject ).to receive( :configure_type_defaults_on ).with( host ).once
233
+ end
234
+ subject.install_from_build_data_url( 'project_name', 'project_sha' )
235
+ end
236
+
237
+ it 'passes the artifact_url from #hosts_artifact_url to #install_artifact_on' do
238
+ allow( subject ).to receive( :fetch_build_details )
239
+ allow( subject ).to receive( :configure_type_defaults_on )
240
+
241
+ artifact_url = 'url://in/my/shoe/lies/the/trophy.jnk'
242
+ allow( subject ).to receive( :host_urls ) { artifact_url }
243
+
244
+
245
+ expect( subject ).to receive( :install_artifact_on ).with(
246
+ anything, artifact_url, anything
247
+ ).exactly( hosts.length ).times
248
+ subject.install_from_build_data_url('project_name', 'project_sha' )
249
+ end
250
+
251
+ it 'fails properly if the given sha_yaml_url doesn\'t exist' do
252
+ allow( subject ).to receive( :link_exists? ) { false }
253
+ sha_yaml_url = 'pants/to/the/man/jeans.txt'
254
+
255
+ expect {
256
+ subject.install_from_build_data_url( 'project_name', sha_yaml_url )
257
+ }.to raise_error(
258
+ Beaker::DSL::Outcomes::FailTest,
259
+ /#{sha_yaml_url}' does not exist/
260
+ )
261
+ end
262
+
263
+ it 'runs host.install_package instead of #install_artifact_on if theres a repo_config' do
264
+ repoconfig_url = 'pants/man/shoot/to/the/stars'
265
+ project_name = 'fake_project_66'
266
+ allow( subject ).to receive( :fetch_build_details )
267
+ allow( subject ).to receive( :configure_type_defaults_on )
268
+ allow( subject ).to receive( :host_urls ) { ['', repoconfig_url] }
269
+
270
+ expect( subject ).to receive( :install_artifact_on ).never
271
+ hosts.each do |host|
272
+ expect( subject ).to receive( :install_repo_configs_on ).with(
273
+ host,
274
+ repoconfig_url
275
+ )
276
+ expect( host ).to receive( :install_package ).with( project_name )
277
+ end
278
+ subject.install_from_build_data_url( project_name, 'sha_yaml_url' )
279
+ end
280
+ end
281
+
282
+ 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: 0.5.0
4
+ version: 0.6.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-08-18 00:00:00.000000000 Z
11
+ date: 2017-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -219,6 +219,7 @@ files:
219
219
  - lib/beaker-puppet/install_utils/foss_defaults.rb
220
220
  - lib/beaker-puppet/install_utils/foss_utils.rb
221
221
  - lib/beaker-puppet/install_utils/module_utils.rb
222
+ - lib/beaker-puppet/install_utils/puppet5.rb
222
223
  - lib/beaker-puppet/install_utils/puppet_utils.rb
223
224
  - lib/beaker-puppet/version.rb
224
225
  - lib/beaker-puppet/wrappers.rb
@@ -236,6 +237,7 @@ files:
236
237
  - spec/beaker-puppet/helpers/tk_helpers_spec.rb
237
238
  - spec/beaker-puppet/install_utils/foss_utils_spec.rb
238
239
  - spec/beaker-puppet/install_utils/module_utils_spec.rb
240
+ - spec/beaker-puppet/install_utils/puppet5_spec.rb
239
241
  - spec/beaker-puppet/install_utils/puppet_utils_spec.rb
240
242
  - spec/helpers.rb
241
243
  - spec/spec_helper.rb