vm_shepherd 1.10.0 → 1.10.1
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:
|
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.
|