vagrant-openstack-illuin-provider 0.12.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.
Files changed (115) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.rubocop.yml +40 -0
  4. data/CHANGELOG.md +282 -0
  5. data/Gemfile +18 -0
  6. data/RELEASE.md +15 -0
  7. data/Rakefile +25 -0
  8. data/Vagrantfile +20 -0
  9. data/dummy.box +0 -0
  10. data/example_box/README.md +13 -0
  11. data/example_box/metadata.json +3 -0
  12. data/functional_tests/Vagrantfile +58 -0
  13. data/functional_tests/keys/vagrant-openstack +27 -0
  14. data/functional_tests/keys/vagrant-openstack.pub +1 -0
  15. data/functional_tests/run_tests.sh +142 -0
  16. data/lib/vagrant-openstack-illuin-provider.rb +29 -0
  17. data/lib/vagrant-openstack-illuin-provider/action.rb +344 -0
  18. data/lib/vagrant-openstack-illuin-provider/action/abstract_action.rb +22 -0
  19. data/lib/vagrant-openstack-illuin-provider/action/connect_openstack.rb +60 -0
  20. data/lib/vagrant-openstack-illuin-provider/action/create_server.rb +187 -0
  21. data/lib/vagrant-openstack-illuin-provider/action/create_stack.rb +76 -0
  22. data/lib/vagrant-openstack-illuin-provider/action/delete_server.rb +53 -0
  23. data/lib/vagrant-openstack-illuin-provider/action/delete_stack.rb +73 -0
  24. data/lib/vagrant-openstack-illuin-provider/action/message.rb +19 -0
  25. data/lib/vagrant-openstack-illuin-provider/action/provision.rb +60 -0
  26. data/lib/vagrant-openstack-illuin-provider/action/read_ssh_info.rb +74 -0
  27. data/lib/vagrant-openstack-illuin-provider/action/read_state.rb +43 -0
  28. data/lib/vagrant-openstack-illuin-provider/action/resume.rb +24 -0
  29. data/lib/vagrant-openstack-illuin-provider/action/snapshot_cleanup.rb +32 -0
  30. data/lib/vagrant-openstack-illuin-provider/action/snapshot_delete.rb +32 -0
  31. data/lib/vagrant-openstack-illuin-provider/action/snapshot_list.rb +22 -0
  32. data/lib/vagrant-openstack-illuin-provider/action/snapshot_restore.rb +29 -0
  33. data/lib/vagrant-openstack-illuin-provider/action/snapshot_save.rb +51 -0
  34. data/lib/vagrant-openstack-illuin-provider/action/start_server.rb +24 -0
  35. data/lib/vagrant-openstack-illuin-provider/action/stop_server.rb +25 -0
  36. data/lib/vagrant-openstack-illuin-provider/action/suspend.rb +24 -0
  37. data/lib/vagrant-openstack-illuin-provider/action/sync_folders.rb +138 -0
  38. data/lib/vagrant-openstack-illuin-provider/action/wait_active.rb +33 -0
  39. data/lib/vagrant-openstack-illuin-provider/action/wait_stop.rb +33 -0
  40. data/lib/vagrant-openstack-illuin-provider/cap/snapshot_list.rb +15 -0
  41. data/lib/vagrant-openstack-illuin-provider/catalog/openstack_catalog.rb +90 -0
  42. data/lib/vagrant-openstack-illuin-provider/client/cinder.rb +39 -0
  43. data/lib/vagrant-openstack-illuin-provider/client/domain.rb +163 -0
  44. data/lib/vagrant-openstack-illuin-provider/client/glance.rb +65 -0
  45. data/lib/vagrant-openstack-illuin-provider/client/heat.rb +49 -0
  46. data/lib/vagrant-openstack-illuin-provider/client/http_utils.rb +116 -0
  47. data/lib/vagrant-openstack-illuin-provider/client/keystone.rb +128 -0
  48. data/lib/vagrant-openstack-illuin-provider/client/neutron.rb +48 -0
  49. data/lib/vagrant-openstack-illuin-provider/client/nova.rb +303 -0
  50. data/lib/vagrant-openstack-illuin-provider/client/openstack.rb +59 -0
  51. data/lib/vagrant-openstack-illuin-provider/client/request_logger.rb +23 -0
  52. data/lib/vagrant-openstack-illuin-provider/client/rest_utils.rb +28 -0
  53. data/lib/vagrant-openstack-illuin-provider/command/abstract_command.rb +51 -0
  54. data/lib/vagrant-openstack-illuin-provider/command/flavor_list.rb +24 -0
  55. data/lib/vagrant-openstack-illuin-provider/command/floatingip_list.rb +32 -0
  56. data/lib/vagrant-openstack-illuin-provider/command/image_list.rb +29 -0
  57. data/lib/vagrant-openstack-illuin-provider/command/main.rb +52 -0
  58. data/lib/vagrant-openstack-illuin-provider/command/network_list.rb +25 -0
  59. data/lib/vagrant-openstack-illuin-provider/command/openstack_command.rb +16 -0
  60. data/lib/vagrant-openstack-illuin-provider/command/reset.rb +20 -0
  61. data/lib/vagrant-openstack-illuin-provider/command/subnet_list.rb +22 -0
  62. data/lib/vagrant-openstack-illuin-provider/command/utils.rb +22 -0
  63. data/lib/vagrant-openstack-illuin-provider/command/volume_list.rb +25 -0
  64. data/lib/vagrant-openstack-illuin-provider/config.rb +505 -0
  65. data/lib/vagrant-openstack-illuin-provider/config/http.rb +39 -0
  66. data/lib/vagrant-openstack-illuin-provider/config_resolver.rb +334 -0
  67. data/lib/vagrant-openstack-illuin-provider/errors.rb +187 -0
  68. data/lib/vagrant-openstack-illuin-provider/logging.rb +39 -0
  69. data/lib/vagrant-openstack-illuin-provider/plugin.rb +58 -0
  70. data/lib/vagrant-openstack-illuin-provider/provider.rb +50 -0
  71. data/lib/vagrant-openstack-illuin-provider/utils.rb +81 -0
  72. data/lib/vagrant-openstack-illuin-provider/version.rb +15 -0
  73. data/lib/vagrant-openstack-illuin-provider/version_checker.rb +76 -0
  74. data/locales/en.yml +412 -0
  75. data/spec/vagrant-openstack-illuin-provider/action/connect_openstack_spec.rb +770 -0
  76. data/spec/vagrant-openstack-illuin-provider/action/create_server_spec.rb +260 -0
  77. data/spec/vagrant-openstack-illuin-provider/action/create_stack_spec.rb +99 -0
  78. data/spec/vagrant-openstack-illuin-provider/action/delete_server_spec.rb +89 -0
  79. data/spec/vagrant-openstack-illuin-provider/action/delete_stack_spec.rb +63 -0
  80. data/spec/vagrant-openstack-illuin-provider/action/message_spec.rb +33 -0
  81. data/spec/vagrant-openstack-illuin-provider/action/provision_spec.rb +97 -0
  82. data/spec/vagrant-openstack-illuin-provider/action/read_ssh_info_spec.rb +202 -0
  83. data/spec/vagrant-openstack-illuin-provider/action/read_state_spec.rb +81 -0
  84. data/spec/vagrant-openstack-illuin-provider/action/resume_server_spec.rb +49 -0
  85. data/spec/vagrant-openstack-illuin-provider/action/start_server_spec.rb +49 -0
  86. data/spec/vagrant-openstack-illuin-provider/action/stop_server_spec.rb +49 -0
  87. data/spec/vagrant-openstack-illuin-provider/action/suspend_server_spec.rb +49 -0
  88. data/spec/vagrant-openstack-illuin-provider/action/sync_folders_spec.rb +155 -0
  89. data/spec/vagrant-openstack-illuin-provider/action/wait_active_spec.rb +53 -0
  90. data/spec/vagrant-openstack-illuin-provider/action/wait_stop_spec.rb +53 -0
  91. data/spec/vagrant-openstack-illuin-provider/action_spec.rb +120 -0
  92. data/spec/vagrant-openstack-illuin-provider/client/cinder_spec.rb +129 -0
  93. data/spec/vagrant-openstack-illuin-provider/client/glance_spec.rb +145 -0
  94. data/spec/vagrant-openstack-illuin-provider/client/heat_spec.rb +130 -0
  95. data/spec/vagrant-openstack-illuin-provider/client/keystone_spec.rb +226 -0
  96. data/spec/vagrant-openstack-illuin-provider/client/neutron_spec.rb +173 -0
  97. data/spec/vagrant-openstack-illuin-provider/client/nova_spec.rb +760 -0
  98. data/spec/vagrant-openstack-illuin-provider/client/utils_spec.rb +176 -0
  99. data/spec/vagrant-openstack-illuin-provider/command/flavor_list_spec.rb +43 -0
  100. data/spec/vagrant-openstack-illuin-provider/command/floatingip_list_spec.rb +74 -0
  101. data/spec/vagrant-openstack-illuin-provider/command/image_list_spec.rb +95 -0
  102. data/spec/vagrant-openstack-illuin-provider/command/network_list_spec.rb +65 -0
  103. data/spec/vagrant-openstack-illuin-provider/command/reset_spec.rb +24 -0
  104. data/spec/vagrant-openstack-illuin-provider/command/subnet_list_spec.rb +45 -0
  105. data/spec/vagrant-openstack-illuin-provider/command/volume_list_spec.rb +40 -0
  106. data/spec/vagrant-openstack-illuin-provider/config_resolver_spec.rb +879 -0
  107. data/spec/vagrant-openstack-illuin-provider/config_spec.rb +416 -0
  108. data/spec/vagrant-openstack-illuin-provider/e2e_spec.rb.save +27 -0
  109. data/spec/vagrant-openstack-illuin-provider/provider_spec.rb +13 -0
  110. data/spec/vagrant-openstack-illuin-provider/spec_helper.rb +37 -0
  111. data/spec/vagrant-openstack-illuin-provider/utils_spec.rb +197 -0
  112. data/spec/vagrant-openstack-illuin-provider/version_checker_spec.rb +39 -0
  113. data/stackrc +25 -0
  114. data/vagrant-openstack-illuin-provider.gemspec +35 -0
  115. metadata +379 -0
@@ -0,0 +1,37 @@
1
+
2
+ if ENV['COVERAGE'] != 'false'
3
+ require 'simplecov'
4
+ require 'coveralls'
5
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
6
+ SimpleCov::Formatter::HTMLFormatter,
7
+ Coveralls::SimpleCov::Formatter
8
+ ]
9
+ SimpleCov.start do
10
+ add_filter 'spec'
11
+ end
12
+ end
13
+
14
+ Dir[
15
+ 'lib/vagrant-openstack-illuin-provider/version_checker.rb',
16
+ 'lib/vagrant-openstack-illuin-provider/logging.rb',
17
+ 'lib/vagrant-openstack-illuin-provider/config.rb',
18
+ 'lib/vagrant-openstack-illuin-provider/config_resolver.rb',
19
+ 'lib/vagrant-openstack-illuin-provider/utils.rb',
20
+ 'lib/vagrant-openstack-illuin-provider/errors.rb',
21
+ 'lib/vagrant-openstack-illuin-provider/provider.rb',
22
+ 'lib/vagrant-openstack-illuin-provider/client/*.rb',
23
+ 'lib/vagrant-openstack-illuin-provider/command/*.rb',
24
+ 'lib/vagrant-openstack-illuin-provider/action/*.rb'].each { |file| require file[4, file.length - 1] }
25
+
26
+ require 'rspec/its'
27
+ require 'webmock/rspec'
28
+ require 'fakefs/safe'
29
+ require 'fakefs/spec_helpers'
30
+
31
+ RSpec.configure do |config|
32
+ config.include FakeFS::SpecHelpers, fakefs: true
33
+ end
34
+
35
+ I18n.load_path << File.expand_path('locales/en.yml', Pathname.new(File.expand_path('../../../', __FILE__)))
36
+
37
+ VagrantPlugins::Openstack::Logging.init
@@ -0,0 +1,197 @@
1
+ require 'vagrant-openstack-illuin-provider/spec_helper'
2
+
3
+ describe VagrantPlugins::Openstack::Utils do
4
+ let(:config) do
5
+ double('config').tap do |config|
6
+ config.stub(:tenant_name) { 'testTenant' }
7
+ config.stub(:server_name) { 'testName' }
8
+ config.stub(:floating_ip) { nil }
9
+ config.stub(:ip_version) { nil }
10
+ end
11
+ end
12
+
13
+ let(:nova) do
14
+ double('nova').tap do |nova|
15
+ nova.stub(:get_all_floating_ips).with(anything) do
16
+ [FloatingIP.new('80.81.82.83', 'pool-1', nil), FloatingIP.new('30.31.32.33', 'pool-2', '1234')]
17
+ end
18
+ end
19
+ end
20
+
21
+ let(:env) do
22
+ {}.tap do |env|
23
+ env[:machine] = double('machine')
24
+ env[:machine].stub(:provider_config) { config }
25
+ env[:machine].stub(:id) { '1234id' }
26
+ env[:openstack_client] = double('openstack_client')
27
+ env[:openstack_client].stub(:nova) { nova }
28
+ end
29
+ end
30
+
31
+ before :each do
32
+ Utils.send(:public, *Utils.private_instance_methods)
33
+ @action = Utils.new
34
+ end
35
+
36
+ describe 'get_ip_address' do
37
+ context 'without config.floating_ip' do
38
+ context 'with config.ip_version set to 4 and a single network' do
39
+ it 'returns ipv4 and no ipv6' do
40
+ config.stub(:ip_version) { 4 }
41
+ nova.stub(:get_server_details).with(env, '1234id') do
42
+ {
43
+ 'addresses' => {
44
+ 'net' => [
45
+ {
46
+ 'addr' => '2001:0db8:85a3:0000:0000:8a2e:0370:7334',
47
+ 'version' => 6
48
+ },
49
+ {
50
+ 'addr' => '13.13.13.13',
51
+ 'version' => 4
52
+ }
53
+ ]
54
+ }
55
+ }
56
+ end
57
+ expect(@action.get_ip_address(env)).to eq('13.13.13.13')
58
+ end
59
+ end
60
+
61
+ context 'with config.ip_version set to 6 and a single network' do
62
+ it 'returns ipv6 and no ipv4' do
63
+ config.stub(:ip_version) { 6 }
64
+ nova.stub(:get_server_details).with(env, '1234id') do
65
+ {
66
+ 'addresses' => {
67
+ 'net' => [
68
+ {
69
+ 'addr' => '13.13.13.13',
70
+ 'version' => 4
71
+ },
72
+ {
73
+ 'addr' => '2001:0db8:85a3:0000:0000:8a2e:0370:7334',
74
+ 'version' => 6
75
+ }
76
+ ]
77
+ }
78
+ }
79
+ end
80
+ expect(@action.get_ip_address(env)).to eq('2001:0db8:85a3:0000:0000:8a2e:0370:7334')
81
+ end
82
+ end
83
+
84
+ context 'with config.ip_version set to 6 and first network in config has only ipv4' do
85
+ it 'returns ipv6' do
86
+ config.stub(:ip_version) { 6 }
87
+ config.stub(:networks) { %w(net-2 net-1) }
88
+ nova.stub(:get_server_details).with(env, '1234id') do
89
+ {
90
+ 'addresses' => {
91
+ 'net-1' => [{
92
+ 'addr' => '2001:0db8:85a3:0000:0000:8a2e:0370:7334',
93
+ 'version' => 6
94
+ }],
95
+ 'net-2' => [{
96
+ 'addr' => '13.13.13.13',
97
+ 'version' => 4
98
+ }]
99
+ }
100
+ }
101
+ end
102
+ expect(@action.get_ip_address(env)).to eq('2001:0db8:85a3:0000:0000:8a2e:0370:7334')
103
+ end
104
+ end
105
+
106
+ context 'with floating ip in nova details' do
107
+ it 'returns floating_ip from nova details' do
108
+ config.stub(:floating_ip) { nil }
109
+ nova.stub(:get_server_details).with(env, '1234id') do
110
+ {
111
+ 'addresses' => {
112
+ 'net' => [{
113
+ 'addr' => '13.13.13.13'
114
+ }, {
115
+ 'addr' => '12.12.12.12',
116
+ 'OS-EXT-IPS:type' => 'floating'
117
+ }]
118
+ }
119
+ }
120
+ end
121
+ @action.get_ip_address(env).should eq('12.12.12.12')
122
+ end
123
+ end
124
+
125
+ context 'without floating ip in nova details' do
126
+ context 'with a single ip in nova details' do
127
+ it 'returns the single ip' do
128
+ config.stub(:floating_ip) { nil }
129
+ nova.stub(:get_server_details).with(env, '1234id') do
130
+ {
131
+ 'addresses' => {
132
+ 'net' => [{
133
+ 'addr' => '13.13.13.13',
134
+ 'OS-EXT-IPS:type' => 'fixed'
135
+ }]
136
+ }
137
+ }
138
+ end
139
+ expect(@action.get_ip_address(env)).to eq('13.13.13.13')
140
+ end
141
+ end
142
+
143
+ context 'with multiple ips in nova details' do
144
+ it 'return the one corresponding to the first network in the Vagrantfile' do
145
+ config.stub(:floating_ip) { nil }
146
+ config.stub(:networks) { %w(net-2 net-1 net-3) }
147
+ nova.stub(:get_server_details).with(env, '1234id') do
148
+ {
149
+ 'addresses' => {
150
+ 'net-1' => [{
151
+ 'addr' => '11.11.11.11',
152
+ 'OS-EXT-IPS:type' => 'fixed'
153
+ }],
154
+ 'net-2' => [{
155
+ 'addr' => '12.12.12.12',
156
+ 'OS-EXT-IPS:type' => 'fixed'
157
+ }],
158
+ 'net-3' => [{
159
+ 'addr' => '13.13.13.13',
160
+ 'OS-EXT-IPS:type' => 'fixed'
161
+ }]
162
+ }
163
+ }
164
+ end
165
+ expect(@action.get_ip_address(env)).to eq('12.12.12.12')
166
+ end
167
+ end
168
+
169
+ context 'with networks but no ips' do
170
+ it 'fails' do
171
+ config.stub(:floating_ip) { nil }
172
+ nova.stub(:get_server_details).with(env, '1234id') do
173
+ {
174
+ 'addresses' => {
175
+ 'net' => []
176
+ }
177
+ }
178
+ end
179
+ expect { @action.get_ip_address(env) }.to raise_error(Errors::UnableToResolveIP)
180
+ end
181
+ end
182
+
183
+ context 'with no networks ' do
184
+ it 'fails' do
185
+ config.stub(:floating_ip) { nil }
186
+ nova.stub(:get_server_details).with(env, '1234id') do
187
+ {
188
+ 'addresses' => {}
189
+ }
190
+ end
191
+ expect { @action.get_ip_address(env) }.to raise_error(Errors::UnableToResolveIP)
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,39 @@
1
+ require 'vagrant-openstack-illuin-provider/spec_helper'
2
+
3
+ describe VagrantPlugins::Openstack::VersionChecker do
4
+ let(:version) do
5
+ double('version')
6
+ end
7
+
8
+ before :each do
9
+ @checker = VersionChecker.instance
10
+ @checker.status = nil
11
+ Gem.should_receive(:latest_spec_for)
12
+ .with('vagrant-openstack-illuin-provider')
13
+ .and_return(OpenStruct.new.tap { |v| v.version = version })
14
+ end
15
+
16
+ describe 'check' do
17
+ it { assert_version_is :latest, '1.2.3', '1.2.3' }
18
+ it { assert_version_is :latest, '999.999.999', '999.999.999' }
19
+ it { assert_version_is :unstable, '9999.999.999', '9999.999.999' }
20
+ it { assert_version_is :unstable, '999.9999.999', '999.9999.999' }
21
+ it { assert_version_is :unstable, '999.999.9999', '999.999.9999' }
22
+ it { assert_version_is :unstable, '1.2', '1.2' }
23
+ it { assert_version_is :outdated, '1.2.3', '1.2.2' }
24
+ it { assert_version_is :outdated, '1.8.999', '1.8.998' }
25
+ it { assert_version_is :outdated, '1.9.0', '1.8.999' }
26
+ it { assert_version_is :outdated, '2.0.0', '1.999.999' }
27
+ end
28
+
29
+ private
30
+
31
+ def assert_version_is(expected_status, latest, current)
32
+ stub_const('VagrantPlugins::Openstack::VERSION', current)
33
+ version.stub(:version) { latest }
34
+ @checker.stub(:print)
35
+ expect(@checker).to receive(:print) unless expected_status == :latest
36
+ @checker.check
37
+ expect(@checker.status).to eq(expected_status)
38
+ end
39
+ end
data/stackrc ADDED
@@ -0,0 +1,25 @@
1
+ #!/bin/bash
2
+
3
+ #Provider examples:
4
+ #Numergy
5
+ export OS_AUTH_URL=https://cloud.numergy.com/identity/v2.0/tokens
6
+ export OS_NETWORK_URL=https://cloud.numergy.com/network/v2.0
7
+ #....
8
+
9
+ if [ -z "$OS_USERNAME" ]; then
10
+ echo "Please enter your OpenStack tenant name: "
11
+ read -sr OS_TENANT_NAME_INPUT
12
+ export OS_TENANT_NAME=$OS_TENANT_NAME_INPUT
13
+ fi
14
+
15
+ if [ -z "$OS_USERNAME" ]; then
16
+ echo "Please enter your OpenStack username: "
17
+ read -sr OS_USERNAME_INPUT
18
+ export OS_USERNAME=$OS_USERNAME_INPUT
19
+ fi
20
+
21
+ if [ -z "$OS_PASSWORD" ]; then
22
+ echo "Please enter your OpenStack Password: "
23
+ read -sr OS_PASSWORD_INPUT
24
+ export OS_PASSWORD=$OS_PASSWORD_INPUT
25
+ fi
@@ -0,0 +1,35 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'vagrant-openstack-illuin-provider/version'
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = 'vagrant-openstack-illuin-provider'
7
+ gem.version = VagrantPlugins::Openstack::VERSION
8
+ gem.authors = ['Guillaume Giamarchi', 'Julien Vey', 'Paul des Garets']
9
+ gem.email = ['guillaume.giamarchi@gmail.com', 'vey.julien@gmail.com', 'paul.des-garets@illuin.tech']
10
+ gem.description = 'Enables Vagrant to manage machines in OpenStack Cloud.'
11
+ gem.summary = 'Enables Vagrant to manage machines in OpenStack Cloud.'
12
+ gem.homepage = 'https://github.com/illuin-tech/vagrant-openstack-provider'
13
+ gem.license = 'MIT'
14
+
15
+ gem.add_dependency 'json', '>= 1.8.1', '< 3.0'
16
+ gem.add_dependency 'rest-client', '>= 1.6.0', '< 3.0'
17
+ gem.add_dependency 'terminal-table', '1.4.5'
18
+ gem.add_dependency 'sshkey', '1.6.1'
19
+ gem.add_dependency 'colorize', '0.7.3'
20
+ gem.add_dependency 'public_suffix', '2.0.5'
21
+
22
+ # Constraint rake to properly handle deprecated method usage
23
+ # from within rspec 3.1.z
24
+ gem.add_development_dependency 'rake', '~> 11.3.0'
25
+ gem.add_development_dependency 'rspec', '~> 3.1.0'
26
+ gem.add_development_dependency 'rspec-its', '~> 1.0.1'
27
+ gem.add_development_dependency 'rspec-expectations', '~> 3.1.2'
28
+ gem.add_development_dependency 'webmock', '~> 1.18.0'
29
+ gem.add_development_dependency 'fakefs', '~> 0.5.2'
30
+
31
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
32
+ gem.executables = gem.files.grep(/^bin\//).map { |f| File.basename(f) }
33
+ gem.test_files = gem.files.grep(/^(test|spec|features)\//)
34
+ gem.require_paths = ['lib']
35
+ end
metadata ADDED
@@ -0,0 +1,379 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-openstack-illuin-provider
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.12.0
5
+ platform: ruby
6
+ authors:
7
+ - Guillaume Giamarchi
8
+ - Julien Vey
9
+ - Paul des Garets
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2018-03-12 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: json
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 1.8.1
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: '3.0'
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 1.8.1
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '3.0'
35
+ - !ruby/object:Gem::Dependency
36
+ name: rest-client
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 1.6.0
42
+ - - "<"
43
+ - !ruby/object:Gem::Version
44
+ version: '3.0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 1.6.0
52
+ - - "<"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: terminal-table
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.4.5
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.4.5
69
+ - !ruby/object:Gem::Dependency
70
+ name: sshkey
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.6.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.6.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: colorize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: public_suffix
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 2.0.5
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 2.0.5
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 11.3.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 11.3.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 3.1.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 3.1.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec-its
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.0.1
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.0.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-expectations
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 3.1.2
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 3.1.2
167
+ - !ruby/object:Gem::Dependency
168
+ name: webmock
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.18.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.18.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: fakefs
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.5.2
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 0.5.2
195
+ description: Enables Vagrant to manage machines in OpenStack Cloud.
196
+ email:
197
+ - guillaume.giamarchi@gmail.com
198
+ - vey.julien@gmail.com
199
+ - paul.des-garets@illuin.tech
200
+ executables: []
201
+ extensions: []
202
+ extra_rdoc_files: []
203
+ files:
204
+ - ".gitignore"
205
+ - ".rubocop.yml"
206
+ - CHANGELOG.md
207
+ - Gemfile
208
+ - RELEASE.md
209
+ - Rakefile
210
+ - Vagrantfile
211
+ - dummy.box
212
+ - example_box/README.md
213
+ - example_box/metadata.json
214
+ - functional_tests/Vagrantfile
215
+ - functional_tests/keys/vagrant-openstack
216
+ - functional_tests/keys/vagrant-openstack.pub
217
+ - functional_tests/run_tests.sh
218
+ - lib/vagrant-openstack-illuin-provider.rb
219
+ - lib/vagrant-openstack-illuin-provider/action.rb
220
+ - lib/vagrant-openstack-illuin-provider/action/abstract_action.rb
221
+ - lib/vagrant-openstack-illuin-provider/action/connect_openstack.rb
222
+ - lib/vagrant-openstack-illuin-provider/action/create_server.rb
223
+ - lib/vagrant-openstack-illuin-provider/action/create_stack.rb
224
+ - lib/vagrant-openstack-illuin-provider/action/delete_server.rb
225
+ - lib/vagrant-openstack-illuin-provider/action/delete_stack.rb
226
+ - lib/vagrant-openstack-illuin-provider/action/message.rb
227
+ - lib/vagrant-openstack-illuin-provider/action/provision.rb
228
+ - lib/vagrant-openstack-illuin-provider/action/read_ssh_info.rb
229
+ - lib/vagrant-openstack-illuin-provider/action/read_state.rb
230
+ - lib/vagrant-openstack-illuin-provider/action/resume.rb
231
+ - lib/vagrant-openstack-illuin-provider/action/snapshot_cleanup.rb
232
+ - lib/vagrant-openstack-illuin-provider/action/snapshot_delete.rb
233
+ - lib/vagrant-openstack-illuin-provider/action/snapshot_list.rb
234
+ - lib/vagrant-openstack-illuin-provider/action/snapshot_restore.rb
235
+ - lib/vagrant-openstack-illuin-provider/action/snapshot_save.rb
236
+ - lib/vagrant-openstack-illuin-provider/action/start_server.rb
237
+ - lib/vagrant-openstack-illuin-provider/action/stop_server.rb
238
+ - lib/vagrant-openstack-illuin-provider/action/suspend.rb
239
+ - lib/vagrant-openstack-illuin-provider/action/sync_folders.rb
240
+ - lib/vagrant-openstack-illuin-provider/action/wait_active.rb
241
+ - lib/vagrant-openstack-illuin-provider/action/wait_stop.rb
242
+ - lib/vagrant-openstack-illuin-provider/cap/snapshot_list.rb
243
+ - lib/vagrant-openstack-illuin-provider/catalog/openstack_catalog.rb
244
+ - lib/vagrant-openstack-illuin-provider/client/cinder.rb
245
+ - lib/vagrant-openstack-illuin-provider/client/domain.rb
246
+ - lib/vagrant-openstack-illuin-provider/client/glance.rb
247
+ - lib/vagrant-openstack-illuin-provider/client/heat.rb
248
+ - lib/vagrant-openstack-illuin-provider/client/http_utils.rb
249
+ - lib/vagrant-openstack-illuin-provider/client/keystone.rb
250
+ - lib/vagrant-openstack-illuin-provider/client/neutron.rb
251
+ - lib/vagrant-openstack-illuin-provider/client/nova.rb
252
+ - lib/vagrant-openstack-illuin-provider/client/openstack.rb
253
+ - lib/vagrant-openstack-illuin-provider/client/request_logger.rb
254
+ - lib/vagrant-openstack-illuin-provider/client/rest_utils.rb
255
+ - lib/vagrant-openstack-illuin-provider/command/abstract_command.rb
256
+ - lib/vagrant-openstack-illuin-provider/command/flavor_list.rb
257
+ - lib/vagrant-openstack-illuin-provider/command/floatingip_list.rb
258
+ - lib/vagrant-openstack-illuin-provider/command/image_list.rb
259
+ - lib/vagrant-openstack-illuin-provider/command/main.rb
260
+ - lib/vagrant-openstack-illuin-provider/command/network_list.rb
261
+ - lib/vagrant-openstack-illuin-provider/command/openstack_command.rb
262
+ - lib/vagrant-openstack-illuin-provider/command/reset.rb
263
+ - lib/vagrant-openstack-illuin-provider/command/subnet_list.rb
264
+ - lib/vagrant-openstack-illuin-provider/command/utils.rb
265
+ - lib/vagrant-openstack-illuin-provider/command/volume_list.rb
266
+ - lib/vagrant-openstack-illuin-provider/config.rb
267
+ - lib/vagrant-openstack-illuin-provider/config/http.rb
268
+ - lib/vagrant-openstack-illuin-provider/config_resolver.rb
269
+ - lib/vagrant-openstack-illuin-provider/errors.rb
270
+ - lib/vagrant-openstack-illuin-provider/logging.rb
271
+ - lib/vagrant-openstack-illuin-provider/plugin.rb
272
+ - lib/vagrant-openstack-illuin-provider/provider.rb
273
+ - lib/vagrant-openstack-illuin-provider/utils.rb
274
+ - lib/vagrant-openstack-illuin-provider/version.rb
275
+ - lib/vagrant-openstack-illuin-provider/version_checker.rb
276
+ - locales/en.yml
277
+ - spec/vagrant-openstack-illuin-provider/action/connect_openstack_spec.rb
278
+ - spec/vagrant-openstack-illuin-provider/action/create_server_spec.rb
279
+ - spec/vagrant-openstack-illuin-provider/action/create_stack_spec.rb
280
+ - spec/vagrant-openstack-illuin-provider/action/delete_server_spec.rb
281
+ - spec/vagrant-openstack-illuin-provider/action/delete_stack_spec.rb
282
+ - spec/vagrant-openstack-illuin-provider/action/message_spec.rb
283
+ - spec/vagrant-openstack-illuin-provider/action/provision_spec.rb
284
+ - spec/vagrant-openstack-illuin-provider/action/read_ssh_info_spec.rb
285
+ - spec/vagrant-openstack-illuin-provider/action/read_state_spec.rb
286
+ - spec/vagrant-openstack-illuin-provider/action/resume_server_spec.rb
287
+ - spec/vagrant-openstack-illuin-provider/action/start_server_spec.rb
288
+ - spec/vagrant-openstack-illuin-provider/action/stop_server_spec.rb
289
+ - spec/vagrant-openstack-illuin-provider/action/suspend_server_spec.rb
290
+ - spec/vagrant-openstack-illuin-provider/action/sync_folders_spec.rb
291
+ - spec/vagrant-openstack-illuin-provider/action/wait_active_spec.rb
292
+ - spec/vagrant-openstack-illuin-provider/action/wait_stop_spec.rb
293
+ - spec/vagrant-openstack-illuin-provider/action_spec.rb
294
+ - spec/vagrant-openstack-illuin-provider/client/cinder_spec.rb
295
+ - spec/vagrant-openstack-illuin-provider/client/glance_spec.rb
296
+ - spec/vagrant-openstack-illuin-provider/client/heat_spec.rb
297
+ - spec/vagrant-openstack-illuin-provider/client/keystone_spec.rb
298
+ - spec/vagrant-openstack-illuin-provider/client/neutron_spec.rb
299
+ - spec/vagrant-openstack-illuin-provider/client/nova_spec.rb
300
+ - spec/vagrant-openstack-illuin-provider/client/utils_spec.rb
301
+ - spec/vagrant-openstack-illuin-provider/command/flavor_list_spec.rb
302
+ - spec/vagrant-openstack-illuin-provider/command/floatingip_list_spec.rb
303
+ - spec/vagrant-openstack-illuin-provider/command/image_list_spec.rb
304
+ - spec/vagrant-openstack-illuin-provider/command/network_list_spec.rb
305
+ - spec/vagrant-openstack-illuin-provider/command/reset_spec.rb
306
+ - spec/vagrant-openstack-illuin-provider/command/subnet_list_spec.rb
307
+ - spec/vagrant-openstack-illuin-provider/command/volume_list_spec.rb
308
+ - spec/vagrant-openstack-illuin-provider/config_resolver_spec.rb
309
+ - spec/vagrant-openstack-illuin-provider/config_spec.rb
310
+ - spec/vagrant-openstack-illuin-provider/e2e_spec.rb.save
311
+ - spec/vagrant-openstack-illuin-provider/provider_spec.rb
312
+ - spec/vagrant-openstack-illuin-provider/spec_helper.rb
313
+ - spec/vagrant-openstack-illuin-provider/utils_spec.rb
314
+ - spec/vagrant-openstack-illuin-provider/version_checker_spec.rb
315
+ - stackrc
316
+ - vagrant-openstack-illuin-provider.gemspec
317
+ homepage: https://github.com/illuin-tech/vagrant-openstack-provider
318
+ licenses:
319
+ - MIT
320
+ metadata: {}
321
+ post_install_message:
322
+ rdoc_options: []
323
+ require_paths:
324
+ - lib
325
+ required_ruby_version: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - ">="
328
+ - !ruby/object:Gem::Version
329
+ version: '0'
330
+ required_rubygems_version: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ requirements: []
336
+ rubyforge_project:
337
+ rubygems_version: 2.6.8
338
+ signing_key:
339
+ specification_version: 4
340
+ summary: Enables Vagrant to manage machines in OpenStack Cloud.
341
+ test_files:
342
+ - spec/vagrant-openstack-illuin-provider/action/connect_openstack_spec.rb
343
+ - spec/vagrant-openstack-illuin-provider/action/create_server_spec.rb
344
+ - spec/vagrant-openstack-illuin-provider/action/create_stack_spec.rb
345
+ - spec/vagrant-openstack-illuin-provider/action/delete_server_spec.rb
346
+ - spec/vagrant-openstack-illuin-provider/action/delete_stack_spec.rb
347
+ - spec/vagrant-openstack-illuin-provider/action/message_spec.rb
348
+ - spec/vagrant-openstack-illuin-provider/action/provision_spec.rb
349
+ - spec/vagrant-openstack-illuin-provider/action/read_ssh_info_spec.rb
350
+ - spec/vagrant-openstack-illuin-provider/action/read_state_spec.rb
351
+ - spec/vagrant-openstack-illuin-provider/action/resume_server_spec.rb
352
+ - spec/vagrant-openstack-illuin-provider/action/start_server_spec.rb
353
+ - spec/vagrant-openstack-illuin-provider/action/stop_server_spec.rb
354
+ - spec/vagrant-openstack-illuin-provider/action/suspend_server_spec.rb
355
+ - spec/vagrant-openstack-illuin-provider/action/sync_folders_spec.rb
356
+ - spec/vagrant-openstack-illuin-provider/action/wait_active_spec.rb
357
+ - spec/vagrant-openstack-illuin-provider/action/wait_stop_spec.rb
358
+ - spec/vagrant-openstack-illuin-provider/action_spec.rb
359
+ - spec/vagrant-openstack-illuin-provider/client/cinder_spec.rb
360
+ - spec/vagrant-openstack-illuin-provider/client/glance_spec.rb
361
+ - spec/vagrant-openstack-illuin-provider/client/heat_spec.rb
362
+ - spec/vagrant-openstack-illuin-provider/client/keystone_spec.rb
363
+ - spec/vagrant-openstack-illuin-provider/client/neutron_spec.rb
364
+ - spec/vagrant-openstack-illuin-provider/client/nova_spec.rb
365
+ - spec/vagrant-openstack-illuin-provider/client/utils_spec.rb
366
+ - spec/vagrant-openstack-illuin-provider/command/flavor_list_spec.rb
367
+ - spec/vagrant-openstack-illuin-provider/command/floatingip_list_spec.rb
368
+ - spec/vagrant-openstack-illuin-provider/command/image_list_spec.rb
369
+ - spec/vagrant-openstack-illuin-provider/command/network_list_spec.rb
370
+ - spec/vagrant-openstack-illuin-provider/command/reset_spec.rb
371
+ - spec/vagrant-openstack-illuin-provider/command/subnet_list_spec.rb
372
+ - spec/vagrant-openstack-illuin-provider/command/volume_list_spec.rb
373
+ - spec/vagrant-openstack-illuin-provider/config_resolver_spec.rb
374
+ - spec/vagrant-openstack-illuin-provider/config_spec.rb
375
+ - spec/vagrant-openstack-illuin-provider/e2e_spec.rb.save
376
+ - spec/vagrant-openstack-illuin-provider/provider_spec.rb
377
+ - spec/vagrant-openstack-illuin-provider/spec_helper.rb
378
+ - spec/vagrant-openstack-illuin-provider/utils_spec.rb
379
+ - spec/vagrant-openstack-illuin-provider/version_checker_spec.rb