vm_shepherd 1.7.3 → 1.8.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,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.