virtualmaster 0.1.4 → 0.1.5
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.
- data/.gitignore +1 -0
- data/Gemfile.lock +11 -2
- data/bin/virtualmaster +4 -2
- data/lib/vmaster/cli.rb +31 -20
- data/lib/vmaster/version.rb +1 -1
- data/spec/commands_spec.rb +1 -1
- data/spec/deltacloud_spec.rb +11 -0
- data/spec/spec_helper.rb +18 -0
- data/virtualmaster.gemspec +2 -0
- metadata +36 -12
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
virtualmaster (0.1.
|
4
|
+
virtualmaster (0.1.4)
|
5
5
|
commander (~> 4.1.2)
|
6
6
|
deltacloud-client (~> 0.5.0)
|
7
7
|
net-ssh (~> 2.3.0)
|
@@ -16,8 +16,9 @@ GEM
|
|
16
16
|
nokogiri (>= 1.4.3)
|
17
17
|
rest-client (>= 1.6.1)
|
18
18
|
diff-lcs (1.1.3)
|
19
|
-
highline (1.6.
|
19
|
+
highline (1.6.12)
|
20
20
|
mime-types (1.18)
|
21
|
+
multi_json (1.3.5)
|
21
22
|
net-ssh (2.3.0)
|
22
23
|
nokogiri (1.5.2)
|
23
24
|
rest-client (1.6.7)
|
@@ -30,6 +31,12 @@ GEM
|
|
30
31
|
rspec-expectations (2.9.1)
|
31
32
|
diff-lcs (~> 1.1.3)
|
32
33
|
rspec-mocks (2.9.0)
|
34
|
+
simplecov (0.6.4)
|
35
|
+
multi_json (~> 1.0)
|
36
|
+
simplecov-html (~> 0.5.3)
|
37
|
+
simplecov-html (0.5.3)
|
38
|
+
simplecov-rcov (0.2.3)
|
39
|
+
simplecov (>= 0.4.1)
|
33
40
|
terminal-table (1.4.5)
|
34
41
|
|
35
42
|
PLATFORMS
|
@@ -37,4 +44,6 @@ PLATFORMS
|
|
37
44
|
|
38
45
|
DEPENDENCIES
|
39
46
|
rspec (~> 2)
|
47
|
+
simplecov
|
48
|
+
simplecov-rcov
|
40
49
|
virtualmaster!
|
data/bin/virtualmaster
CHANGED
@@ -17,6 +17,10 @@ program :help_formatter, :compact
|
|
17
17
|
|
18
18
|
default_command :help
|
19
19
|
|
20
|
+
global_option '-c', '--config FILE', String, 'Config file to use (~/.virtualmaster is default)' do |file|
|
21
|
+
VirtualMaster::CLI.config_file(file)
|
22
|
+
end
|
23
|
+
|
20
24
|
VirtualMaster::CLI.run do
|
21
25
|
# load callback
|
22
26
|
callback_files = File.join(File.dirname(__FILE__), "../lib/vmaster/callbacks/*.rb")
|
@@ -32,5 +36,3 @@ VirtualMaster::CLI.run do
|
|
32
36
|
end
|
33
37
|
|
34
38
|
Commander::Runner.instance.run!
|
35
|
-
|
36
|
-
|
data/lib/vmaster/cli.rb
CHANGED
@@ -3,41 +3,52 @@ require 'deltacloud'
|
|
3
3
|
|
4
4
|
module VirtualMaster
|
5
5
|
class CLI
|
6
|
+
@@config_file = nil
|
6
7
|
@@api = nil
|
7
8
|
@@config = nil
|
8
9
|
@@callbacks = []
|
9
10
|
|
10
11
|
def self.run
|
11
|
-
|
12
|
-
config_file = File.join(ENV["HOME"], ".virtualmaster")
|
13
|
-
if File.exists? config_file
|
14
|
-
config = YAML::load(File.open(config_file))
|
15
|
-
|
16
|
-
@@config = config.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
17
|
-
|
18
|
-
unless @@config[:profiles]
|
19
|
-
puts "WARNING: Please, reconfigure virtualmaster-cli (delete your '~/.virtualmaster' and run `virtualmaster config` again). This way you can use custom instance profiles correctly (new in version 0.0.5)"
|
20
|
-
puts
|
21
|
-
end
|
22
|
-
|
23
|
-
begin
|
24
|
-
@@api = DeltaCloud.new(@@config[:username], @@config[:password], VirtualMaster::DEFAULT_URL)
|
25
|
-
rescue DeltaCloud::API::BackendError => e
|
26
|
-
abort "Invalid API response: #{e.message}"
|
27
|
-
rescue Exception => e
|
28
|
-
abort "Unable to connect to Virtualmaster's DeltaCloud API: #{e.message}"
|
29
|
-
end
|
30
|
-
end
|
12
|
+
@@config_file = File.join(ENV["HOME"], ".virtualmaster")
|
31
13
|
|
32
14
|
yield
|
33
15
|
end
|
34
16
|
|
17
|
+
def self.config_file(config)
|
18
|
+
@@config_file = config
|
19
|
+
end
|
20
|
+
|
35
21
|
def self.api
|
22
|
+
self.config unless @@config
|
23
|
+
|
36
24
|
abort "No configuration available! Please run 'virtualmaster config' first!" unless @@api
|
37
25
|
@@api
|
38
26
|
end
|
39
27
|
|
40
28
|
def self.config
|
29
|
+
unless @@config
|
30
|
+
if File.exists? @@config_file
|
31
|
+
config = YAML::load(File.open(@@config_file))
|
32
|
+
|
33
|
+
@@config = config.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
34
|
+
|
35
|
+
unless @@config[:profiles]
|
36
|
+
puts "WARNING: Please, reconfigure virtualmaster-cli (delete your '~/.virtualmaster' and run `virtualmaster config` again). This way you can use custom instance profiles correctly (new in version 0.0.5)"
|
37
|
+
puts
|
38
|
+
end
|
39
|
+
|
40
|
+
begin
|
41
|
+
@@api = DeltaCloud.new(@@config[:username], @@config[:password], VirtualMaster::DEFAULT_URL)
|
42
|
+
rescue DeltaCloud::API::BackendError => e
|
43
|
+
abort "Invalid API response: #{e.message}"
|
44
|
+
rescue Exception => e
|
45
|
+
abort "Unable to connect to Virtualmaster's DeltaCloud API: #{e.message}"
|
46
|
+
end
|
47
|
+
else
|
48
|
+
abort "Specified configuration file (#{config_file}) does not exist!"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
41
52
|
@@config
|
42
53
|
end
|
43
54
|
|
data/lib/vmaster/version.rb
CHANGED
data/spec/commands_spec.rb
CHANGED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'deltacloud'
|
3
|
+
require 'vmaster/helpers'
|
4
|
+
|
5
|
+
describe "DeltaCloud API integration" do
|
6
|
+
it "should return HTTP 401 when called without valid credentials" do
|
7
|
+
lambda {
|
8
|
+
DeltaCloud.new(nil,nil, VirtualMaster::DEFAULT_URL)
|
9
|
+
}.should raise_error(DeltaCloud::API::BackendError, "401 : Not authorized / Invalid credentials")
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,23 @@
|
|
1
1
|
$:.unshift File.dirname(__FILE__) + '/../lib'
|
2
2
|
|
3
|
+
if ENV['COVERAGE']
|
4
|
+
require 'simplecov'
|
5
|
+
require 'simplecov-rcov'
|
6
|
+
|
7
|
+
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
8
|
+
|
9
|
+
SimpleCov.start do
|
10
|
+
add_filter '/vendor'
|
11
|
+
add_filter '/spec'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
3
15
|
require 'vmaster'
|
4
16
|
|
17
|
+
# manually load commands
|
18
|
+
require 'vmaster/config_command'
|
19
|
+
require 'vmaster/server_commands'
|
20
|
+
|
5
21
|
program :name, "virtualmaster"
|
6
22
|
program :version, VirtualMaster::VERSION
|
7
23
|
program :description, "Virtualmaster command line interface"
|
@@ -11,3 +27,5 @@ default_command :test
|
|
11
27
|
|
12
28
|
command :test do |c|
|
13
29
|
end
|
30
|
+
|
31
|
+
|
data/virtualmaster.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: virtualmaster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: commander
|
16
|
-
requirement: &
|
16
|
+
requirement: &70110396604660 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 4.1.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70110396604660
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: deltacloud-client
|
27
|
-
requirement: &
|
27
|
+
requirement: &70110396603860 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.5.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70110396603860
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: terminal-table
|
38
|
-
requirement: &
|
38
|
+
requirement: &70110396603080 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.4.4
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70110396603080
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: net-ssh
|
49
|
-
requirement: &
|
49
|
+
requirement: &70110396602420 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.3.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70110396602420
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &70110396601400 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,29 @@ dependencies:
|
|
65
65
|
version: '2'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70110396601400
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov
|
71
|
+
requirement: &70110396600160 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70110396600160
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: simplecov-rcov
|
82
|
+
requirement: &70110396598020 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70110396598020
|
69
91
|
description: Command line interface to Virtualmaster. Control your virtual infrastructure.
|
70
92
|
email:
|
71
93
|
- radim@laststation.net
|
@@ -92,6 +114,7 @@ files:
|
|
92
114
|
- lib/vmaster/server_commands.rb
|
93
115
|
- lib/vmaster/version.rb
|
94
116
|
- spec/commands_spec.rb
|
117
|
+
- spec/deltacloud_spec.rb
|
95
118
|
- spec/spec_helper.rb
|
96
119
|
- virtualmaster.gemspec
|
97
120
|
homepage: https://github.com/virtualmaster/virtualmaster-cli
|
@@ -120,4 +143,5 @@ specification_version: 3
|
|
120
143
|
summary: Command line interface to Virtualmaster
|
121
144
|
test_files:
|
122
145
|
- spec/commands_spec.rb
|
146
|
+
- spec/deltacloud_spec.rb
|
123
147
|
- spec/spec_helper.rb
|