vm_shepherd 1.7.3 → 1.8.0

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: ab0c19467d9811ac4ac4b56875e8155e3299390f
4
- data.tar.gz: e3441beaa08bde0a2556d68b252f87b5725c213d
3
+ metadata.gz: cb58842910e0aaa03e530da601b34849dffdac3d
4
+ data.tar.gz: 5571666645019a72a933e4724dcd5b7a49a3aabf
5
5
  SHA512:
6
- metadata.gz: b5fd911a4e52484be279df6cffe69b027fd29e2f4db2e4713cd7f22bd3d9e91c963cdd4eed2e9166b1460f66bc96051b3b28d1e66230d9bafa46059438a47c5b
7
- data.tar.gz: d38f7542b02454852050272cb487ba02a7a64f35edf4bb031d3b3ded01bb65a51ed4f4de9d64e7d4df6d5347a8cabb61ec14887a5d49aaef1de2f0cc9b29ba4b
6
+ metadata.gz: efcb4d8f458a77b12a737fa452db657599201ed27714fb4127bfe663ddaaf73240fb4587043c28ddd3392f28ab359653765b964af22b86fb91427c78bee44382
7
+ data.tar.gz: eba88621eb495b53c180da8ae4ebff4c36e97be664faae428584a91aa2adb84b7be03637b84d3f926e3f66bb428c1110e5e87c3fdf57605f98b4190175da596d
@@ -107,7 +107,8 @@ module VmShepherd
107
107
  delete_elb(elb_config[:name])
108
108
  end
109
109
 
110
- if (bucket_name = env_config.fetch(:outputs, {}).fetch(:s3_bucket_name, nil))
110
+ bucket_names = env_config.fetch(:outputs, {}).fetch(:s3_bucket_names, [])
111
+ bucket_names.each do |bucket_name|
111
112
  bucket = AWS::S3.new.buckets[bucket_name]
112
113
  if bucket && bucket.exists?
113
114
  logger.info("clearing bucket: #{bucket_name}")
@@ -1,3 +1,3 @@
1
1
  module VmShepherd
2
- VERSION = '1.7.3'.freeze
2
+ VERSION = '1.8.0'.freeze
3
3
  end
@@ -582,26 +582,52 @@ module VmShepherd
582
582
  end
583
583
 
584
584
  context 'when there is an s3 bucket configuration' do
585
- let(:bucket) { instance_double(AWS::S3::Bucket) }
586
- let(:extra_outputs) { {s3_bucket_name: bucket_name} }
587
- let(:bucket_name) { 'bucket-name' }
585
+ let(:bucket_1) { instance_double(AWS::S3::Bucket) }
586
+ let(:bucket_2) { instance_double(AWS::S3::Bucket) }
587
+ let(:extra_outputs) { { s3_bucket_names: [bucket_name_1, bucket_name_2] } }
588
+ let(:bucket_name_1) { 'bucket-name-1' }
589
+ let(:bucket_name_2) { 'bucket-name-2' }
588
590
 
589
- before { allow(buckets).to receive(:[]).with(bucket_name).and_return(bucket) }
591
+ before do
592
+ allow(buckets).to receive(:[]).with(bucket_name_1).and_return(bucket_1)
593
+ allow(buckets).to receive(:[]).with(bucket_name_2).and_return(bucket_2)
594
+ end
590
595
 
591
- context 'and the bucket does exist' do
592
- before { allow(bucket).to receive(:exists?).and_return(true) }
596
+ context 'and both buckets exist' do
597
+ before do
598
+ allow(bucket_1).to receive(:exists?).and_return(true)
599
+ allow(bucket_2).to receive(:exists?).and_return(true)
600
+ end
593
601
 
594
602
  it 'clears the bucket' do
595
- expect(bucket).to receive(:clear!)
603
+ expect(bucket_1).to receive(:clear!)
604
+ expect(bucket_2).to receive(:clear!)
596
605
  ami_manager.clean_environment
597
606
  end
598
607
  end
599
608
 
600
- context 'and the bucket does not exist' do
601
- before { allow(bucket).to receive(:exists?).and_return(false) }
609
+ context 'and only one bucket exists' do
610
+ before do
611
+ allow(bucket_1).to receive(:exists?).and_return(false)
612
+ allow(bucket_2).to receive(:exists?).and_return(true)
613
+ end
602
614
 
603
- it 'fails silently' do
604
- expect(bucket).not_to receive(:clear!)
615
+ it 'clears the bucket' do
616
+ expect(bucket_1).not_to receive(:clear!)
617
+ expect(bucket_2).to receive(:clear!)
618
+ ami_manager.clean_environment
619
+ end
620
+ end
621
+
622
+ context 'and neither bucket exists' do
623
+ before do
624
+ allow(bucket_1).to receive(:exists?).and_return(false)
625
+ allow(bucket_2).to receive(:exists?).and_return(false)
626
+ end
627
+
628
+ it 'clears the bucket' do
629
+ expect(bucket_1).not_to receive(:clear!)
630
+ expect(bucket_2).not_to receive(:clear!)
605
631
  ami_manager.clean_environment
606
632
  end
607
633
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vm_shepherd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.3
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ops Manager Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-24 00:00:00.000000000 Z
11
+ date: 2015-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-v1
@@ -195,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  version: '0'
196
196
  requirements: []
197
197
  rubyforge_project:
198
- rubygems_version: 2.4.8
198
+ rubygems_version: 2.4.6
199
199
  signing_key:
200
200
  specification_version: 4
201
201
  summary: A tool for booting and tearing down Ops Manager VMs on various Infrastructures.