beaker 1.17.3 → 1.17.4

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
- NDBiYjkxMWM4Mzg3ODE1ZTI1Njk1YWVjY2JiN2MwMjhhZTU4ZDljOQ==
4
+ NWRiY2Y3ZGRkNGNhY2YyNDQxOWQxYmI0MTRkZDQ0MmUyZTllM2E1ZQ==
5
5
  data.tar.gz: !binary |-
6
- YWQwNmUyODFlNDdkZWQ0N2UzZmQ1ZGFiMDY0MDAyMTc2NjcyYTIxZQ==
6
+ ZTRmNzY0ZjI2NDRlOWNiOTJmZDM4ZDFmYmRkYWJiNmE4MWFkZDQyMQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OWNjYjVjYmE3MWUwY2FlODJhOTI0NGVlY2ZkMzBlZDg2ZDEwOWQwYmUzYWVi
10
- ODQxYTY1MDU0ODEwYWZkZDIxOTcyNWM3YTVmYzRhNGZjYjJjOWQ2MzUxODk0
11
- M2I0N2QzMTc4MWM4MTViZmY4NTc1YTdjMDczMzhmOTM3OTViNDY=
9
+ YmJmNDJlMWU3ZWI0YzVhZjY1M2I0MGU0ODg4Y2EwMjVhZDY3ZTYzOGM1OTYx
10
+ ZDEyNjYzMTE0MWI2NzI4YTQyNjAxZGI1YTYzM2UwYzEwYzU1YTA2NGZmNDQ1
11
+ NjE1YThkNDMyNTlmMGM4ZjI5YWIyNDQyYmVjMzJkMGRkMzhkNzg=
12
12
  data.tar.gz: !binary |-
13
- ZWU2MGU5YWMzOGFmZDMwMDdjMDQwMGIxMWQ3NzM2NDFkYzE2OWY5OTc3YjA1
14
- MTgxNTI1YjE0NmZiY2I5MTc5MjE2YzRjZTlmODM4ZDRmMTgzNGI0ZTg1ZTU1
15
- YzdjNDIyMjI0Mzg0YjFkNzAwMWM1NjMwMjI0YWRjMjcyNjRkY2U=
13
+ NWVmMjg1YTc4MzA3MDhiNTM4NWM0MDk4NmM2NTMzZTBmNjgxMTRjMWRmMmQw
14
+ YzBhYWM0M2IzZWU2OGNkZDE2ZTMyZDc2Yzc3MTk5ZTdjMDdkY2VkNjMxYWQ4
15
+ MGFjZTc1OWQ1NWM1MmI5MzRiNzQ3NGFlMWRhMzc5YjM0MTMyMzU=
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # beaker - History
2
2
  ## Tags
3
- * [LATEST - 20 Aug, 2014 (92584d1e)](#LATEST)
3
+ * [LATEST - 20 Aug, 2014 (1e6a4a8f)](#LATEST)
4
+ * [beaker1.17.3 - 20 Aug, 2014 (f8a536c1)](#beaker1.17.3)
4
5
  * [beaker1.17.2 - 15 Aug, 2014 (c6f1f64a)](#beaker1.17.2)
5
6
  * [beaker1.17.1 - 12 Aug, 2014 (72e60299)](#beaker1.17.1)
6
7
  * [beaker1.17.0 - 12 Aug, 2014 (fb482b56)](#beaker1.17.0)
@@ -55,7 +56,47 @@
55
56
  * [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
56
57
 
57
58
  ## Details
58
- ### <a name = "LATEST">LATEST - 20 Aug, 2014 (92584d1e)
59
+ ### <a name = "LATEST">LATEST - 20 Aug, 2014 (1e6a4a8f)
60
+
61
+ * (GEM) version bump for 1.17.4 (1e6a4a8f)
62
+
63
+ * Merge pull request #411 from anodelman/ec2 (2b4c9049)
64
+
65
+
66
+ ```
67
+ Merge pull request #411 from anodelman/ec2
68
+
69
+ (MAINT) kill zombies after provided number of hours
70
+ ```
71
+ * Merge pull request #409 from cyberious/ScpCopyIgnoreFix (e59632eb)
72
+
73
+
74
+ ```
75
+ Merge pull request #409 from cyberious/ScpCopyIgnoreFix
76
+
77
+ QENG-1080 do_scp_to now checks for source path of absolute and prunes accordingly
78
+ ```
79
+ * (MAINT) kill zombies after provided number of hours (3f3c3b27)
80
+
81
+
82
+ ```
83
+ (MAINT) kill zombies after provided number of hours
84
+
85
+ - was always using the default 3 hours
86
+ ```
87
+ * QENG-1080 Fixed issue where we appended the source path to the target path, we now check for absolute path prior (cdd9c7b8)
88
+
89
+ ### <a name = "beaker1.17.3">beaker1.17.3 - 20 Aug, 2014 (f8a536c1)
90
+
91
+ * Merge pull request #410 from anodelman/make-gem (f8a536c1)
92
+
93
+
94
+ ```
95
+ Merge pull request #410 from anodelman/make-gem
96
+
97
+ create beaker 1.17.3 gem
98
+ ```
99
+ * (HISTORY) update history for 1.17.3 gem (0d6006c4)
59
100
 
60
101
  * (GEM) version bump for 1.17.3 gem (92584d1e)
61
102
 
@@ -291,13 +291,25 @@ module Beaker
291
291
 
292
292
  # create necessary directory structure on host
293
293
  required_dirs = (dir_source.map{ | dir | File.dirname(dir) }).uniq
294
+ require 'pathname'
295
+ source_path = Pathname.new(source)
294
296
  required_dirs.each do |dir|
295
- mkdir_p( File.join(target, dir) )
297
+ dir_path = Pathname.new(dir)
298
+ if dir_path.absolute?
299
+ mkdir_p(File.join(target,dir_path.relative_path_from(source_path)))
300
+ else
301
+ mkdir_p( File.join(target, dir) )
302
+ end
296
303
  end
297
304
 
298
305
  # copy each file to the host
299
306
  dir_source.each do |s|
300
- file_path = File.join(target, s)
307
+ s_path = Pathname.new(s)
308
+ if s_path.absolute?
309
+ file_path = File.join(target,s_path.relative_path_from(source_path))
310
+ else
311
+ file_path = File.join(target, s)
312
+ end
301
313
  result = connection.scp_to(s, file_path, options, $dry_run)
302
314
  end
303
315
  end
@@ -101,15 +101,15 @@ module Beaker
101
101
  @logger.debug "Reviewing: #{region.name}"
102
102
  @ec2.regions[region.name].instances.each do |instance|
103
103
  if (instance.key_name =~ /#{key}/)
104
- @logger.debug "Examining #{instance.id} (keyname: #{key}, launch time: #{instance.launch_time}, status: #{instance.status})"
105
- end
106
- if (instance.key_name =~ /#{key}/) and ((time_now - instance.launch_time) > ZOMBIE*60*60) and instance.status.to_s !~ /terminated/
107
- @logger.debug "Kill! #{instance.id}: #{instance.key_name} (Current status: #{instance.status})"
108
- begin
109
- instance.terminate()
110
- kill_count += 1
111
- rescue AWS::EC2::Errors => e
112
- @logger.debug "Failed to remove instance: #{instance.id}, #{e}"
104
+ @logger.debug "Examining #{instance.id} (keyname: #{instance.key_name}, launch time: #{instance.launch_time}, status: #{instance.status})"
105
+ if ((time_now - instance.launch_time) > max_age*60*60) and instance.status.to_s !~ /terminated/
106
+ @logger.debug "Kill! #{instance.id}: #{instance.key_name} (Current status: #{instance.status})"
107
+ begin
108
+ instance.terminate()
109
+ kill_count += 1
110
+ rescue AWS::EC2::Errors => e
111
+ @logger.debug "Failed to remove instance: #{instance.id}, #{e}"
112
+ end
113
113
  end
114
114
  end
115
115
  end
@@ -1,5 +1,5 @@
1
1
  module Beaker
2
2
  module Version
3
- STRING = '1.17.3'
3
+ STRING = '1.17.4'
4
4
  end
5
5
  end
@@ -246,6 +246,66 @@ module Beaker
246
246
  host.do_scp_to *args
247
247
  end
248
248
 
249
+ context "using an ignore array with an absolute source path" do
250
+ source_path = '/repos/puppetlabs-inifile'
251
+ target_path = '/etc/puppetlabs/modules/inifile'
252
+ before :each do
253
+ test_dir = "#{source_path}/tests"
254
+ other_test_dir = "#{source_path}/tests2"
255
+
256
+ files = [
257
+ '00_EnvSetup.rb', '035_StopFirewall.rb', '05_HieraSetup.rb',
258
+ '01_TestSetup.rb', '03_PuppetMasterSanity.rb',
259
+ '06_InstallModules.rb','02_PuppetUserAndGroup.rb',
260
+ '04_ValidateSignCert.rb', '07_InstallCACerts.rb' ]
261
+
262
+ @fileset1 = files.shuffle.map {|file| test_dir + '/' + file }
263
+ @fileset2 = files.shuffle.map {|file| other_test_dir + '/' + file }
264
+
265
+ create_files( @fileset1 )
266
+ create_files( @fileset2 )
267
+ end
268
+ it 'can take an ignore list that excludes all files and not call scp_to', :use_fakefs => true do
269
+ logger = host[:logger]
270
+ conn = double(:connection)
271
+ @options = { :logger => logger }
272
+ host.instance_variable_set :@connection, conn
273
+ args = [ source_path, target_path, {:ignore => ['tests', 'tests2']} ]
274
+
275
+ logger.should_receive(:debug)
276
+ host.should_receive( :mkdir_p ).exactly(0).times
277
+ conn.should_receive(:scp_to).exactly(0).times
278
+
279
+ host.do_scp_to *args
280
+ end
281
+ it 'can take an ignore list that excludes a single file and scp the rest', :use_fakefs => true do
282
+ exclude_file = '07_InstallCACerts.rb'
283
+ logger = host[:logger]
284
+ conn = double(:connection)
285
+ @options = { :logger => logger }
286
+ host.instance_variable_set :@connection, conn
287
+ args = [ source_path, target_path, {:ignore => [exclude_file]} ]
288
+
289
+ Dir.stub( :glob ).and_return( @fileset1 + @fileset2 )
290
+
291
+ logger.should_receive(:debug)
292
+ host.should_receive( :mkdir_p ).with("#{target_path}/tests")
293
+ host.should_receive( :mkdir_p ).with("#{target_path}/tests2")
294
+ (@fileset1 + @fileset2).each do |file|
295
+ if file !~ /#{exclude_file}/
296
+ file_args = [ file, File.join(target_path, file.gsub(source_path,'')), {:ignore => [exclude_file]} ]
297
+ conn_args = file_args + [ nil ]
298
+ conn.should_receive(:scp_to).with( *conn_args ).and_return(Beaker::Result.new(host, 'output!'))
299
+ else
300
+ file_args = [ file, File.join(target_path, file.gsub(source_path,'')), {:ignore => [exclude_file]} ]
301
+ conn_args = file_args + [ nil ]
302
+ conn.should_not_receive(:scp_to).with( *conn_args )
303
+ end
304
+ end
305
+
306
+ host.do_scp_to *args
307
+ end
308
+ end
249
309
  context "using an ignore array" do
250
310
 
251
311
  before :each do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.3
4
+ version: 1.17.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-20 00:00:00.000000000 Z
11
+ date: 2014-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest