vagrant-openstack-provider 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
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