vagrant-openstack-provider 0.6.0 → 0.6.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/lib/vagrant-openstack-provider/action/connect_openstack.rb +0 -1
  4. data/lib/vagrant-openstack-provider/action/create_server.rb +3 -2
  5. data/lib/vagrant-openstack-provider/action/create_stack.rb +3 -2
  6. data/lib/vagrant-openstack-provider/action/delete_server.rb +3 -2
  7. data/lib/vagrant-openstack-provider/action/delete_stack.rb +3 -2
  8. data/lib/vagrant-openstack-provider/action/wait_active.rb +3 -3
  9. data/lib/vagrant-openstack-provider/action/wait_stop.rb +3 -3
  10. data/lib/vagrant-openstack-provider/catalog/openstack_catalog.rb +6 -5
  11. data/lib/vagrant-openstack-provider/client/cinder.rb +0 -1
  12. data/lib/vagrant-openstack-provider/client/domain.rb +0 -1
  13. data/lib/vagrant-openstack-provider/client/glance.rb +5 -3
  14. data/lib/vagrant-openstack-provider/client/heat.rb +0 -1
  15. data/lib/vagrant-openstack-provider/client/http_utils.rb +7 -6
  16. data/lib/vagrant-openstack-provider/client/keystone.rb +5 -4
  17. data/lib/vagrant-openstack-provider/client/neutron.rb +0 -1
  18. data/lib/vagrant-openstack-provider/client/nova.rb +0 -1
  19. data/lib/vagrant-openstack-provider/client/openstack.rb +0 -1
  20. data/lib/vagrant-openstack-provider/client/request_logger.rb +0 -1
  21. data/lib/vagrant-openstack-provider/client/rest_utils.rb +25 -0
  22. data/lib/vagrant-openstack-provider/command/abstract_command.rb +4 -1
  23. data/lib/vagrant-openstack-provider/command/flavor_list.rb +3 -5
  24. data/lib/vagrant-openstack-provider/command/floatingip_list.rb +3 -5
  25. data/lib/vagrant-openstack-provider/command/image_list.rb +3 -5
  26. data/lib/vagrant-openstack-provider/command/network_list.rb +3 -5
  27. data/lib/vagrant-openstack-provider/command/openstack_command.rb +16 -0
  28. data/lib/vagrant-openstack-provider/command/reset.rb +1 -2
  29. data/lib/vagrant-openstack-provider/command/subnet_list.rb +2 -5
  30. data/lib/vagrant-openstack-provider/command/volume_list.rb +3 -5
  31. data/lib/vagrant-openstack-provider/config.rb +59 -2
  32. data/lib/vagrant-openstack-provider/config/http.rb +39 -0
  33. data/lib/vagrant-openstack-provider/config_resolver.rb +13 -9
  34. data/lib/vagrant-openstack-provider/utils.rb +11 -6
  35. data/lib/vagrant-openstack-provider/version.rb +1 -1
  36. data/locales/en.yml +4 -0
  37. data/spec/vagrant-openstack-provider/action/connect_openstack_spec.rb +226 -4
  38. data/spec/vagrant-openstack-provider/action/create_server_spec.rb +6 -3
  39. data/spec/vagrant-openstack-provider/action/create_stack_spec.rb +7 -3
  40. data/spec/vagrant-openstack-provider/action/delete_server_spec.rb +13 -4
  41. data/spec/vagrant-openstack-provider/action/read_ssh_info_spec.rb +24 -3
  42. data/spec/vagrant-openstack-provider/action/wait_active_spec.rb +9 -2
  43. data/spec/vagrant-openstack-provider/action/wait_stop_spec.rb +9 -2
  44. data/spec/vagrant-openstack-provider/client/cinder_spec.rb +17 -1
  45. data/spec/vagrant-openstack-provider/client/glance_spec.rb +18 -2
  46. data/spec/vagrant-openstack-provider/client/heat_spec.rb +8 -0
  47. data/spec/vagrant-openstack-provider/client/keystone_spec.rb +8 -0
  48. data/spec/vagrant-openstack-provider/client/neutron_spec.rb +18 -2
  49. data/spec/vagrant-openstack-provider/client/nova_spec.rb +8 -0
  50. data/spec/vagrant-openstack-provider/config_resolver_spec.rb +10 -0
  51. data/spec/vagrant-openstack-provider/config_spec.rb +39 -4
  52. data/spec/vagrant-openstack-provider/utils_spec.rb +17 -17
  53. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6fcb72c6f544989dbe6afa13b2320eb81f35505e
4
- data.tar.gz: 5f04da4d1e21da40d5d7ad6bb83e471e654292f6
3
+ metadata.gz: 79d085018733ba06b31b2f7fb8f904a29db8040b
4
+ data.tar.gz: 263505f7c34eb0c3456f00794fe5158076cc6654
5
5
  SHA512:
6
- metadata.gz: b4427ad7ce03abf95ebbc7f1dabc6188d66cb5daf5a8c5b07f9ff21c6bc44b8fdb62767ff4549bdb99c26bca4b775aad0d648d7df13865420e2ec440217705b9
7
- data.tar.gz: 98450beaed75447f516f1be64dd46b399d6aa4e856d999a01f213fe7a0594693fe74d6108034efd1f200d191e0d597e637c7147a057752304a0295e48bc0d28e
6
+ metadata.gz: c544a9afd69438fe6a0d4b63e3d283c241c890fab6a334ba0ef4d95bb9411516f715af9494313bc3b811e32371e8624b378ec0dece4060448fd8d2c90b759837
7
+ data.tar.gz: 670e6af16eeb1b62312518ef589bf12eb6b38ee8d4f44147a47b3c4eecdfd997f76e813459b39c5f1be722286c495cdb61ab516b18ae3ef682230faa0b82cb0a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ # 0.6.1 (January 30, 2015)
2
+
3
+ IMPROVEMENTS:
4
+
5
+ - Straightforward syntax to define single networks [#193](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/193)
6
+ - Network preference for SSH [#194](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/194)
7
+ - Allow lists in flavor values [#189](https://github.com/ggiamarchi/vagrant-openstack-provider/pull/189)
8
+ - Allow "wait active" timeout to be configurable [#185](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/185)
9
+ - Allow setting timeout value for REST calls [#183](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/183)
10
+
11
+ BUG FIXES:
12
+
13
+ - Vagrant openstack reset fails when the instance is not found [#195](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/195)
14
+ - Show explicit error when tenant is missing in credentials [#186](https://github.com/ggiamarchi/vagrant-openstack-provider/issues/186)
15
+
1
16
  # 0.6.0 (November 28, 2014)
2
17
 
3
18
  FEATURES:
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/openstack'
@@ -127,10 +127,11 @@ module VagrantPlugins
127
127
  nova.create_server(env, create_opts)
128
128
  end
129
129
 
130
- def waiting_for_server_to_be_built(env, server_id, retry_interval = 3, timeout = 200)
130
+ def waiting_for_server_to_be_built(env, server_id, retry_interval = 3)
131
131
  @logger.info "Waiting for the server with id #{server_id} to be built..."
132
132
  env[:ui].info(I18n.t('vagrant_openstack.waiting_for_build'))
133
- timeout(timeout, Errors::Timeout) do
133
+ config = env[:machine].provider_config
134
+ timeout(config.server_create_timeout, Errors::Timeout) do
134
135
  server_status = 'WAITING'
135
136
  until server_status == 'ACTIVE'
136
137
  @logger.debug('Waiting for server to be ACTIVE')
@@ -48,10 +48,11 @@ module VagrantPlugins
48
48
 
49
49
  private
50
50
 
51
- def waiting_for_stack_to_be_created(env, stack_name, stack_id, retry_interval = 3, timeout = 200)
51
+ def waiting_for_stack_to_be_created(env, stack_name, stack_id, retry_interval = 3)
52
52
  @logger.info "Waiting for the stack with id #{stack_id} to be built..."
53
53
  env[:ui].info(I18n.t('vagrant_openstack.waiting_for_stack'))
54
- timeout(timeout, Errors::Timeout) do
54
+ config = env[:machine].provider_config
55
+ timeout(config.stack_create_timeout, Errors::Timeout) do
55
56
  stack_status = 'CREATE_IN_PROGRESS'
56
57
  until stack_status == 'CREATE_COMPLETE'
57
58
  @logger.debug('Waiting for stack to be CREATED')
@@ -28,10 +28,11 @@ module VagrantPlugins
28
28
 
29
29
  private
30
30
 
31
- def waiting_for_instance_to_be_deleted(env, instance_id, retry_interval = 3, timeout = 200)
31
+ def waiting_for_instance_to_be_deleted(env, instance_id, retry_interval = 3)
32
32
  @logger.info "Waiting for the instance with id #{instance_id} to be deleted..."
33
33
  env[:ui].info(I18n.t('vagrant_openstack.waiting_deleted'))
34
- timeout(timeout, Errors::Timeout) do
34
+ config = env[:machine].provider_config
35
+ timeout(config.server_delete_timeout, Errors::Timeout) do
35
36
  delete_ok = false
36
37
  until delete_ok
37
38
  begin
@@ -53,10 +53,11 @@ module VagrantPlugins
53
53
  stack_files
54
54
  end
55
55
 
56
- def waiting_for_stack_to_be_deleted(env, stack_name, stack_id, retry_interval = 3, timeout = 200)
56
+ def waiting_for_stack_to_be_deleted(env, stack_name, stack_id, retry_interval = 3)
57
57
  @logger.info "Waiting for the stack with id #{stack_id} to be deleted..."
58
58
  env[:ui].info(I18n.t('vagrant_openstack.waiting_for_stack_deleted'))
59
- timeout(timeout, Errors::Timeout) do
59
+ config = env[:machine].provider_config
60
+ timeout(config.stack_delete_timeout, Errors::Timeout) do
60
61
  stack_status = 'DELETE_IN_PROGRESS'
61
62
  until stack_status == 'DELETE_COMPLETE'
62
63
  @logger.debug('Waiting for stack to be DELETED')
@@ -7,18 +7,18 @@ module VagrantPlugins
7
7
  module Openstack
8
8
  module Action
9
9
  class WaitForServerToBeActive < AbstractAction
10
- def initialize(app, _env, retry_interval = 3, timeout = 200)
10
+ def initialize(app, _env, retry_interval = 3)
11
11
  @app = app
12
12
  @logger = Log4r::Logger.new('vagrant_openstack::action::start_server')
13
13
  @retry_interval = retry_interval
14
- @timeout = timeout
15
14
  end
16
15
 
17
16
  def execute(env)
18
17
  if env[:machine].id
19
18
  env[:ui].info(I18n.t('vagrant_openstack.waiting_start'))
20
19
  client = env[:openstack_client].nova
21
- timeout(@timeout, Errors::Timeout) do
20
+ config = env[:machine].provider_config
21
+ timeout(config.server_active_timeout, Errors::Timeout) do
22
22
  while client.get_server_details(env, env[:machine].id)['status'] != 'ACTIVE'
23
23
  sleep @retry_interval
24
24
  @logger.info('Waiting for server to be active')
@@ -7,18 +7,18 @@ module VagrantPlugins
7
7
  module Openstack
8
8
  module Action
9
9
  class WaitForServerToStop < AbstractAction
10
- def initialize(app, _env, retry_interval = 3, timeout = 200)
10
+ def initialize(app, _env, retry_interval = 3)
11
11
  @app = app
12
12
  @logger = Log4r::Logger.new('vagrant_openstack::action::stop_server')
13
13
  @retry_interval = retry_interval
14
- @timeout = timeout
15
14
  end
16
15
 
17
16
  def execute(env)
18
17
  if env[:machine].id
19
18
  env[:ui].info(I18n.t('vagrant_openstack.waiting_stop'))
20
19
  client = env[:openstack_client].nova
21
- timeout(@timeout, Errors::Timeout) do
20
+ config = env[:machine].provider_config
21
+ timeout(config.server_stop_timeout, Errors::Timeout) do
22
22
  while client.get_server_details(env, env[:machine].id)['status'] != 'SHUTOFF'
23
23
  sleep @retry_interval
24
24
  @logger.info('Waiting for server to stop')
@@ -10,6 +10,7 @@ module VagrantPlugins
10
10
  config = env[:machine].provider_config
11
11
  client = env[:openstack_client]
12
12
  endpoints = client.session.endpoints
13
+ endpoint_type = config.endpoint_type
13
14
  @logger.info(I18n.t('vagrant_openstack.client.looking_for_available_endpoints'))
14
15
  @logger.info("Selecting endpoints matching region '#{config.region}'") unless config.region.nil?
15
16
 
@@ -18,23 +19,23 @@ module VagrantPlugins
18
19
  if config.region.nil?
19
20
  if se.size > 1
20
21
  env[:ui].warn I18n.t('vagrant_openstack.client.multiple_endpoint', size: se.size, type: service['type'])
21
- env[:ui].warn " => #{service['endpoints'][0]['publicURL']}"
22
+ env[:ui].warn " => #{service['endpoints'][0][endpoint_type]}"
22
23
  end
23
- url = se[0]['publicURL'].strip
24
+ url = se[0][endpoint_type].strip
24
25
  else
25
26
  se.each do |endpoint|
26
- url = endpoint['publicURL'].strip if endpoint['region'].eql? config.region
27
+ url = endpoint[endpoint_type].strip if endpoint['region'].eql? config.region
27
28
  end
28
29
  end
29
30
  endpoints[service['type'].to_sym] = url unless url.nil? || url.empty?
30
31
  end
31
32
 
32
33
  endpoints[:network] = choose_api_version('Neutron', 'openstack_network_url', 'v2') do
33
- client.neutron.get_api_version_list(:network)
34
+ client.neutron.get_api_version_list(env, :network)
34
35
  end if config.openstack_network_url.nil? && !endpoints[:network].nil?
35
36
 
36
37
  endpoints[:image] = choose_api_version('Glance', 'openstack_image_url', nil, false) do
37
- client.glance.get_api_version_list(:image)
38
+ client.glance.get_api_version_list(env)
38
39
  end if config.openstack_image_url.nil? && !endpoints[:image].nil?
39
40
  end
40
41
 
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/http_utils'
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  module VagrantPlugins
@@ -1,8 +1,8 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/http_utils'
5
+ require 'vagrant-openstack-provider/client/rest_utils'
6
6
  require 'vagrant-openstack-provider/client/domain'
7
7
 
8
8
  module VagrantPlugins
@@ -17,8 +17,10 @@ module VagrantPlugins
17
17
  @session = VagrantPlugins::Openstack.session
18
18
  end
19
19
 
20
- def get_api_version_list(_env)
21
- json = RestClient.get(@session.endpoints[:image], 'X-Auth-Token' => @session.token, :accept => :json) do |response|
20
+ def get_api_version_list(env)
21
+ json = RestUtils.get(env, @session.endpoints[:image],
22
+ 'X-Auth-Token' => @session.token,
23
+ :accept => :json) do |response|
22
24
  log_response(response)
23
25
  case response.code
24
26
  when 200, 300
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/http_utils'
@@ -1,9 +1,9 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/keystone'
6
5
  require 'vagrant-openstack-provider/client/request_logger'
6
+ require 'vagrant-openstack-provider/client/rest_utils'
7
7
 
8
8
  module VagrantPlugins
9
9
  module Openstack
@@ -19,7 +19,7 @@ module VagrantPlugins
19
19
  log_request(:GET, url, headers)
20
20
 
21
21
  authenticated(env) do
22
- RestClient.get(url, headers) { |res| handle_response(res) }.tap do
22
+ RestUtils.get(env, url, headers) { |res| handle_response(res) }.tap do
23
23
  @logger.debug("#{calling_method} - end")
24
24
  end
25
25
  end
@@ -34,7 +34,7 @@ module VagrantPlugins
34
34
  log_request(:POST, url, body, headers)
35
35
 
36
36
  authenticated(env) do
37
- RestClient.post(url, body, headers) { |res| handle_response(res) }.tap do
37
+ RestUtils.post(env, url, body, headers) { |res| handle_response(res) }.tap do
38
38
  @logger.debug("#{calling_method} - end")
39
39
  end
40
40
  end
@@ -49,17 +49,18 @@ module VagrantPlugins
49
49
  log_request(:DELETE, url, headers)
50
50
 
51
51
  authenticated(env) do
52
- RestClient.delete(url, headers) { |res| handle_response(res) }.tap do
52
+ RestUtils.delete(env, url, headers) { |res| handle_response(res) }.tap do
53
53
  @logger.debug("#{calling_method} - end")
54
54
  end
55
55
  end
56
56
  end
57
57
 
58
- def get_api_version_list(service_type)
58
+ def get_api_version_list(env, service_type)
59
59
  url = @session.endpoints[service_type]
60
60
  headers = { 'X-Auth-Token' => @session.token, :accept => :json }
61
61
  log_request(:GET, url, headers)
62
- json = RestClient.get(url, headers) do |response|
62
+
63
+ json = RestUtils.get(env, url, headers) do |response|
63
64
  log_response(response)
64
65
  case response.code
65
66
  when 200, 300
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/request_logger'
@@ -37,9 +36,11 @@ module VagrantPlugins
37
36
 
38
37
  post_body[:auth][:passwordCredentials][:password] = config.password
39
38
 
40
- authentication = RestClient.post(config.openstack_auth_url, post_body.to_json,
41
- content_type: :json,
42
- accept: :json) do |response|
39
+ authentication = RestUtils.post(env, config.openstack_auth_url, post_body.to_json,
40
+ content_type: :json,
41
+ accept: :json,
42
+ timeout: config.http.read_timeout,
43
+ open_timeout: config.http.open_timeout) do |response|
43
44
  log_response(response)
44
45
  case response.code
45
46
  when 200
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/http_utils'
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/http_utils'
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  require 'vagrant-openstack-provider/client/heat'
@@ -1,5 +1,4 @@
1
1
  require 'log4r'
2
- require 'restclient'
3
2
  require 'json'
4
3
 
5
4
  module VagrantPlugins
@@ -0,0 +1,25 @@
1
+ require 'restclient'
2
+
3
+ module VagrantPlugins
4
+ module Openstack
5
+ module RestUtils
6
+ def self.get(env, url, headers = {}, &block)
7
+ config = env[:machine].provider_config
8
+ RestClient::Request.execute(method: :get, url: url, headers: headers,
9
+ timeout: config.http.read_timeout, open_timeout: config.http.open_timeout, &block)
10
+ end
11
+
12
+ def self.post(env, url, payload, headers = {}, &block)
13
+ config = env[:machine].provider_config
14
+ RestClient::Request.execute(method: :post, url: url, payload: payload, headers: headers,
15
+ timeout: config.http.read_timeout, open_timeout: config.http.open_timeout, &block)
16
+ end
17
+
18
+ def self.delete(env, url, headers = {}, &block)
19
+ config = env[:machine].provider_config
20
+ RestClient::Request.execute(method: :delete, url: url, headers: headers,
21
+ timeout: config.http.read_timeout, open_timeout: config.http.open_timeout, &block)
22
+ end
23
+ end
24
+ end
25
+ end
@@ -16,7 +16,7 @@ module VagrantPlugins
16
16
  env[:ui] = @env.ui
17
17
  end
18
18
 
19
- VagrantPlugins::Openstack::Action::ConnectOpenstack.new(nil, env).call(env)
19
+ before_cmd(name, @argv, env)
20
20
 
21
21
  cmd(name, @argv, env)
22
22
  @env.ui.info('')
@@ -38,6 +38,9 @@ module VagrantPlugins
38
38
  args
39
39
  end
40
40
 
41
+ def before_cmd(_name, _argv, _env)
42
+ end
43
+
41
44
  def cmd(_name, _argv, _env)
42
45
  fail 'Command not implemented. \'cmd\' method must be overridden in all subclasses'
43
46
  end
@@ -1,15 +1,13 @@
1
- require 'vagrant-openstack-provider/command/utils'
2
- require 'vagrant-openstack-provider/command/abstract_command'
1
+ require 'vagrant-openstack-provider/command/openstack_command'
3
2
 
4
3
  module VagrantPlugins
5
4
  module Openstack
6
5
  module Command
7
- class FlavorList < AbstractCommand
8
- include VagrantPlugins::Openstack::Command::Utils
9
-
6
+ class FlavorList < OpenstackCommand
10
7
  def self.synopsis
11
8
  I18n.t('vagrant_openstack.command.flavor_list_synopsis')
12
9
  end
10
+
13
11
  def cmd(name, argv, env)
14
12
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
15
13
  flavors = env[:openstack_client].nova.get_all_flavors(env)
@@ -1,15 +1,13 @@
1
- require 'vagrant-openstack-provider/command/utils'
2
- require 'vagrant-openstack-provider/command/abstract_command'
1
+ require 'vagrant-openstack-provider/command/openstack_command'
3
2
 
4
3
  module VagrantPlugins
5
4
  module Openstack
6
5
  module Command
7
- class FloatingIpList < AbstractCommand
8
- include VagrantPlugins::Openstack::Command::Utils
9
-
6
+ class FloatingIpList < OpenstackCommand
10
7
  def self.synopsis
11
8
  I18n.t('vagrant_openstack.command.flaotingip_list_synopsis')
12
9
  end
10
+
13
11
  def cmd(name, argv, env)
14
12
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
15
13
 
@@ -1,15 +1,13 @@
1
- require 'vagrant-openstack-provider/command/utils'
2
- require 'vagrant-openstack-provider/command/abstract_command'
1
+ require 'vagrant-openstack-provider/command/openstack_command'
3
2
 
4
3
  module VagrantPlugins
5
4
  module Openstack
6
5
  module Command
7
- class ImageList < AbstractCommand
8
- include VagrantPlugins::Openstack::Command::Utils
9
-
6
+ class ImageList < OpenstackCommand
10
7
  def self.synopsis
11
8
  I18n.t('vagrant_openstack.command.image_list_synopsis')
12
9
  end
10
+
13
11
  def cmd(name, argv, env)
14
12
  fail Errors::NoArgRequiredForCommand, cmd: name unless argv.size == 0
15
13
  rows = []
@@ -1,15 +1,13 @@
1
- require 'vagrant-openstack-provider/command/utils'
2
- require 'vagrant-openstack-provider/command/abstract_command'
1
+ require 'vagrant-openstack-provider/command/openstack_command'
3
2
 
4
3
  module VagrantPlugins
5
4
  module Openstack
6
5
  module Command
7
- class NetworkList < AbstractCommand
8
- include VagrantPlugins::Openstack::Command::Utils
9
-
6
+ class NetworkList < OpenstackCommand
10
7
  def self.synopsis
11
8
  I18n.t('vagrant_openstack.command.network_list_synopsis')
12
9
  end
10
+
13
11
  def cmd(name, argv, env)
14
12
  fail Errors::UnrecognizedArgForCommand, cmd: name, arg: argv[1] if argv.size > 1
15
13
  if argv.size == 0