vagrant-veertu 0.0.12 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: baf61d2628adfc5abce3e9f64f026bfb9336f40d
4
- data.tar.gz: 919a93f225c02cf7909cd735ca8116bbaf1b405c
3
+ metadata.gz: e3bb7fba0711390479da3fb382a57199a529185f
4
+ data.tar.gz: 9957d516b85e7ecf0484c955598e271fe38c8bee
5
5
  SHA512:
6
- metadata.gz: 37469e495849349516bf405c54c2bec7e281f13adc5361a40233ddacda3505ce69b80b58d268df4fc99ab2b7e9047932935387b91c45e3e834904251f9f17a33
7
- data.tar.gz: 15b8caf2ac85f0411b7b380eec795251dce13aa852c9f58aa46ab2af539ed75a94fa7e30a45af0218817f48b503c2a41c71708189b5e10355f3cf80bde1d7998
6
+ metadata.gz: f7e8873e36590077513aa5765d065d149fc53ee3939662bd7e767ab40b367da3efcdcdbfa509dbfc6d9c1a94b848e3d5186e50573171fd02ab83f6794a99add8
7
+ data.tar.gz: 5f7e18a06bf5ec55785b1b5ba6399a8f8b86237d338c21e0029a1c5d893909211236110aae825cfa8c2d800b70c7b4fb47608fe8daf25f3236ba71c9579ea938
data/Gemfile CHANGED
@@ -1,7 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- source "file:///Users/alexf/vagrant-veertu"
4
-
5
3
  group :development do
6
4
  gem "vagrant", git: "https://github.com/mitchellh/vagrant.git"
7
5
  end
@@ -54,6 +54,10 @@ module VagrantPlugins
54
54
  b.use EnvSet, port_collision_repair: true
55
55
  b.use PrepareForwardedPortCollisionParams
56
56
  b.use HandleForwardedPortCollisions
57
+ b.use PrepareNFSValidIds
58
+ b.use SyncedFolderCleanup
59
+ b.use SyncedFolders
60
+ b.use PrepareNFSSettings
57
61
  b.use Network
58
62
  b.use NetworkFixIPv6
59
63
  b.use ForwardPorts
@@ -1,14 +1,14 @@
1
1
  module VagrantPlugins
2
2
  module ProviderVeertu
3
3
  module Action
4
- # Checks that VirtualBox is installed and ready to be used.
4
+ # Checks that Veertu is installed and ready to be used.
5
5
  class CheckVeertu
6
6
  def initialize(app, env)
7
7
  @app = app
8
8
  end
9
9
 
10
10
  def call(env)
11
- # This verifies that VirtualBox is installed and the driver is
11
+ # This verifies that Veertu is installed and the driver is
12
12
  # ready to function. If not, then an exception will be raised
13
13
  # which will break us out of execution of the middleware sequence.
14
14
  Driver::Meta.new.verify!
@@ -8,7 +8,7 @@ module VagrantPlugins
8
8
  end
9
9
 
10
10
  def call(env)
11
- puts 'running customize'
11
+
12
12
 
13
13
  customizations = []
14
14
  env[:machine].provider_config.customizations.each do |event, command|
@@ -28,7 +28,7 @@ module VagrantPlugins
28
28
  begin
29
29
  env[:machine].provider.driver.execute_command(
30
30
  processed_command + [retryable: true])
31
- rescue Vagrant::Errors::VBoxManageError => e
31
+ rescue Vagrant::Errors::VeertuManageError => e
32
32
  raise Vagrant::Errors::VMCustomizationFailed, {
33
33
  command: command,
34
34
  error: e.inspect
@@ -6,6 +6,7 @@ module VagrantPlugins
6
6
  class Export
7
7
  def initialize(app, env)
8
8
  @app = app
9
+ @logger = Log4r::Logger.new("vagrant::provider::veertu_5_0")
9
10
  end
10
11
 
11
12
  def call(env)
@@ -24,7 +25,7 @@ module VagrantPlugins
24
25
  @env[:ui].info I18n.t("vagrant.actions.vm.export.exporting")
25
26
  @env[:machine].provider.driver.export(ovf_path) do |progress|
26
27
  @env[:ui].clear_line
27
- @env[:ui].report_progress(progress.percent, 100, false)
28
+ @env[:ui].report_progress(progress, 100, false)
28
29
  end
29
30
 
30
31
  # Clear the line a final time so the next data can appear
@@ -33,7 +34,7 @@ module VagrantPlugins
33
34
  end
34
35
 
35
36
  def ovf_path
36
- File.join(@env["export.temp_dir"], "box.ovf")
37
+ File.join(@env["export.temp_dir"], "box.vmz")
37
38
  end
38
39
  end
39
40
  end
@@ -14,7 +14,7 @@ module VagrantPlugins
14
14
  end
15
15
 
16
16
  # Sleep for a second to verify that the VM properly
17
- # cleans itself up. Silly VirtualBox.
17
+ # cleans itself up. Silly Veertu.
18
18
  sleep 1 if !env["vagrant.test"]
19
19
 
20
20
  @app.call(env)
@@ -46,7 +46,7 @@ module VagrantPlugins
46
46
  }
47
47
 
48
48
  # Assuming the only reason to establish port forwarding is
49
- # because the VM is using Virtualbox NAT networking. Host-only
49
+ # because the VM is using Veertu NAT networking. Host-only
50
50
  # bridged networking don't require port-forwarding and establishing
51
51
  # forwarded ports on these attachment types has uncertain behaviour.
52
52
  @env[:ui].detail(I18n.t("vagrant.actions.vm.forward_ports.forwarding_entry",
@@ -9,7 +9,7 @@ require "vagrant/util/scoped_hash_override"
9
9
  module VagrantPlugins
10
10
  module ProviderVeertu
11
11
  module Action
12
- # This middleware class sets up all networking for the VirtualBox
12
+ # This middleware class sets up all networking for the Veertu
13
13
  # instance. This includes host only networks, bridged networking,
14
14
  # forwarded ports, etc.
15
15
  #
@@ -49,7 +49,7 @@ module VagrantPlugins
49
49
  slot = options[:adapter]
50
50
  if !slot
51
51
  if available_slots.empty?
52
- raise Vagrant::Errors::VirtualBoxNoRoomForHighLevelNetwork
52
+ raise Vagrant::Errors::VeertuNoRoomForHighLevelNetwork
53
53
  end
54
54
 
55
55
  slot = available_slots.shift
@@ -91,7 +91,7 @@ module VagrantPlugins
91
91
  config[:adapter] = slot
92
92
  @logger.debug("Normalized configuration: #{config.inspect}")
93
93
 
94
- # Get the VirtualBox adapter configuration
94
+ # Get the Veertu adapter configuration
95
95
  adapter = send("#{type}_adapter", config)
96
96
  adapters << adapter
97
97
  @logger.debug("Adapter configuration: #{adapter.inspect}")
@@ -108,7 +108,7 @@ module VagrantPlugins
108
108
  env[:ui].output(I18n.t("vagrant.actions.vm.network.preparing"))
109
109
  adapters.each do |adapter|
110
110
  env[:ui].detail(I18n.t(
111
- "vagrant.virtualbox.network_adapter",
111
+ "vagrant.veertu.network_adapter",
112
112
  adapter: adapter[:adapter].to_s,
113
113
  type: adapter[:type].to_s,
114
114
  extra: "",
@@ -270,7 +270,7 @@ module VagrantPlugins
270
270
  #
271
271
  # If the subnets overlap in any way then the host only network
272
272
  # will not work because the routing tables will force the
273
- # traffic onto the real interface rather than the VirtualBox
273
+ # traffic onto the real interface rather than the Veertu
274
274
  # interface.
275
275
  @env[:machine].provider.driver.read_bridged_interfaces.each do |interface|
276
276
  that_netaddr = network_address(interface[:ip], interface[:netmask])
@@ -491,9 +491,9 @@ module VagrantPlugins
491
491
  # DHCP Server Helper Functions
492
492
  #-----------------------------------------------------------------
493
493
 
494
- DEFAULT_DHCP_SERVER_FROM_VBOX_INSTALL = {
495
- network_name: 'HostInterfaceNetworking-vboxnet0',
496
- network: 'vboxnet0',
494
+ DEFAULT_DHCP_SERVER_FROM_VEERTU_INSTALL = {
495
+ network_name: 'HostInterfaceNetworking-veertunet0',
496
+ network: 'veertunet0',
497
497
  ip: '192.168.56.100',
498
498
  netmask: '255.255.255.0',
499
499
  lower: '192.168.56.101',
@@ -502,7 +502,7 @@ module VagrantPlugins
502
502
 
503
503
  #
504
504
  # When a host-only network of type: :dhcp is configured,
505
- # this handles the potential creation of a vbox dhcpserver to manage
505
+ # this handles the potential creation of a veertu dhcpserver to manage
506
506
  # it.
507
507
  #
508
508
  # @param [Hash<String>] interface hash as returned from read_host_only_interfaces
@@ -514,13 +514,13 @@ module VagrantPlugins
514
514
  if dhcp_server_matches_config?(existing_dhcp_server, config)
515
515
  @logger.debug("DHCP server already properly configured")
516
516
  return
517
- elsif existing_dhcp_server == DEFAULT_DHCP_SERVER_FROM_VBOX_INSTALL
518
- @env[:ui].info I18n.t("vagrant.actions.vm.network.cleanup_vbox_default_dhcp")
517
+ elsif existing_dhcp_server == DEFAULT_DHCP_SERVER_FROM_VEERTU_INSTALL
518
+ @env[:ui].info I18n.t("vagrant.actions.vm.network.cleanup_veertu_default_dhcp")
519
519
  @env[:machine].provider.driver.remove_dhcp_server(existing_dhcp_server[:network_name])
520
520
  else
521
521
  # We have an invalid DHCP server that we're not able to
522
522
  # automatically clean up, so we need to give up and tell the user
523
- # to sort out their own vbox dhcpservers and hostonlyifs
523
+ # to sort out their own veertu dhcpservers and hostonlyifs
524
524
  raise Vagrant::Errors::NetworkDHCPAlreadyAttached
525
525
  end
526
526
  end
@@ -9,7 +9,7 @@ require "vagrant/util/scoped_hash_override"
9
9
  module VagrantPlugins
10
10
  module ProviderVeertu
11
11
  module Action
12
- # This middleware works around a bug in VirtualBox where booting
12
+ # This middleware works around a bug in Veertu where booting
13
13
  # a VM with an IPv6 host-only network will someties lose the
14
14
  # route to that machine.
15
15
  class NetworkFixIPv6
@@ -82,7 +82,7 @@ module VagrantPlugins
82
82
  ips
83
83
  end
84
84
 
85
- # Returns the IP address of the guest by looking at vbox guest property
85
+ # Returns the IP address of the guest by looking at veertu guest property
86
86
  # for the appropriate guest adapter.
87
87
  #
88
88
  # For DHCP interfaces, the guest property will not be present until the
@@ -93,17 +93,17 @@ module VagrantPlugins
93
93
  def read_dynamic_machine_ip(adapter)
94
94
  return nil unless adapter
95
95
 
96
- # vbox guest properties are 0-indexed, while showvminfo network
96
+ # veertu guest properties are 0-indexed, while showvminfo network
97
97
  # interfaces are 1-indexed. go figure.
98
98
  guestproperty_adapter = adapter - 1
99
99
 
100
100
  # we need to wait for the guest's IP to show up as a guest property.
101
101
  # retry thresholds are relatively high since we might need to wait
102
102
  # for DHCP, but even static IPs can take a second or two to appear.
103
- retryable(retry_options.merge(on: Vagrant::Errors::VirtualBoxGuestPropertyNotFound)) do
103
+ retryable(retry_options.merge(on: Vagrant::Errors::VeertuGuestPropertyNotFound)) do
104
104
  @machine.provider.driver.read_guest_ip(guestproperty_adapter)
105
105
  end
106
- rescue Vagrant::Errors::VirtualBoxGuestPropertyNotFound
106
+ rescue Vagrant::Errors::VeertuGuestPropertyNotFound
107
107
  # this error is more specific with a better error message directing
108
108
  # the user towards the fact that it's probably a reportable bug
109
109
  raise Vagrant::Errors::NFSNoGuestIP
@@ -55,7 +55,7 @@ module VagrantPlugins
55
55
  begin
56
56
  @env[:machine].provider.driver.execute_command(
57
57
  command + [retryable: true])
58
- rescue Vagrant::Errors::VBoxManageError => e
58
+ rescue Vagrant::Errors::VeertuManageError => e
59
59
  @logger.info("#{log} (error = #{e.inspect})")
60
60
  end
61
61
  end
@@ -72,7 +72,7 @@ module VagrantPlugins
72
72
  if contents =~ /^nameserver 127\.0\.(0|1)\.1$/
73
73
  # The use of both natdnsproxy and natdnshostresolver break on
74
74
  # Ubuntu 12.04 and 12.10 that uses resolvconf with localhost. When used
75
- # VirtualBox will give the client dns server 10.0.2.3, while
75
+ # Veertu will give the client dns server 10.0.2.3, while
76
76
  # not binding to that address itself. Therefore disable this
77
77
  # feature if host uses the resolvconf server 127.0.0.1 or
78
78
  # 127.0.1.1
@@ -28,7 +28,7 @@ module VagrantPlugins
28
28
  # @return [Boolean]
29
29
  attr_accessor :destroy_unused_network_interfaces
30
30
 
31
- # If set to `true`, then VirtualBox will be launched with a GUI.
31
+ # If set to `true`, then Veertu will be launched with a GUI.
32
32
  #
33
33
  # @return [Boolean]
34
34
  attr_accessor :gui
@@ -47,18 +47,18 @@ module VagrantPlugins
47
47
  # @return [String]
48
48
  attr_accessor :linked_clone_snapshot
49
49
 
50
- # This should be set to the name of the machine in the VirtualBox
50
+ # This should be set to the name of the machine in the Veertu
51
51
  # GUI.
52
52
  #
53
53
  # @return [String]
54
54
  attr_accessor :name
55
55
 
56
- # Whether or not this VM has a functional vboxsf filesystem module.
57
- # This defaults to true. If you set this to false, then the "virtualbox"
56
+ # Whether or not this VM has a functional veertusf filesystem module.
57
+ # This defaults to true. If you set this to false, then the "veertu"
58
58
  # synced folder type won't be valid.
59
59
  #
60
60
  # @return [Boolean]
61
- attr_accessor :functional_vboxsf
61
+ attr_accessor :functional_veertusf
62
62
 
63
63
  # The defined network adapters.
64
64
  #
@@ -70,7 +70,7 @@ module VagrantPlugins
70
70
  @check_guest_additions = UNSET_VALUE
71
71
  @customizations = []
72
72
  @destroy_unused_network_interfaces = UNSET_VALUE
73
- @functional_vboxsf = false
73
+ @functional_veertusf = false
74
74
  @name = UNSET_VALUE
75
75
  @network_adapters = {}
76
76
  @gui = UNSET_VALUE
@@ -99,7 +99,7 @@ module VagrantPlugins
99
99
  @customizations << [event, command]
100
100
  end
101
101
 
102
- # This defines a network adapter that will be added to the VirtualBox
102
+ # This defines a network adapter that will be added to the Veertu
103
103
  # virtual machine in the given slot.
104
104
  #
105
105
  # @param [Integer] slot The slot for this network adapter.
@@ -113,7 +113,7 @@ module VagrantPlugins
113
113
  #
114
114
  # @param size [Integer, String] the memory size in MB
115
115
  def memory=(size)
116
- customize("pre-boot", ["modifyvm", :id, "--memory", size.to_s])
116
+ customize("pre-boot", ["modify", :id, "set", "--ram", size.to_s + "MB"])
117
117
  end
118
118
 
119
119
  # Shortcut for setting CPU count for the virtual machine.
@@ -121,7 +121,7 @@ module VagrantPlugins
121
121
  #
122
122
  # @param count [Integer, String] the count of CPUs
123
123
  def cpus=(count)
124
- customize("pre-boot", ["modifyvm", :id, "--cpus", count.to_i])
124
+ customize("pre-boot", ["modify", :id, "set", "--cpu", count.to_i])
125
125
  end
126
126
 
127
127
  def merge(other)
@@ -146,8 +146,8 @@ module VagrantPlugins
146
146
  @destroy_unused_network_interfaces = false
147
147
  end
148
148
 
149
- if @functional_vboxsf == UNSET_VALUE
150
- @functional_vboxsf = true
149
+ if @functional_veertusf == UNSET_VALUE
150
+ @functional_veertusf = true
151
151
  end
152
152
 
153
153
  # Default is to not show a GUI
@@ -168,7 +168,7 @@ module VagrantPlugins
168
168
  @customizations.each do |event, _|
169
169
  if !valid_events.include?(event)
170
170
  errors << I18n.t(
171
- "vagrant.virtualbox.config.invalid_event",
171
+ "vagrant.veertu.config.invalid_event",
172
172
  event: event.to_s,
173
173
  valid_events: valid_events.join(", "))
174
174
  end
@@ -176,23 +176,23 @@ module VagrantPlugins
176
176
 
177
177
  @customizations.each do |event, command|
178
178
  if event == "pre-import" && command.index(:id)
179
- errors << I18n.t("vagrant.virtualbox.config.id_in_pre_import")
179
+ errors << I18n.t("vagrant.veertu.config.id_in_pre_import")
180
180
  end
181
181
  end
182
182
 
183
183
  # Verify that internal networks are only on private networks.
184
184
  machine.config.vm.networks.each do |type, data|
185
185
  if data[:veertu__intnet] && type != :private_network
186
- errors << I18n.t("vagrant.virtualbox.config.intnet_on_bad_type")
186
+ errors << I18n.t("vagrant.veertu.config.intnet_on_bad_type")
187
187
  break
188
188
  end
189
189
  end
190
190
 
191
- { "VirtualBox Provider" => errors }
191
+ { "Veertu Provider" => errors }
192
192
  end
193
193
 
194
194
  def to_s
195
- "VirtualBox"
195
+ "Veertu"
196
196
  end
197
197
  end
198
198
  end
@@ -124,7 +124,7 @@ module VagrantPlugins
124
124
  end
125
125
 
126
126
  # Returns a list of all UUIDs of virtual machines currently
127
- # known by VirtualBox.
127
+ # known by Veertu.
128
128
  #
129
129
  # @return [Array<String>]
130
130
  def read_vms
@@ -231,7 +231,7 @@ module VagrantPlugins
231
231
  Vagrant::Util::Subprocess.execute(@veertumanage_path, *command, &block)
232
232
  end
233
233
  rescue Vagrant::Util::Subprocess::LaunchError => e
234
- raise Vagrant::Errors::VBoxManageLaunchError,
234
+ raise Vagrant::Errors::VeertuManageLaunchError,
235
235
  message: e.to_s
236
236
  end
237
237
  end
@@ -18,7 +18,7 @@ module VagrantPlugins
18
18
  # We use forwardable to do all our driver forwarding
19
19
  extend Forwardable
20
20
 
21
- # We cache the read VirtualBox version here once we have one,
21
+ # We cache the read Veertu version here once we have one,
22
22
  # since during the execution of Vagrant, it likely doesn't change.
23
23
  @@version = nil
24
24
  @@version_lock = Mutex.new
@@ -26,7 +26,7 @@ module VagrantPlugins
26
26
  # The UUID of the virtual machine we represent
27
27
  attr_reader :uuid
28
28
 
29
- # The version of virtualbox that is running.
29
+ # The version of veertu that is running.
30
30
  attr_reader :version
31
31
 
32
32
  include Vagrant::Util::Retryable
@@ -40,15 +40,15 @@ module VagrantPlugins
40
40
 
41
41
  @@version_lock.synchronize do
42
42
  if !@@version
43
- # Read and assign the version of VirtualBox we know which
43
+ # Read and assign the version of Veertu we know which
44
44
  # specific driver to instantiate.
45
45
  begin
46
46
  @@version = read_version
47
47
  rescue Vagrant::Errors::CommandUnavailable,
48
48
  Vagrant::Errors::CommandUnavailableWindows
49
- # This means that VirtualBox was not found, so we raise this
49
+ # This means that Veertu was not found, so we raise this
50
50
  # error here.
51
- raise Vagrant::Errors::VirtualBoxNotDetected
51
+ raise Vagrant::Errors::VeertuNotDetected
52
52
  end
53
53
  end
54
54
  end
@@ -69,11 +69,11 @@ module VagrantPlugins
69
69
 
70
70
  if !driver_klass
71
71
  supported_versions = driver_map.keys.sort.join(", ")
72
- raise Vagrant::Errors::VirtualBoxInvalidVersion,
72
+ raise Vagrant::Errors::VeertuInvalidVersion,
73
73
  supported_versions: supported_versions
74
74
  end
75
75
 
76
- @logger.info("Using VirtualBox driver: #{driver_klass}")
76
+ @logger.info("Using Veertu driver: #{driver_klass}")
77
77
  @driver = driver_klass.new(@uuid)
78
78
  @version = @@version
79
79
 
@@ -131,7 +131,7 @@ module VagrantPlugins
131
131
 
132
132
  protected
133
133
 
134
- # This returns the version of VirtualBox that is running.
134
+ # This returns the version of Veertu that is running.
135
135
  #
136
136
  # @return [String]
137
137
  def read_version
@@ -22,7 +22,7 @@ module VagrantPlugins
22
22
 
23
23
  def clear_forwarded_ports
24
24
  read_forwarded_ports(@uuid).each do |nic, name, _, _|
25
- execute("modify", @uuid, 'delete', '--port-forwarding', name)
25
+ execute("modify", @uuid, 'delete', 'port_forwarding', name)
26
26
  end
27
27
  end
28
28
 
@@ -35,18 +35,18 @@ module VagrantPlugins
35
35
  end
36
36
 
37
37
  def export(path)
38
- execute("export", @uuid, "--output", path.to_s)
38
+ execute("export", @uuid, path.to_s, '--fmt=box')
39
39
  end
40
40
 
41
41
  def forward_ports(ports)
42
42
  ports.each do |options|
43
43
  name = options[:name]
44
44
  protocol = options[:protocol] || "tcp"
45
- host_ip = options[:hostip] || "127.0.0.1"
45
+ host_ip = options[:hostip] || "0"
46
46
  host_port = options[:hostport]
47
47
  guest_ip = options[:guestip] || ""
48
48
  guest_port = options[:guestport]
49
- execute('--machine-readable', 'modify', @uuid, 'add', '--port-forwarding', name, '--host-ip',
49
+ execute('--machine-readable', 'modify', @uuid, 'add', 'port_forwarding', name, '--host-ip',
50
50
  host_ip, '--host-port', host_port.to_s, '--protocol', protocol, '--guest-ip',
51
51
  guest_ip, '--guest-port', guest_port.to_s)
52
52
 
@@ -59,7 +59,7 @@ module VagrantPlugins
59
59
  end
60
60
 
61
61
  def set_name(name)
62
- execute('modify', @uuid, 'set', '--rename', '--name', name)
62
+ execute('modify', @uuid, 'set', '--name', name)
63
63
  end
64
64
 
65
65
  def halt
@@ -77,8 +77,9 @@ module VagrantPlugins
77
77
  @logger.debug("Doing dry-run import to determine parallel-safe name...")
78
78
  output = execute("import", "-n", box)
79
79
  result = /Suggested VM name "(.+?)"/.match(output)
80
+ puts result
80
81
  if !result
81
- raise Vagrant::Errors::VirtualBoxNoName, output: output
82
+ raise Errors::VeertuManageNoNameError, output: output
82
83
  end
83
84
  suggested_name = result[1].to_s
84
85
 
@@ -221,12 +222,12 @@ module VagrantPlugins
221
222
  end
222
223
  json_success = execute('--machine-readable', 'start', @uuid)
223
224
  result = JSON.parse(json_success)
224
- if result['status'] == 'ok'
225
+ if result['status'] == 'OK'
225
226
  return true
226
227
  end
227
228
 
228
229
  # If we reached this point then it didn't work out.
229
- raise Vagrant::Errors::VBoxManageError,
230
+ raise Vagrant::Errors::VeertuManageError,
230
231
  command: command.inspect,
231
232
  stderr: r.stderr
232
233
  end
@@ -253,18 +254,32 @@ module VagrantPlugins
253
254
  end
254
255
 
255
256
  # If we reach this point, it means that we consistently got the
256
- # failure, do a standard vboxmanage now. This will raise an
257
+ # failure, do a standard veertumanage now. This will raise an
257
258
  # exception if it fails again.
258
259
  execute("show", uuid)
259
260
  return true
260
261
  end
261
262
 
263
+ def read_mac_address
264
+ vm_describe = get_vm_describe(@uuid)
265
+ network_cards = vm_describe["network cards"]
266
+ if not network_cards
267
+ return nil
268
+ end
269
+ if network_cards.is_a?(Hash)
270
+ network_card = network_cards
271
+ else
272
+ network_card = network_cards.pop(0)
273
+ end
274
+ puts network_card
275
+ return network_card['mac address']
276
+ end
262
277
  protected
263
278
 
264
279
  def get_vm_list()
265
280
  vms_json = execute("--machine-readable", "list", retryable: true)
266
281
  vms = JSON.parse(vms_json)
267
- return vms
282
+ return vms['body']
268
283
  end
269
284
 
270
285
  def get_vm_info(uuid)
@@ -272,12 +287,23 @@ module VagrantPlugins
272
287
  begin
273
288
  vm_info_json = execute('--machine-readable', 'show', uuid, retryable: true)
274
289
  vm_info = JSON.parse(vm_info_json)
275
- return vm_info
290
+ body = vm_info['body']
291
+ return body
276
292
  rescue JSON::ParserError
277
293
  return nil
278
294
  end
279
295
  end
280
296
 
297
+ def get_vm_describe(uuid)
298
+ begin
299
+ vm_info_json = execute('--machine-readable', 'describe', uuid, retryable: true)
300
+ vm_info = JSON.parse(vm_info_json)
301
+ body = vm_info['body']
302
+ return body
303
+ rescue JSON::ParserError
304
+ return nil
305
+ end
306
+ end
281
307
  end
282
308
  end
283
309
  end
@@ -13,6 +13,9 @@ module VagrantPlugins
13
13
  class VeertuManageNotFoundError < VeertuManageError
14
14
  error_key(:veertumanage_notfound_error)
15
15
  end
16
+ class VeertuManageNoNameError < VeertuError
17
+ error_key(:veertumanage_no_name_error)
18
+ end
16
19
  end
17
20
  end
18
21
  end
@@ -1,7 +1,7 @@
1
1
  module VagrantPlugins
2
2
  module ProviderVeertu
3
3
  module Model
4
- # Represents a single forwarded port for VirtualBox. This has various
4
+ # Represents a single forwarded port for Veertu. This has various
5
5
  # helpers and defaults for a forwarded port.
6
6
  class ForwardedPort
7
7
  # The NAT adapter on which to attach the forwarded port.
@@ -8,21 +8,21 @@ module VagrantPlugins
8
8
  def self.installed?
9
9
  Driver::Meta.new
10
10
  true
11
- rescue Vagrant::Errors::VirtualBoxInvalidVersion
11
+ rescue Vagrant::Errors::VeertuInvalidVersion
12
12
  return false
13
- rescue Vagrant::Errors::VirtualBoxNotDetected
13
+ rescue Vagrant::Errors::VeertuNotDetected
14
14
  return false
15
15
  end
16
16
 
17
17
  def self.usable?(raise_error=false)
18
- # Instantiate the driver, which will determine the VirtualBox
19
- # version and all that, which checks for VirtualBox being present
18
+ # Instantiate the driver, which will determine the Veertu
19
+ # version and all that, which checks for Veertu being present
20
20
  Driver::Meta.new
21
21
  true
22
- rescue Vagrant::Errors::VirtualBoxInvalidVersion
22
+ rescue Vagrant::Errors::VeertuInvalidVersion
23
23
  raise if raise_error
24
24
  return false
25
- rescue Vagrant::Errors::VirtualBoxNotDetected
25
+ rescue Vagrant::Errors::VeertuNotDetected
26
26
  raise if raise_error
27
27
  return false
28
28
  end
@@ -63,7 +63,7 @@ module VagrantPlugins
63
63
  end
64
64
  end
65
65
 
66
- # Returns the SSH info for accessing the VirtualBox VM.
66
+ # Returns the SSH info for accessing the Veertu VM.
67
67
  def ssh_info
68
68
  # If the VM is not running that we can't possibly SSH into it
69
69
  return nil if state.id != :running
@@ -81,10 +81,10 @@ module VagrantPlugins
81
81
  def state
82
82
  #puts caller
83
83
  # We have to check if the UID matches to avoid issues with
84
- # VirtualBox.
84
+ # Veertu.
85
85
  uid = @machine.uid
86
86
  if uid && uid.to_s != Process.uid.to_s
87
- raise Vagrant::Errors::VirtualBoxUserMismatch,
87
+ raise Vagrant::Errors::VeertuUserMismatch,
88
88
  original_uid: uid.to_s,
89
89
  uid: Process.uid.to_s
90
90
  end
@@ -114,7 +114,7 @@ module VagrantPlugins
114
114
  # @return [String]
115
115
  def to_s
116
116
  id = @machine.id ? @machine.id : "new VM"
117
- "VirtualBox (#{id})"
117
+ "Veertu (#{id})"
118
118
  end
119
119
  end
120
120
  end
@@ -4,13 +4,13 @@ module VagrantPlugins
4
4
  module ProviderVeertu
5
5
  class SyncedFolder < Vagrant.plugin("2", :synced_folder)
6
6
  def usable?(machine, raise_errors=false)
7
- # These synced folders only work if the provider if VirtualBox
8
- return false if machine.provider_name != :virtualbox
7
+ # These synced folders only work if the provider if Veertu
8
+ return false if machine.provider_name != :veertu
9
9
 
10
10
  # This only happens with `vagrant package --base`. Sigh.
11
11
  return true if !machine.provider_config
12
12
 
13
- machine.provider_config.functional_vboxsf
13
+ machine.provider_config.functional_veertusf
14
14
  end
15
15
 
16
16
  def prepare(machine, folders, _opts)
@@ -49,7 +49,7 @@ module VagrantPlugins
49
49
 
50
50
  # Mount the actual folder
51
51
  machine.guest.capability(
52
- :mount_virtualbox_shared_folder,
52
+ :mount_veertu_shared_folder,
53
53
  os_friendly_id(id), data[:guestpath], data)
54
54
  else
55
55
  # If no guest path is specified, then automounting is disabled
@@ -60,10 +60,10 @@ module VagrantPlugins
60
60
  end
61
61
 
62
62
  def disable(machine, folders, _opts)
63
- if machine.guest.capability?(:unmount_virtualbox_shared_folder)
63
+ if machine.guest.capability?(:unmount_veertu_shared_folder)
64
64
  folders.each do |id, data|
65
65
  machine.guest.capability(
66
- :unmount_virtualbox_shared_folder,
66
+ :unmount_veertu_shared_folder,
67
67
  data[:guestpath], data)
68
68
  end
69
69
  end
@@ -89,7 +89,7 @@ module VagrantPlugins
89
89
  end
90
90
 
91
91
  # share_folders sets up the shared folder definitions on the
92
- # VirtualBox VM.
92
+ # Veertu VM.
93
93
  #
94
94
  # The transient parameter determines if we're FORCING transient
95
95
  # or not. If this is false, then any shared folders will be
@@ -1,5 +1,5 @@
1
1
  module Vagrant
2
2
  module Veertu
3
- VERSION = "0.0.12"
3
+ VERSION = "0.0.15"
4
4
  end
5
5
  end
data/locales/en.yml CHANGED
@@ -12,6 +12,9 @@ en:
12
12
  Stderr: %{stderr}
13
13
  veertumanage_notfound_error: |-
14
14
  VeertuManage executable was not found
15
+ veertumanage_no_name_error: |-
16
+ could not guess name for vm
17
+ output: %{output}
15
18
  vagrant:
16
19
  commands:
17
20
  status:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-veertu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Veertu Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-07 00:00:00.000000000 Z
11
+ date: 2016-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inifile