vmfloaty 0.4.0 → 0.5.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 +4 -4
- data/lib/vmfloaty.rb +8 -1
- data/lib/vmfloaty/pooler.rb +5 -7
- data/lib/vmfloaty/version.rb +1 -1
- data/spec/vmfloaty/auth_spec.rb +3 -3
- data/spec/vmfloaty/pooler_spec.rb +10 -9
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 635cb7b974854695815a6287203b5db7842ccfdd
|
4
|
+
data.tar.gz: 8bf5c5be05395beb8154243aa212d08d94559869
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fe3df32eca62872bcf93fca60ddbb312ee89e24fae6952f5f7d3fcad5f20b5bb22e418c4e0dc9a741721d37375039378083303dea0d54df7e212409613de8f1
|
7
|
+
data.tar.gz: 0063aba22c8ef7a481b13792fe90ccc15d3b117bd439436279ec5f2709cc5b2f91da84b55e59844ae0d68b20c28dc7fef1a2e9f6d584614f67e4b9ccd0ebaf68
|
data/lib/vmfloaty.rb
CHANGED
@@ -212,7 +212,14 @@ class Vmfloaty
|
|
212
212
|
|
213
213
|
if ans
|
214
214
|
# delete vms
|
215
|
-
|
215
|
+
puts "Scheduling all vms for for deletion"
|
216
|
+
response = Pooler.delete(verbose, url, running_vms, token)
|
217
|
+
response.each do |host,vals|
|
218
|
+
if vals['ok'] == false
|
219
|
+
STDERR.puts "There was a problem with your request for vm #{host}."
|
220
|
+
STDERR.puts vals
|
221
|
+
end
|
222
|
+
end
|
216
223
|
end
|
217
224
|
end
|
218
225
|
|
data/lib/vmfloaty/pooler.rb
CHANGED
@@ -85,17 +85,15 @@ class Pooler
|
|
85
85
|
conn.headers['X-AUTH-TOKEN'] = token
|
86
86
|
end
|
87
87
|
|
88
|
+
response_body = {}
|
89
|
+
|
88
90
|
hosts.each do |host|
|
89
|
-
puts "Scheduling host #{host} for deletion"
|
90
91
|
response = conn.delete "vm/#{host}"
|
91
92
|
res_body = JSON.parse(response.body)
|
92
|
-
|
93
|
-
puts "Deletion for vm #{host} successfully scheduled"
|
94
|
-
else
|
95
|
-
STDERR.puts "There was a problem with your request for vm #{host}."
|
96
|
-
STDERR.puts res_body
|
97
|
-
end
|
93
|
+
response_body[host] = res_body
|
98
94
|
end
|
95
|
+
|
96
|
+
response_body
|
99
97
|
end
|
100
98
|
|
101
99
|
def self.status(verbose, url)
|
data/lib/vmfloaty/version.rb
CHANGED
data/spec/vmfloaty/auth_spec.rb
CHANGED
@@ -14,7 +14,7 @@ describe Pooler do
|
|
14
14
|
|
15
15
|
it "returns a token from vmpooler" do
|
16
16
|
stub_request(:post, "https://first.last:password@vmpooler.example.com/token").
|
17
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.
|
17
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.2'}).
|
18
18
|
to_return(:status => 200, :body => @get_token_response, :headers => {})
|
19
19
|
|
20
20
|
token = Auth.get_token(false, @vmpooler_url, "first.last", "password")
|
@@ -30,7 +30,7 @@ describe Pooler do
|
|
30
30
|
|
31
31
|
it "deletes the specified token" do
|
32
32
|
stub_request(:delete, "https://first.last:password@vmpooler.example.com/token/utpg2i2xswor6h8ttjhu3d47z53yy47y").
|
33
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.
|
33
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.2'}).
|
34
34
|
to_return(:status => 200, :body => @delete_token_response, :headers => {})
|
35
35
|
|
36
36
|
expect(Auth.delete_token(false, @vmpooler_url, "first.last", "password", @token)).to eq JSON.parse(@delete_token_response)
|
@@ -45,7 +45,7 @@ describe Pooler do
|
|
45
45
|
|
46
46
|
it "checks the status of a token" do
|
47
47
|
stub_request(:get, "#{@vmpooler_url}/token/utpg2i2xswor6h8ttjhu3d47z53yy47y").
|
48
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.
|
48
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.2'}).
|
49
49
|
to_return(:status => 200, :body => @token_status_response, :headers => {})
|
50
50
|
|
51
51
|
expect(Auth.token_status(false, @vmpooler_url, @token)).to eq JSON.parse(@token_status_response)
|
@@ -46,7 +46,7 @@ describe Pooler do
|
|
46
46
|
|
47
47
|
it "retrieves a single vm with a token" do
|
48
48
|
stub_request(:post, "#{@vmpooler_url}/vm/debian-7-i386").
|
49
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.
|
49
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.2', 'X-Auth-Token'=>'mytokenfile'}).
|
50
50
|
to_return(:status => 200, :body => @retrieve_response_body_single, :headers => {})
|
51
51
|
|
52
52
|
vm_hash = {}
|
@@ -59,7 +59,7 @@ describe Pooler do
|
|
59
59
|
|
60
60
|
it "retrieves a multiple vms with a token" do
|
61
61
|
stub_request(:post, "#{@vmpooler_url}/vm/debian-7-i386+debian-7-i386+centos-7-x86_64").
|
62
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.
|
62
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.2', 'X-Auth-Token'=>'mytokenfile'}).
|
63
63
|
to_return(:status => 200, :body => @retrieve_response_body_double, :headers => {})
|
64
64
|
|
65
65
|
vm_hash = {}
|
@@ -83,7 +83,7 @@ describe Pooler do
|
|
83
83
|
it "modifies the TTL of a vm" do
|
84
84
|
stub_request(:put, "#{@vmpooler_url}/vm/fq6qlpjlsskycq6").
|
85
85
|
with(:body => {"{\"lifetime\":12}"=>true},
|
86
|
-
:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'Faraday v0.9.
|
86
|
+
:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'Faraday v0.9.2', 'X-Auth-Token'=>'mytokenfile'}).
|
87
87
|
to_return(:status => 200, :body => @modify_response_body_success, :headers => {})
|
88
88
|
|
89
89
|
modify_req = Pooler.modify(false, @vmpooler_url, 'fq6qlpjlsskycq6', 'mytokenfile', 12, nil)
|
@@ -94,14 +94,15 @@ describe Pooler do
|
|
94
94
|
describe "#delete" do
|
95
95
|
before :each do
|
96
96
|
@delete_response_body_success = "{\"ok\":true}"
|
97
|
+
@delete_response = {"fq6qlpjlsskycq6"=>{"ok"=>true}}
|
97
98
|
end
|
98
99
|
|
99
100
|
it "deletes a specified vm" do
|
100
101
|
stub_request(:delete, "#{@vmpooler_url}/vm/fq6qlpjlsskycq6").
|
101
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.
|
102
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.2', 'X-Auth-Token'=>'mytokenfile'}).
|
102
103
|
to_return(:status => 200, :body => @delete_response_body_success, :headers => {})
|
103
104
|
|
104
|
-
|
105
|
+
expect(Pooler.delete(false, @vmpooler_url, ['fq6qlpjlsskycq6'], 'mytokenfile')).to eq @delete_response
|
105
106
|
end
|
106
107
|
end
|
107
108
|
|
@@ -113,7 +114,7 @@ describe Pooler do
|
|
113
114
|
|
114
115
|
it "prints the status" do
|
115
116
|
stub_request(:get, "#{@vmpooler_url}/status").
|
116
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.
|
117
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.2'}).
|
117
118
|
to_return(:status => 200, :body => @status_response_body, :headers => {})
|
118
119
|
|
119
120
|
status = Pooler.status(false, @vmpooler_url)
|
@@ -137,7 +138,7 @@ describe Pooler do
|
|
137
138
|
|
138
139
|
it "makes a query about a vm" do
|
139
140
|
stub_request(:get, "#{@vmpooler_url}/vm/fq6qlpjlsskycq6").
|
140
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.
|
141
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Faraday v0.9.2'}).
|
141
142
|
to_return(:status => 200, :body => @query_response_body, :headers => {})
|
142
143
|
|
143
144
|
query_req = Pooler.query(false, @vmpooler_url, 'fq6qlpjlsskycq6')
|
@@ -152,7 +153,7 @@ describe Pooler do
|
|
152
153
|
|
153
154
|
it "makes a snapshot for a single vm" do
|
154
155
|
stub_request(:post, "#{@vmpooler_url}/vm/fq6qlpjlsskycq6/snapshot").
|
155
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.
|
156
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.2', 'X-Auth-Token'=>'mytokenfile'}).
|
156
157
|
to_return(:status => 200, :body => @snapshot_response_body, :headers => {})
|
157
158
|
|
158
159
|
snapshot_req = Pooler.snapshot(false, @vmpooler_url, 'fq6qlpjlsskycq6', 'mytokenfile')
|
@@ -167,7 +168,7 @@ describe Pooler do
|
|
167
168
|
|
168
169
|
it "makes a request to revert a vm from a snapshot" do
|
169
170
|
stub_request(:post, "#{@vmpooler_url}/vm/fq6qlpjlsskycq6/snapshot/dAfewKNfaweLKNve").
|
170
|
-
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.
|
171
|
+
with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Content-Length'=>'0', 'User-Agent'=>'Faraday v0.9.2', 'X-Auth-Token'=>'mytokenfile'}).
|
171
172
|
to_return(:status => 200, :body => @revert_response_body, :headers => {})
|
172
173
|
|
173
174
|
revert_req = Pooler.revert(false, @vmpooler_url, 'fq6qlpjlsskycq6', 'mytokenfile', 'dAfewKNfaweLKNve')
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmfloaty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Cain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '4.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.9'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.9'
|
41
41
|
description: A helper tool for vmpooler to help you stay afloat
|
@@ -70,17 +70,17 @@ require_paths:
|
|
70
70
|
- lib
|
71
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- -
|
78
|
+
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
requirements: []
|
82
82
|
rubyforge_project:
|
83
|
-
rubygems_version: 2.
|
83
|
+
rubygems_version: 2.2.2
|
84
84
|
signing_key:
|
85
85
|
specification_version: 4
|
86
86
|
summary: CLI application to interface with vmpooler
|