simp-beaker-helpers 1.8.3 → 1.8.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8057e97359b2ce3f693b144d39f261cf290e69bd
4
- data.tar.gz: a2f7f470c423876cc605a889ade1e17b514ee20d
3
+ metadata.gz: 74893a8d275ad181e28f562775399df8dcddaaa2
4
+ data.tar.gz: 52d6f7397bdf03fa1d76647816686fcb522ce47e
5
5
  SHA512:
6
- metadata.gz: 99fac64a05ae979b97cb88ebfeaea71e24c8b9d13416443168fb2c3c29cb2431d3b44adea3f658f02fbab6539e7c6fc302a19703335cf7241e5dfcad2674f937
7
- data.tar.gz: 83c474b816ab946c71e5e272484c5727cb4959450627dd200d88e6e8436da0273ffeed49cbcdf8e04add066e30c7dd114d9d281ff71a05c046bd9576649dddd9
6
+ metadata.gz: 08a07f6733d21f52af60991cb5d5325cf0db75a441220c9a0e8164b47f2ec350a27dcf523c6a66faad2a1c1b20430fe3e9f96cca20120088a109cd9665f6986d
7
+ data.tar.gz: 37e6e038510a9551cd93974527f1f0a67921e191c5177d0aabb83df1ac00e4c506d3d6a83f2baa74749cf7f37e071fb3b505d264c476354e8fa08d165b8428d3
@@ -42,18 +42,10 @@ module Simp::BeakerHelpers
42
42
 
43
43
  @result_file = File.join(output_dir, "#{@sut.hostname}-inspec-#{Time.now.to_i}")
44
44
 
45
- if @sut[:hypervisor] == 'docker'
46
- %x(docker cp -L "#{local_profile}" "#{@sut.hostname}:#{@test_dir}")
47
- else
48
- scp_to(@sut, local_profile, @test_dir)
49
- end
45
+ copy_to(@sut, local_profile, @profile_dir)
50
46
 
51
47
  if File.exist?(local_deps)
52
- if @sut[:hypervisor] == 'docker'
53
- %x(docker cp -L "#{local_deps}" "#{@sut.hostname}:#{@deps_root}")
54
- else
55
- scp_to(@sut, local_deps, @deps_root)
56
- end
48
+ copy_to(@sut, local_deps, @deps_root)
57
49
  end
58
50
 
59
51
  # The results of the inspec scan in Hash form
@@ -132,7 +132,7 @@ module Simp::BeakerHelpers
132
132
  ssg_release ||= Dir.glob('spec/fixtures/ssg_releases/*.bz2').last
133
133
 
134
134
  if ssg_release
135
- scp_to(@sut, ssg_release, @scap_working_dir)
135
+ copy_to(@sut, ssg_release, @scap_working_dir)
136
136
 
137
137
  on(@sut, %(mkdir -p scap-security-guide && tar -xj -C scap-security-guide --strip-components 1 -f #{ssg_release} && cp scap-security-guide/*ds.xml #{@scap_working_dir}))
138
138
  else
@@ -1,5 +1,5 @@
1
1
  module Simp; end
2
2
 
3
3
  module Simp::BeakerHelpers
4
- VERSION = '1.8.3'
4
+ VERSION = '1.8.6'
5
5
  end
@@ -11,6 +11,34 @@ module Simp::BeakerHelpers
11
11
  # oldest system that we support.
12
12
  DEFAULT_PUPPET_AGENT_VERSION = '1.7.1'
13
13
 
14
+ # Figure out the best method to copy files to a host and use it
15
+ #
16
+ # Will create the directories leading up to the target if they don't exist
17
+ def copy_to(sut, src, dest, opts={})
18
+ unless @has_rsync
19
+ %x{which rsync 2>/dev/null}.strip
20
+
21
+ @has_rsync = $?.success?
22
+ end
23
+
24
+ sut.mkdir_p(File.dirname(dest))
25
+
26
+ if sut[:hypervisor] == 'docker'
27
+ exclude_list = []
28
+ if opts.has_key?(:ignore) && !opts[:ignore].empty?
29
+ opts[:ignore].each do |value|
30
+ exclude_list << "--exclude '#{value}'"
31
+ end
32
+ end
33
+
34
+ %x(tar #{exclude_list.join(' ')} -hcf - -C "#{File.dirname(src)}" "#{File.basename(src)}" | docker exec -i "#{sut.hostname}" tar -C "#{dest}" -xf -)
35
+ elsif @has_rsync
36
+ rsync_to(sut, src, dest, opts)
37
+ else
38
+ scp_to(sut, src, dest, opts)
39
+ end
40
+ end
41
+
14
42
  # use the `puppet fact` face to look up facts on an SUT
15
43
  def pfact_on(sut, fact_name)
16
44
  facts_json = on(sut,'puppet facts find xxx').output
@@ -121,19 +149,21 @@ module Simp::BeakerHelpers
121
149
  mod_root = File.expand_path( "spec/fixtures/modules", File.dirname( fixtures_yml_path ))
122
150
 
123
151
  Dir.chdir(mod_root) do
124
- tarfile = Dir::Tmpname.make_tmpname(['beaker','.tar'],nil)
125
-
126
- excludes = PUPPET_MODULE_INSTALL_IGNORE.map do |x|
127
- x = "--exclude '*/#{x}'"
128
- end.join(' ')
152
+ begin
153
+ tarfile = Dir::Tmpname.make_tmpname(['beaker','.tar'],nil)
129
154
 
130
- %x(tar -ch #{excludes} -f #{tarfile} *)
155
+ excludes = PUPPET_MODULE_INSTALL_IGNORE.map do |x|
156
+ x = "--exclude '*/#{x}'"
157
+ end.join(' ')
131
158
 
132
- rsync_to(sut, tarfile, target_module_path)
159
+ %x(tar -ch #{excludes} -f #{tarfile} *)
133
160
 
134
- FileUtils.rm_f(tarfile)
161
+ copy_to(sut, tarfile, target_module_path, opts)
135
162
 
136
- on(sut, "cd #{target_module_path} && tar -xf #{File.basename(tarfile)}")
163
+ on(sut, "cd #{target_module_path} && tar -xf #{File.basename(tarfile)}")
164
+ ensure
165
+ FileUtils.remove_entry(tarfile, true)
166
+ end
137
167
  end
138
168
  end
139
169
  end
@@ -351,14 +381,14 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
351
381
  host_dir = '/root/pki'
352
382
  fqdns = fact_on(hosts, 'fqdn')
353
383
 
354
- on ca_sut, %Q(mkdir -p "#{host_dir}")
355
- Dir[ File.join(pki_dir, '*') ].each{|f| scp_to( ca_sut, f, host_dir)}
384
+ ca_sut.mkdir_p(host_dir)
385
+ Dir[ File.join(pki_dir, '*') ].each{|f| copy_to( ca_sut, f, host_dir)}
356
386
 
357
387
  # generate PKI certs for each SUT
358
388
  Dir.mktmpdir do |dir|
359
389
  pki_hosts_file = File.join(dir, 'pki.hosts')
360
390
  File.open(pki_hosts_file, 'w'){|fh| fqdns.each{|fqdn| fh.puts fqdn}}
361
- scp_to(ca_sut, pki_hosts_file, host_dir)
391
+ copy_to(ca_sut, pki_hosts_file, host_dir)
362
392
  # generate certs
363
393
  on(ca_sut, "cd #{host_dir}; cat #{host_dir}/pki.hosts | xargs bash make.sh")
364
394
  end
@@ -391,14 +421,16 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
391
421
  local_host_pki_tree = File.join(local_pki_dir,'pki','keydist',fqdn)
392
422
  local_cacert = File.join(local_pki_dir,'pki','demoCA','cacert.pem')
393
423
 
394
- on sut, %Q(mkdir -p "#{sut_pki_dir}/public" "#{sut_pki_dir}/private" "#{sut_pki_dir}/cacerts")
395
- scp_to(sut, "#{local_host_pki_tree}/#{fqdn}.pem", "#{sut_pki_dir}/private/")
396
- scp_to(sut, "#{local_host_pki_tree}/#{fqdn}.pub", "#{sut_pki_dir}/public/")
424
+ sut.mkdir_p("#{sut_pki_dir}/public")
425
+ sut.mkdir_p("#{sut_pki_dir}/private")
426
+ sut.mkdir_p("#{sut_pki_dir}/cacerts")
427
+ copy_to(sut, "#{local_host_pki_tree}/#{fqdn}.pem", "#{sut_pki_dir}/private/")
428
+ copy_to(sut, "#{local_host_pki_tree}/#{fqdn}.pub", "#{sut_pki_dir}/public/")
397
429
 
398
- scp_to(sut, local_cacert, "#{sut_pki_dir}/cacerts/simp_auto_ca.pem")
430
+ copy_to(sut, local_cacert, "#{sut_pki_dir}/cacerts/simp_auto_ca.pem")
399
431
 
400
432
  # NOTE: to match pki::copy, 'cacert.pem' is copied to 'cacerts.pem'
401
- scp_to(sut, local_cacert, "#{sut_pki_dir}/cacerts/cacerts.pem")
433
+ copy_to(sut, local_cacert, "#{sut_pki_dir}/cacerts/cacerts.pem")
402
434
 
403
435
  # Need to hash all of the CA certificates so that apps can use them
404
436
  # properly! This must happen on the host itself since it needs to match
@@ -429,7 +461,7 @@ done
429
461
  host_keydist_dir = "#{modulepath.first}/pki/files/keydist"
430
462
  end
431
463
  on ca_sut, "rm -rf #{host_keydist_dir}/*"
432
- on ca_sut, "mkdir -p #{host_keydist_dir}/"
464
+ ca_sut.mkdir_p(host_keydist_dir)
433
465
  on ca_sut, "cp -pR /root/pki/keydist/. #{host_keydist_dir}/"
434
466
  on ca_sut, "chgrp -R puppet #{host_keydist_dir}"
435
467
  end
@@ -549,7 +581,7 @@ done
549
581
  puts " ** pluginsync_on: '#{sut}'" if ENV['BEAKER_helpers_verbose']
550
582
  fact_path = on(sut, %q(puppet config print factpath)).output.strip.split(':').first
551
583
  on(sut, %q(puppet config print modulepath)).output.strip.split(':').each do |mod_path|
552
- on(sut, %Q(mkdir -p #{fact_path}))
584
+ sut.mkdir_p(fact_path)
553
585
  next if on(sut, "ls #{mod_path}/*/lib/facter 2>/dev/null ", :accept_all_exit_codes => true).exit_code != 0
554
586
  on(sut, %Q(find #{mod_path}/*/lib/facter -type f -name '*.rb' -exec cp -a {} '#{fact_path}/' \\; ))
555
587
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simp-beaker-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Tessmer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-09-02 00:00:00.000000000 Z
12
+ date: 2017-09-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: beaker
@@ -93,15 +93,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  version: '0'
94
94
  requirements: []
95
95
  rubyforge_project:
96
- rubygems_version: 2.4.8
96
+ rubygems_version: 2.6.13
97
97
  signing_key:
98
98
  specification_version: 4
99
99
  summary: beaker helper methods for SIMP
100
- test_files:
101
- - spec/acceptance/enable_fips_spec.rb
102
- - spec/acceptance/fixture_modules_spec.rb
103
- - spec/acceptance/nodesets/default.yml
104
- - spec/acceptance/pki_tests_spec.rb
105
- - spec/acceptance/set_hieradata_on_spec.rb
106
- - spec/acceptance/write_hieradata_to_spec.rb
107
- - spec/spec_helper_acceptance.rb
100
+ test_files: []