vagrant-openstack-provider 0.3.0 → 0.3.2
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 +5 -13
- data/CHANGELOG.md +7 -0
- data/Gemfile +4 -0
- data/lib/vagrant-openstack-provider/client/domain.rb +34 -0
- data/lib/vagrant-openstack-provider/client/nova.rb +4 -2
- data/lib/vagrant-openstack-provider/command/flavor_list.rb +7 -2
- data/lib/vagrant-openstack-provider/command/floatingip_list.rb +1 -1
- data/lib/vagrant-openstack-provider/command/image_list.rb +1 -1
- data/lib/vagrant-openstack-provider/command/network_list.rb +1 -1
- data/lib/vagrant-openstack-provider/command/utils.rb +1 -1
- data/lib/vagrant-openstack-provider/version.rb +1 -1
- data/spec/vagrant-openstack-provider/client/nova_spec.rb +8 -6
- data/vagrant-openstack-provider.gemspec +5 -0
- metadata +68 -12
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
N2UwODBjOGE5ZTgwOGEwYjQ4ZjE3YmMwZjA4ZWVlOGUyYmYyMTI4Zg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 646c0f2d9af2adc263a14c00ceeb12e95e1b4959
|
4
|
+
data.tar.gz: 830a3a035677fdecb4d34a8509d2f2277aefe526
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NWJlMDk0NGViOTU3MDA0ZDEwMmY3YzY1ZmU0OWQ4NjZiZWRhNzExZmIzNGU5
|
11
|
-
ZGU4OWE0NTFkYWY2MTM2NTcwZWU0MjMzYzA2ZTUxNmM4NTI4OWY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NDY3YmZmOTA2OWJkMGRlOTE0ODdkYmEwNmM1YzNlZmE5ODlkMjViZWNjMjUx
|
14
|
-
OWY1NTgxZWQwMDBjMmQ1MDllMWE4MGU1MzM0YjZhNTVjM2ZiMDE1ZmE4MzJk
|
15
|
-
ZGE2Y2NhNjFmZjE5NmU1YTBlMWYxYjUzNWM2ZDIzMGQ2MjIyN2Q=
|
6
|
+
metadata.gz: 37f7b1bd1f4bfefe872c1c345bc0f766691d928feb962f410d60cec828dd2d287c6950802977c69ac88d498398e77916eec9913949e4f4cc14d24a15a92a0473
|
7
|
+
data.tar.gz: 3b806a165b43362c97a78e2fdbf9d5fd40b64bf6c7159ce7d08dfb00bafe40c0580247b1258e18b01771c8ba16f4ba3ea242db43a22f66358cdc017a763c427d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# 0.3.2 (September 1, 2014)
|
2
|
+
|
3
|
+
BUG FIXES:
|
4
|
+
|
5
|
+
- The provider fails to load colorize gem [#76](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/76)
|
6
|
+
- Sub-command arguments management have change in vagrant 1.5 [#77](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/77)
|
7
|
+
|
1
8
|
# 0.3.0 (August 29, 2014)
|
2
9
|
|
3
10
|
FEATURES:
|
data/Gemfile
CHANGED
@@ -13,6 +13,40 @@ module VagrantPlugins
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
class Flavor < Item
|
17
|
+
#
|
18
|
+
# THe number of vCPU
|
19
|
+
#
|
20
|
+
attr_accessor :vcpus
|
21
|
+
|
22
|
+
#
|
23
|
+
# The amount of RAM in Megaoctet
|
24
|
+
#
|
25
|
+
attr_accessor :ram
|
26
|
+
|
27
|
+
#
|
28
|
+
# The size of root disk in Gigaoctet
|
29
|
+
#
|
30
|
+
attr_accessor :disk
|
31
|
+
|
32
|
+
def initialize(id, name, vcpus, ram, disk)
|
33
|
+
@vcpus = vcpus
|
34
|
+
@ram = ram
|
35
|
+
@disk = disk
|
36
|
+
super(id, name)
|
37
|
+
end
|
38
|
+
|
39
|
+
def ==(other)
|
40
|
+
other.class == self.class && other.state == state
|
41
|
+
end
|
42
|
+
|
43
|
+
protected
|
44
|
+
|
45
|
+
def state
|
46
|
+
[@id, @name, @vcpus, @ram, @disk]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
16
50
|
class FloatingIP
|
17
51
|
attr_accessor :ip, :pool, :instance_id
|
18
52
|
def initialize(ip, pool, instance_id)
|
@@ -18,8 +18,10 @@ module VagrantPlugins
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def get_all_flavors(env)
|
21
|
-
flavors_json = get(env, "#{@session.endpoints[:compute]}/flavors")
|
22
|
-
JSON.parse(flavors_json)['flavors'].map
|
21
|
+
flavors_json = get(env, "#{@session.endpoints[:compute]}/flavors/detail")
|
22
|
+
JSON.parse(flavors_json)['flavors'].map do |fl|
|
23
|
+
Flavor.new(fl['id'], fl['name'], fl['vcpus'], fl['ram'], fl['disk'])
|
24
|
+
end
|
23
25
|
end
|
24
26
|
|
25
27
|
def get_all_floating_ips(env)
|
@@ -11,9 +11,14 @@ module VagrantPlugins
|
|
11
11
|
I18n.t('vagrant_openstack.command.flavor_list_synopsis')
|
12
12
|
end
|
13
13
|
def cmd(name, argv, env)
|
14
|
-
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size ==
|
14
|
+
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0 || argv == ['--']
|
15
15
|
flavors = env[:openstack_client].nova.get_all_flavors(env)
|
16
|
-
|
16
|
+
|
17
|
+
rows = []
|
18
|
+
flavors.each do |f|
|
19
|
+
rows << [f.id, f.name, f.vcpus, f.ram, f.disk]
|
20
|
+
end
|
21
|
+
display_table(env, ['Id', 'Name', 'vCPU', 'RAM (Mo)', 'Disk size (Go)'], rows)
|
17
22
|
end
|
18
23
|
end
|
19
24
|
end
|
@@ -11,7 +11,7 @@ module VagrantPlugins
|
|
11
11
|
I18n.t('vagrant_openstack.command.flaotingip_list_synopsis')
|
12
12
|
end
|
13
13
|
def cmd(name, argv, env)
|
14
|
-
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size ==
|
14
|
+
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0 || argv == ['--']
|
15
15
|
|
16
16
|
floating_ip_pools = env[:openstack_client].nova.get_floating_ip_pools(env)
|
17
17
|
floating_ips = env[:openstack_client].nova.get_floating_ips(env)
|
@@ -11,7 +11,7 @@ module VagrantPlugins
|
|
11
11
|
I18n.t('vagrant_openstack.command.image_list_synopsis')
|
12
12
|
end
|
13
13
|
def cmd(name, argv, env)
|
14
|
-
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size ==
|
14
|
+
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0 || argv == ['--']
|
15
15
|
images = env[:openstack_client].nova.get_all_images(env)
|
16
16
|
display_item_list(env, images)
|
17
17
|
end
|
@@ -11,7 +11,7 @@ module VagrantPlugins
|
|
11
11
|
I18n.t('vagrant_openstack.command.network_list_synopsis')
|
12
12
|
end
|
13
13
|
def cmd(name, argv, env)
|
14
|
-
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size ==
|
14
|
+
fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0 || argv == ['--']
|
15
15
|
flavors = env[:openstack_client].neutron.get_private_networks(env)
|
16
16
|
display_item_list(env, flavors)
|
17
17
|
end
|
@@ -45,7 +45,7 @@ describe VagrantPlugins::Openstack::NovaClient do
|
|
45
45
|
describe 'get_all_flavors' do
|
46
46
|
context 'with token and project_id acquainted' do
|
47
47
|
it 'returns all flavors' do
|
48
|
-
stub_request(:get, 'http://nova/a1b2c3/flavors')
|
48
|
+
stub_request(:get, 'http://nova/a1b2c3/flavors/detail')
|
49
49
|
.with(
|
50
50
|
headers:
|
51
51
|
{
|
@@ -54,15 +54,17 @@ describe VagrantPlugins::Openstack::NovaClient do
|
|
54
54
|
})
|
55
55
|
.to_return(
|
56
56
|
status: 200,
|
57
|
-
body: '{
|
57
|
+
body: '{
|
58
|
+
"flavors": [
|
59
|
+
{ "id": "f1", "name": "flavor1", "vcpus":"1", "ram": "1024", "disk": "10"},
|
60
|
+
{ "id": "f2", "name": "flavor2", "vcpus":"2", "ram": "2048", "disk": "20"}
|
61
|
+
]}')
|
58
62
|
|
59
63
|
flavors = @nova_client.get_all_flavors(env)
|
60
64
|
|
61
65
|
expect(flavors.length).to eq(2)
|
62
|
-
expect(flavors[0]
|
63
|
-
expect(flavors[
|
64
|
-
expect(flavors[1].id).to eq('f2')
|
65
|
-
expect(flavors[1].name).to eq('flavor2')
|
66
|
+
expect(flavors[0]).to eq(Flavor.new('f1', 'flavor1', '1', '1024', '10'))
|
67
|
+
expect(flavors[1]).to eq(Flavor.new('f2', 'flavor2', '2', '2048', '20'))
|
66
68
|
end
|
67
69
|
end
|
68
70
|
end
|
@@ -11,6 +11,11 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.summary = 'Enables Vagrant to manage machines in Openstack Cloud.'
|
12
12
|
gem.homepage = 'https://github.com/ggiamarchi/vagrant-openstack'
|
13
13
|
|
14
|
+
gem.add_dependency 'restclient', '0.10.0'
|
15
|
+
gem.add_dependency 'terminal-table', '1.4.5'
|
16
|
+
gem.add_dependency 'sshkey', '1.6.1'
|
17
|
+
gem.add_dependency 'colorize', '0.7.3'
|
18
|
+
|
14
19
|
gem.add_development_dependency 'rake'
|
15
20
|
gem.add_development_dependency 'rspec', '~> 2.13.0'
|
16
21
|
gem.add_development_dependency 'aruba'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-openstack-provider
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guillaume Giamarchi
|
@@ -9,48 +9,104 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-09-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: restclient
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 0.10.0
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 0.10.0
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: terminal-table
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 1.4.5
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.4.5
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: sshkey
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 1.6.1
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 1.6.1
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: colorize
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.7.3
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.7.3
|
14
70
|
- !ruby/object:Gem::Dependency
|
15
71
|
name: rake
|
16
72
|
requirement: !ruby/object:Gem::Requirement
|
17
73
|
requirements:
|
18
|
-
- -
|
74
|
+
- - ">="
|
19
75
|
- !ruby/object:Gem::Version
|
20
76
|
version: '0'
|
21
77
|
type: :development
|
22
78
|
prerelease: false
|
23
79
|
version_requirements: !ruby/object:Gem::Requirement
|
24
80
|
requirements:
|
25
|
-
- -
|
81
|
+
- - ">="
|
26
82
|
- !ruby/object:Gem::Version
|
27
83
|
version: '0'
|
28
84
|
- !ruby/object:Gem::Dependency
|
29
85
|
name: rspec
|
30
86
|
requirement: !ruby/object:Gem::Requirement
|
31
87
|
requirements:
|
32
|
-
- - ~>
|
88
|
+
- - "~>"
|
33
89
|
- !ruby/object:Gem::Version
|
34
90
|
version: 2.13.0
|
35
91
|
type: :development
|
36
92
|
prerelease: false
|
37
93
|
version_requirements: !ruby/object:Gem::Requirement
|
38
94
|
requirements:
|
39
|
-
- - ~>
|
95
|
+
- - "~>"
|
40
96
|
- !ruby/object:Gem::Version
|
41
97
|
version: 2.13.0
|
42
98
|
- !ruby/object:Gem::Dependency
|
43
99
|
name: aruba
|
44
100
|
requirement: !ruby/object:Gem::Requirement
|
45
101
|
requirements:
|
46
|
-
- -
|
102
|
+
- - ">="
|
47
103
|
- !ruby/object:Gem::Version
|
48
104
|
version: '0'
|
49
105
|
type: :development
|
50
106
|
prerelease: false
|
51
107
|
version_requirements: !ruby/object:Gem::Requirement
|
52
108
|
requirements:
|
53
|
-
- -
|
109
|
+
- - ">="
|
54
110
|
- !ruby/object:Gem::Version
|
55
111
|
version: '0'
|
56
112
|
description: Enables Vagrant to manage machines in Openstack Cloud.
|
@@ -61,8 +117,8 @@ executables: []
|
|
61
117
|
extensions: []
|
62
118
|
extra_rdoc_files: []
|
63
119
|
files:
|
64
|
-
- .gitignore
|
65
|
-
- .rubocop.yml
|
120
|
+
- ".gitignore"
|
121
|
+
- ".rubocop.yml"
|
66
122
|
- Appraisals
|
67
123
|
- CHANGELOG.md
|
68
124
|
- Gemfile
|
@@ -137,12 +193,12 @@ require_paths:
|
|
137
193
|
- lib
|
138
194
|
required_ruby_version: !ruby/object:Gem::Requirement
|
139
195
|
requirements:
|
140
|
-
- -
|
196
|
+
- - ">="
|
141
197
|
- !ruby/object:Gem::Version
|
142
198
|
version: '0'
|
143
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
200
|
requirements:
|
145
|
-
- -
|
201
|
+
- - ">="
|
146
202
|
- !ruby/object:Gem::Version
|
147
203
|
version: '0'
|
148
204
|
requirements: []
|