vm_shepherd 1.10.0 → 1.10.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c28ff60aceef4bca731813761ce712123b7f941
|
4
|
+
data.tar.gz: 055d66480ba8775dab95bd80554556654da54c55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 930db4b3aba4201353764122080c6badbc9ba2021c5ada38018738647bdbcfb14f65a647113abebb80b3d1a9bb9f04fe1cf051ebcf13ffcc3ccf002f7146310a
|
7
|
+
data.tar.gz: f9fa8ea157d70fb41454e44716616b1b682d868d9c23cfab097e8e8d895c5302e5f65422552bccdc7e52338d42c731c1d42059a9050d9d0153d8037bcfe708cf
|
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'fog'
|
2
|
+
require 'vm_shepherd/retry_helper'
|
2
3
|
|
3
4
|
module VmShepherd
|
4
5
|
class OpenstackManager
|
6
|
+
include VmShepherd::RetryHelper
|
7
|
+
|
5
8
|
def initialize(auth_url:, username:, api_key:, tenant:)
|
6
9
|
@auth_url = auth_url
|
7
10
|
@username = username
|
@@ -75,6 +78,12 @@ module VmShepherd
|
|
75
78
|
server.destroy
|
76
79
|
end
|
77
80
|
|
81
|
+
retry_until(retry_limit: 30) do
|
82
|
+
server_count = service.servers.count
|
83
|
+
say(" Waiting for #{server_count} servers to be destroyed")
|
84
|
+
server_count == 0
|
85
|
+
end
|
86
|
+
|
78
87
|
private_images = image_service.images.reject(&:is_public)
|
79
88
|
|
80
89
|
say("Destroying #{private_images.size} images:")
|
data/lib/vm_shepherd/version.rb
CHANGED
@@ -322,6 +322,20 @@ module VmShepherd
|
|
322
322
|
}.to change { openstack_vm_manager.service.servers.size }.from(2).to(0)
|
323
323
|
end
|
324
324
|
|
325
|
+
it 'waits until there are no servers before deleting images' do
|
326
|
+
stub_const("VmShepherd::RetryHelper::RETRY_INTERVAL", 0)
|
327
|
+
|
328
|
+
servers = instance_double(Array)
|
329
|
+
allow(openstack_vm_manager.service).to receive(:servers).and_return(servers)
|
330
|
+
|
331
|
+
allow(servers).to receive(:size)
|
332
|
+
allow(servers).to receive(:each).and_return([])
|
333
|
+
expect(servers).to receive(:count).and_return(1,0).ordered
|
334
|
+
expect(openstack_vm_manager.image_service).to receive(:images).and_return([]).ordered
|
335
|
+
|
336
|
+
openstack_vm_manager.clean_environment
|
337
|
+
end
|
338
|
+
|
325
339
|
it 'deletes all private images' do
|
326
340
|
expect {
|
327
341
|
openstack_vm_manager.clean_environment
|
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.10.
|
4
|
+
version: 1.10.1
|
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-07-
|
11
|
+
date: 2015-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-v1
|
@@ -209,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
209
|
version: '0'
|
210
210
|
requirements: []
|
211
211
|
rubyforge_project:
|
212
|
-
rubygems_version: 2.4.
|
212
|
+
rubygems_version: 2.4.6
|
213
213
|
signing_key:
|
214
214
|
specification_version: 4
|
215
215
|
summary: A tool for booting and tearing down Ops Manager VMs on various Infrastructures.
|