vagrant-vmware-desktop 0.0.1 → 3.0.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vagrant-vmware-desktop.rb +190 -0
  3. data/lib/vagrant-vmware-desktop/action.rb +442 -0
  4. data/lib/vagrant-vmware-desktop/action/base_mac_to_ip.rb +55 -0
  5. data/lib/vagrant-vmware-desktop/action/boot.rb +26 -0
  6. data/lib/vagrant-vmware-desktop/action/check_existing_network.rb +35 -0
  7. data/lib/vagrant-vmware-desktop/action/check_vmware.rb +28 -0
  8. data/lib/vagrant-vmware-desktop/action/checkpoint.rb +86 -0
  9. data/lib/vagrant-vmware-desktop/action/clear_shared_folders.rb +25 -0
  10. data/lib/vagrant-vmware-desktop/action/common.rb +16 -0
  11. data/lib/vagrant-vmware-desktop/action/compatibility.rb +36 -0
  12. data/lib/vagrant-vmware-desktop/action/created.rb +20 -0
  13. data/lib/vagrant-vmware-desktop/action/destroy.rb +32 -0
  14. data/lib/vagrant-vmware-desktop/action/discard_suspended_state.rb +32 -0
  15. data/lib/vagrant-vmware-desktop/action/export.rb +29 -0
  16. data/lib/vagrant-vmware-desktop/action/fix_old_machine_id.rb +29 -0
  17. data/lib/vagrant-vmware-desktop/action/forward_ports.rb +110 -0
  18. data/lib/vagrant-vmware-desktop/action/halt.rb +27 -0
  19. data/lib/vagrant-vmware-desktop/action/import.rb +138 -0
  20. data/lib/vagrant-vmware-desktop/action/machine_lock.rb +26 -0
  21. data/lib/vagrant-vmware-desktop/action/message_already_running.rb +18 -0
  22. data/lib/vagrant-vmware-desktop/action/message_not_created.rb +18 -0
  23. data/lib/vagrant-vmware-desktop/action/message_not_running.rb +18 -0
  24. data/lib/vagrant-vmware-desktop/action/network.rb +339 -0
  25. data/lib/vagrant-vmware-desktop/action/package_vagrantfile.rb +46 -0
  26. data/lib/vagrant-vmware-desktop/action/prepare_forwarded_port_collision_params.rb +28 -0
  27. data/lib/vagrant-vmware-desktop/action/prepare_nfs_settings.rb +43 -0
  28. data/lib/vagrant-vmware-desktop/action/prepare_synced_folder_cleanup.rb +19 -0
  29. data/lib/vagrant-vmware-desktop/action/prune_forwarded_ports.rb +30 -0
  30. data/lib/vagrant-vmware-desktop/action/prune_nfs_exports.rb +22 -0
  31. data/lib/vagrant-vmware-desktop/action/running.rb +20 -0
  32. data/lib/vagrant-vmware-desktop/action/set_display_name.rb +37 -0
  33. data/lib/vagrant-vmware-desktop/action/share_folders.rb +97 -0
  34. data/lib/vagrant-vmware-desktop/action/snapshot_delete.rb +26 -0
  35. data/lib/vagrant-vmware-desktop/action/snapshot_restore.rb +26 -0
  36. data/lib/vagrant-vmware-desktop/action/snapshot_save.rb +26 -0
  37. data/lib/vagrant-vmware-desktop/action/suspend.rb +26 -0
  38. data/lib/vagrant-vmware-desktop/action/suspended.rb +24 -0
  39. data/lib/vagrant-vmware-desktop/action/vmx_modify.rb +39 -0
  40. data/lib/vagrant-vmware-desktop/action/wait_for_address.rb +31 -0
  41. data/lib/vagrant-vmware-desktop/action/wait_for_communicator_compat.rb +32 -0
  42. data/lib/vagrant-vmware-desktop/action/wait_for_vmx_halt.rb +35 -0
  43. data/lib/vagrant-vmware-desktop/cap/disk.rb +287 -0
  44. data/lib/vagrant-vmware-desktop/cap/provider.rb +37 -0
  45. data/lib/vagrant-vmware-desktop/cap/snapshot.rb +41 -0
  46. data/lib/vagrant-vmware-desktop/checkpoint_client.rb +203 -0
  47. data/lib/vagrant-vmware-desktop/config.rb +377 -0
  48. data/lib/vagrant-vmware-desktop/constants.rb +16 -0
  49. data/lib/vagrant-vmware-desktop/driver.rb +15 -0
  50. data/lib/vagrant-vmware-desktop/driver/base.rb +1356 -0
  51. data/lib/vagrant-vmware-desktop/errors.rb +342 -0
  52. data/lib/vagrant-vmware-desktop/guest_cap/linux/mount_vmware_shared_folder.rb +158 -0
  53. data/lib/vagrant-vmware-desktop/guest_cap/linux/verify_vmware_hgfs.rb +27 -0
  54. data/lib/vagrant-vmware-desktop/helper/lock.rb +26 -0
  55. data/lib/vagrant-vmware-desktop/helper/routing_table.rb +182 -0
  56. data/lib/vagrant-vmware-desktop/helper/vagrant_utility.rb +185 -0
  57. data/lib/vagrant-vmware-desktop/plugin.rb +148 -0
  58. data/lib/vagrant-vmware-desktop/provider.rb +96 -0
  59. data/lib/vagrant-vmware-desktop/setup_plugin.rb +24 -0
  60. data/lib/vagrant-vmware-desktop/synced_folder.rb +93 -0
  61. data/locales/en.yml +634 -0
  62. metadata +71 -17
@@ -0,0 +1,96 @@
1
+ require "log4r"
2
+ require "thread"
3
+ require "vagrant"
4
+
5
+ module HashiCorp
6
+ module VagrantVMwareDesktop
7
+ class Provider < Vagrant.plugin("2", :provider)
8
+ attr_reader :driver
9
+
10
+ def initialize(machine)
11
+ @logger = Log4r::Logger.new("hashicorp::vagrant::vmware")
12
+ @machine = machine
13
+
14
+ # Force a load of the driver
15
+ machine_id_changed
16
+ end
17
+
18
+ def action(name)
19
+ # Attempt to get the action method from the Action class if it
20
+ # exists, otherwise return nil to show that we don't support the
21
+ # given action.
22
+ action_method = "action_#{name}"
23
+ return Action.send(action_method) if Action.respond_to?(action_method)
24
+ nil
25
+ end
26
+
27
+ def machine_id_changed
28
+ begin
29
+ id = @machine.id
30
+ id = id.chomp if id
31
+ @logger.debug("Re-initializing driver for new ID: #{id.inspect}")
32
+ @driver = Driver.create(id, @machine.provider_config)
33
+ rescue Errors::DriverMissingVMX
34
+ # Delete the VM. This will trigger a machine_id_changed again that
35
+ # should never fail.
36
+ @machine.id = nil
37
+ end
38
+ end
39
+
40
+ # Returns the SSH info for accessing the VMware VM.
41
+ def ssh_info
42
+ # We can't SSH if it isn't running
43
+ return nil if state.id != :running
44
+
45
+ # Try to read the IP of the machine so we can access it. If
46
+ # this returns nil then we report that we're not ready for SSH.
47
+ # We retry this a few times because sometimes VMware doesn't have
48
+ # an IP ready right away.
49
+ machine_ip = nil
50
+ 10.times do |i|
51
+ machine_ip = @driver.read_ip(
52
+ @machine.provider_config.enable_vmrun_ip_lookup
53
+ )
54
+ break if machine_ip
55
+ sleep i+1
56
+ end
57
+
58
+ return nil if !machine_ip
59
+
60
+ if !@machine.provider_config.ssh_info_public
61
+ @logger.debug("Using localhost lookup for SSH info.")
62
+ host_port = @driver.host_port_forward(machine_ip, :tcp, @machine.config.ssh.guest_port)
63
+ if host_port
64
+ return {
65
+ :host => "127.0.0.1",
66
+ :port => host_port
67
+ }
68
+ else
69
+ @logger.error("Failed localhost SSH info lookup. Using public address.")
70
+ end
71
+ end
72
+ @logger.debug("Using public address lookup for SSH info.")
73
+ return {
74
+ :host => machine_ip,
75
+ :port => @machine.config.ssh.guest_port
76
+ }
77
+ end
78
+
79
+ def state
80
+ state_id = @driver.read_state
81
+ @logger.debug("VM state requested. Current state: #{state_id}")
82
+
83
+ # Get the short and long description
84
+ short = I18n.t("hashicorp.vagrant_vmware_desktop.states.short_#{state_id}")
85
+ long = I18n.t("hashicorp.vagrant_vmware_desktop.states.long_#{state_id}")
86
+
87
+ # Return the MachineState object
88
+ Vagrant::MachineState.new(state_id, short, long)
89
+ end
90
+
91
+ def to_s
92
+ "VMware #{PRODUCT_NAME.capitalize}"
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,24 @@
1
+ require "vagrant-vmware-desktop/checkpoint_client"
2
+
3
+ module HashiCorp
4
+ module VagrantVMwareDesktop
5
+ class SetupPlugin
6
+ def initialize(app, env)
7
+ @app = app
8
+ end
9
+
10
+ def call(env)
11
+ # Initialize i18n
12
+ VagrantVMwareDesktop.init_i18n
13
+
14
+ # Initialize logging
15
+ VagrantVMwareDesktop.init_logging
16
+
17
+ # Start the checks for the plugin and utility
18
+ CheckpointClient.instance.setup(env[:env]).check
19
+
20
+ @app.call(env)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,93 @@
1
+ module HashiCorp
2
+ module VagrantVMwareDesktop
3
+ class SyncedFolder < Vagrant.plugin("2", :synced_folder)
4
+ def initialize(*args)
5
+ super
6
+
7
+ @logger = Log4r::Logger.new("hashicorp::provider::vmware::synced_folder")
8
+ end
9
+
10
+ def usable?(machine)
11
+ # These synced folders only work if the provider is VMware
12
+ [Plugin.provider_name, :vmware_desktop].include?(machine.provider_name) &&
13
+ machine.provider_config.functional_hgfs
14
+ end
15
+
16
+ def prepare(machine, folders, _opts)
17
+ # We don't do anything prior to the machine booting
18
+ end
19
+
20
+ def enable(machine, folders, _opts)
21
+ # Verify that the machine can actually support sharing folders
22
+ # if we can.
23
+ if machine.guest.capability?(:verify_vmware_hgfs)
24
+ machine.ui.info I18n.t("hashicorp.vagrant_vmware_desktop.waiting_for_hgfs")
25
+ if !machine.guest.capability(:verify_vmware_hgfs)
26
+ raise Errors::GuestMissingHGFS
27
+ end
28
+ end
29
+
30
+ # Get the SSH info which we'll use later. We retry a few times
31
+ # since sometimes it seems to return nil.
32
+ ssh_info = nil
33
+ 10.times do |i|
34
+ ssh_info = machine.ssh_info
35
+ break if ssh_info
36
+ sleep 1
37
+ end
38
+
39
+ if ssh_info == nil
40
+ raise Errors::CannotGetSSHInfo
41
+ end
42
+
43
+ # short guestpaths first, so we don't step on ourselves
44
+ shared_folders = folders.dup.sort_by do |id, data|
45
+ if data[:guestpath]
46
+ data[:guestpath].length
47
+ else
48
+ # A long enough path to just do this at the end.
49
+ 10000
50
+ end
51
+ end
52
+
53
+ @logger.info("Preparing shared folders with VMX...")
54
+ machine.ui.info I18n.t("hashicorp.vagrant_vmware_desktop.sharing_folders")
55
+ machine.provider.driver.enable_shared_folders
56
+ shared_folders.each do |id, data|
57
+ id = id.gsub('/', machine.provider_config.shared_folder_special_char)
58
+ path = data[:hostpath]
59
+ guestpath = data[:guestpath]
60
+
61
+ message = I18n.t("hashicorp.vagrant_vmware_desktop.sharing_folder_single",
62
+ hostpath: path,
63
+ guestpath: guestpath)
64
+ if Vagrant::VERSION < "1.5.0"
65
+ machine.ui.info(message)
66
+ else
67
+ machine.ui.detail(message)
68
+ end
69
+
70
+ machine.provider.driver.share_folder(id, path)
71
+
72
+ # Remove trailing slashes
73
+ guestpath = guestpath.gsub(/\/+$/, "")
74
+
75
+ # Calculate the owner and group
76
+ data[:owner] ||= ssh_info[:username]
77
+ data[:group] ||= ssh_info[:username]
78
+
79
+ # Mount it!
80
+ machine.guest.capability(
81
+ :mount_vmware_shared_folder, id, data[:guestpath], data)
82
+ end
83
+ end
84
+
85
+ def cleanup(machine, opts)
86
+ if machine.id && machine.id != ""
87
+ @logger.info("Clearing shared folders")
88
+ machine.provider.driver.clear_shared_folders
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
data/locales/en.yml ADDED
@@ -0,0 +1,634 @@
1
+ en:
2
+ hashicorp:
3
+ vagrant_vmware_desktop:
4
+ already_running: |-
5
+ Machine is already running.
6
+ booted_and_ready: |-
7
+ The machine is booted and ready!
8
+ booting: |-
9
+ Starting the VMware VM...
10
+ cloning: |-
11
+ Cloning VMware VM: '%{name}'. This can take some time...
12
+ configuring_networks: |-
13
+ Configuring network adapters within the VM...
14
+ destroying: |-
15
+ Deleting the VM...
16
+ disk_not_shrinking: |-
17
+ Shrinking disks is not supported. Not shrinking disk %{path}
18
+ discarding_suspended_state: |-
19
+ Discarding suspended state...
20
+ enabling_adapters: |-
21
+ Preparing network adapters...
22
+ forward_port_entry: |-
23
+ -- %{guest_port} => %{host_port}
24
+ forwarding_ports: |-
25
+ Forwarding ports...
26
+ mac_to_ip_mapping: |-
27
+ DHCP address reserved for default NAT %{address}
28
+ not_created: |-
29
+ VM not created. Moving on...
30
+ not_running: |-
31
+ VM not running. Please start the VM with `vagrant up` first.
32
+ sharing_folder_single: |-
33
+ -- %{hostpath}: %{guestpath}
34
+ sharing_folders: |-
35
+ Enabling and configuring shared folders...
36
+ snapshot_deleting: |-
37
+ Deleting the snapshot '%{name}'...
38
+ snapshot_restoring: |-
39
+ Restoring the snapshot '%{name}'...
40
+ snapshot_saving: |-
41
+ Snapshotting VM as '%{name}'...
42
+ stopping: |-
43
+ Stopping the VMware VM...
44
+ suspending: |-
45
+ Suspending the VMware VM...
46
+ verifying_vmnet: |-
47
+ Verifying vmnet devices are healthy...
48
+ skipping_vmnet_verify: |-
49
+ Skipping vmnet device verification, verify_vmnet is set to false.
50
+ waiting_for_address: |-
51
+ Waiting for the VM to receive an address...
52
+ waiting_for_boot: |-
53
+ Waiting for the VM to finish booting...
54
+ waiting_for_hgfs: |-
55
+ Waiting for HGFS to become available...
56
+ waiting_for_vmx_halt: |-
57
+ Waiting for the VMX process to go away...
58
+
59
+ states:
60
+ short_not_created: |-
61
+ not created
62
+ short_not_running: |-
63
+ not running
64
+ short_running: |-
65
+ running
66
+ short_suspended: |-
67
+ suspended
68
+ long_not_created: |-
69
+ The VMware machine has not yet been created. Run `vagrant up`
70
+ to create the machine. If a machine is not created, only the
71
+ default provider will be shown. Therefore, if a provider is not listed,
72
+ then the machine is not created for that provider.
73
+ long_not_running: |-
74
+ The VM is powered off. To restart the VM, run `vagrant up`
75
+ long_running: |-
76
+ The VM is running. To stop this VM, you can run `vagrant halt` to
77
+ shut it down, or you can run `vagrant suspend` to simply suspend
78
+ the virtual machine. In either case, to restart it again, run
79
+ `vagrant up`.
80
+ long_suspended: |-
81
+ The VM is suspended. To resume this VM, run `vagrant up`.
82
+
83
+ config:
84
+ non_nat_adapter_zero: |-
85
+ The VMware adapter currently requires the first network
86
+ adapter to be a NAT device. This limitation may be removed in a
87
+ future version.
88
+ base_address_invalid: |-
89
+ The IP address provided for `base_address` is invalid.
90
+ base_mac_invalid: |-
91
+ The MAC address provided for `base_mac` is invalid. Ensure the MAC
92
+ address provided is valid and try starting the guest again.
93
+ base_address_without_mac: |-
94
+ The `base_mac` option must be configured when the
95
+ `base_address` option is set.
96
+ synced_folder_id_invalid: |-
97
+ VMware requires a shared folder ID made up of characters,
98
+ numbers, hyphens, and underscores. By default, Vagrant sets the
99
+ ID of shared folders to the guest path. This is incompatible with
100
+ VMware. Please override the Vagrant default by either setting
101
+ the `:id` option on your synced folder definition, or setting
102
+ the `:vmware__id` option if you want only VMware to see this setting.
103
+ allowlist_verify_value_invalid: |-
104
+ The value provided for `allowlist_verified` is invalid. Please update
105
+ with a valid value:
106
+
107
+ %{valid_values}
108
+ alert: |-
109
+ [%{date}]:
110
+ %{message}
111
+
112
+ - %{url}
113
+ version_upgrade_available: |-
114
+ A new version of Vagrant VMware %{name} is available: %{latest_version}!
115
+ To upgrade visit: %{download_url}
116
+ version:
117
+ plugin_latest: |-
118
+ A new version of the Vagrant VMware plugin is currently available
119
+ for upgrade.
120
+
121
+ Installed Version: %{current_version}
122
+ Latest Version: %{latest_version}
123
+ plugin_upgrade_howto: |-
124
+ Vagrant can install the latest version of the Vagrant VMware plugin
125
+ by running the following command:
126
+
127
+ vagrant plugin update vagrant-vmware-desktop
128
+
129
+ To see what has changed in the latest release, view the CHANGELOG below:
130
+
131
+ %{changelog_url}
132
+ utility_latest: |-
133
+ A new version of the Vagrant VMware utility is currently available
134
+ for upgrade.
135
+
136
+ Installed Version: %{current_version}
137
+ Latest Version: %{latest_version}
138
+ utility_upgrade_howto: |-
139
+ To upgrade to the latest version of the Vagrant VMware utility, visit
140
+ the downloads page at the URL below and download the package appropriate
141
+ for your machine:
142
+
143
+ %{download_url}
144
+
145
+ To see what has changed in the latest release, view the CHANGELOG below:
146
+
147
+ %{changelog_url}
148
+ errors:
149
+ box_vmx_file_not_found: |-
150
+ A "vmx" file was not found in the box specified. A "vmx" file is
151
+ required to clone, boot, and manage VMware machines. Please report
152
+ this issue to the maintainer of the box you're using, as this is
153
+ an issue with the creation of the box itself.
154
+ base_address_range: |-
155
+ The address provided for `base_address` is not within the allowed range
156
+ of DHCP addresses. Please update the configured address to be within the
157
+ allowed range:
158
+
159
+ %{range_start} - %{range_end}
160
+ cannot_get_ssh_info: |-
161
+ There was a problem retrieving the SSH info from the guest. There are
162
+ a variety of root issues that can cause this. If this error continues
163
+ to occur across several attempts, it may indicate a problem with the
164
+ base box being used. If this error occurs across multiple boxes, it
165
+ may indicate a VMware configuration problem. Persistent problems can
166
+ be reported to support@hashicorp.com.
167
+ clone_folder_exists: |-
168
+ The clone folder that Vagrant is attempting to use to import
169
+ the VMware box has existed repeatedly 10 times while generating
170
+ random filenames. This is not sane behavior of your system. Please
171
+ restart your computer and try again as an attempt to add entropy
172
+ to your system.
173
+ clone_folder_not_folder: |-
174
+ The clone directory given is not a directory. This is an internal
175
+ error and should be reported as a bug to support@hashicorp.com.
176
+
177
+ Path: %{path}
178
+ disk_not_created: Disk %{name} not created!
179
+ disk_not_resized_snapshot: |-
180
+ Disk not resized because snapshots are present! Vagrant can
181
+ not resize a disk if snapshots exist for a VM. If you wish to resize
182
+ disk please remove snapshots associated with the VM.
183
+
184
+ Path: %{path}
185
+ destroy_invalid_state: |-
186
+ The VMware machine cannot be destroyed beacuse it is still
187
+ running. Please make sure the machine is properly halted before
188
+ attempting to delete.
189
+ driver_clone_permission_failure: |-
190
+ The VMware VM could not be cloned due to permission errors!
191
+ Please verify that the destination directory can be read and written
192
+ to. The destination directory is printed below:
193
+
194
+ %{destination}
195
+ driver_dhcp_leases_read_perms: |-
196
+ Vagrant couldn't read the VMware DHCP leases file due to permissions
197
+ issues! Please make sure that the file below has sufficient read
198
+ permissions so that the user running Vagrant can read it.
199
+
200
+ %{path}
201
+ driver_invalid_response: |-
202
+ The Vagrant VMware Utility provided an unexpected response. Please
203
+ run the command again.
204
+ driver_missing_dhcp_leases_file: |-
205
+ The DHCP leases file for the vmnet device '%{device}' could
206
+ not be found. Vagrant requires this file to find the IP address
207
+ given by DHCP to your machine. Please report this as a bug along
208
+ with log output.
209
+ driver_missing_fp_nat_conf: |-
210
+ The nat configuration file for the vmnet device '%{device}' is
211
+ missing. Verify that the VMware device '%{device}' is a NAT
212
+ device.
213
+ driver_missing_networking_file: |-
214
+ The file containing the list of VMware networking devices could
215
+ not be found. Networks can not be setup. Please report this as a bug.
216
+ driver_missing_service_starter: |-
217
+ The binary to start VMware services could not be found. This
218
+ is required in order to modify networking files. This can be caused
219
+ by a broken Fusion installation or an invalid Fusion version.
220
+ Please report a bug.
221
+ driver_missing_vmnet_cli: |-
222
+ The `vmnet-cli` binary could not be found. VMware %{product} typically
223
+ ships with this binary which is required to control the network
224
+ devices. Vagrant could not find it. Please report this as a bug!
225
+ driver_missing_vmx: |-
226
+ The VMware %{product} driver was started with a path to a VM that
227
+ doesn't exist.
228
+
229
+ Path: %{vm_dir}
230
+ driver_missing_vmx_cli: |-
231
+ The "vmware-vmx" application could not be found. The VMware
232
+ provider is responsible for finding this application. Please
233
+ report a bug with debug output attached (by setting VAGRANT_LOG to
234
+ "debug").
235
+ driver_networking_file_not_found: |-
236
+ The file which defines networking interfaces for VMware %{product}
237
+ could not be found. Please verify %{product} is installed properly
238
+ and try again. If this problem persists, please contact
239
+ support.
240
+ driver_networking_file_bad_permissions: |-
241
+ A file that the Vagrant VMware %{product} provider must modify has
242
+ bad permissions. Please make sure that the user running Vagrant can
243
+ read the following file:
244
+
245
+ %{path}
246
+ driver_read_version_failed: |-
247
+ The VMware %{product} provider failed to determine the version of
248
+ VMware %{product} installed. This is often indicative of other
249
+ errors in the installation of VMware %{product}. The error
250
+ output from attempting to determine the version is shown below,
251
+ in case it helps point out the issue.
252
+
253
+ %{output}
254
+ driver_vmnet_configure_failed: |-
255
+ Vagrant failed to configure the VMware network interfaces! The
256
+ output of the failed command, if any, is below.
257
+
258
+ %{output}
259
+ driver_vmnet_start_failed: |-
260
+ Vagrant failed to start the VMware network interfaces! The output
261
+ of the failed command, if any, is below. The usual cause for this
262
+ is invalid configuration of the VMware network components. If
263
+ the problem persists, please contact support.
264
+
265
+ %{output}
266
+ driver_vmnet_stop_failed: |-
267
+ Vagrant failed to stop the VMware network interfaces! The output
268
+ of the failed command, if any, is below.
269
+
270
+ %{output}
271
+ feature_not_supported: |-
272
+ Vagrant is unable to perform the requested action due to limitations
273
+ imposed by the current VMware %{product} license in use. To successfully
274
+ perform the requested action, the VMware %{product} license must be
275
+ upgraded from a standard license to a professional license.
276
+ forwarded_ports_collide_with_existing_nat: |-
277
+ Some of the defined forwarded ports would collide with existing
278
+ forwarded ports on VMware network devices. This can be due to
279
+ existing Vagrant-managed VMware machines, or due to manually
280
+ configured port forwarding with VMware. Please fix the following
281
+ port collisions and try again:
282
+
283
+ %{ports}
284
+ forwarded_port_no_guest_ip: |-
285
+ The IP of the guest VM could not be detected for setting up
286
+ forwarded ports. This is not common. However, a destroying the VM
287
+ and recreating it usually fixes this. Please run `vagrant destroy`
288
+ then `vagrant up`. Alternatively, a `vagrant reload` sometimes
289
+ fixes this.
290
+ fusion_upgrade_required: |-
291
+ You're using a license that doesn't allow you to use the installed
292
+ version of Fusion. This error message occurs if you upgraded Fusion
293
+ without also upgrading your license. Please upgrade your license to
294
+ unlock features and support for the latest version of VMware Fusion,
295
+ or revert your version of Fusion back to the supported version.
296
+ You can upgrade your license by going to the following URL:
297
+
298
+ http://license.hashicorp.com/upgrade/vmware
299
+
300
+ guest_missing_hgfs: |-
301
+ HGFS was never found on the running virtual machine. This must be
302
+ installed either through VMware tools or Open VM Tools. HGFS is
303
+ required for shared folders to work properly. Please install either
304
+ the VMware tools or Open VM Tools and try again.
305
+ hc_license: |-
306
+ Your HashiCorp license doesn't work with '%{product}'. Please verify
307
+ you purchased the correct license. If you have any problems, please
308
+ contact support at support@hashicorp.com.
309
+ helper_failed: |-
310
+ %{output}
311
+ helper_install_failed: |-
312
+ Installing the Vagrant VMware sudo helper has failed. In order to
313
+ install the sudo helper, Vagrant must chown the helper as root
314
+ and enable setuid on the binary. The most common cause of this error
315
+ is that the filesystem that the Vagrant home directory folder is in
316
+ doesn't support setuid.
317
+
318
+ Please check for this, fix any issues, and run Vagrant to try again
319
+ If this problem persists, please contact support.
320
+ helper_invalid_command: |-
321
+ Invalid command to Vagrant VMware helper: %{command}
322
+ helper_not_root: |-
323
+ The Vagrant VMware helper must be run as root.
324
+ helper_requires_command: |-
325
+ The Vagrant VMware sudo helper requires a command.
326
+ helper_requires_data_file: |-
327
+ The Vagrant VMware sudo helper requires a valid data
328
+ file to be passed to it.
329
+ helper_requires_reinstall: |-
330
+ Vagrant has detected that the VMware plugin is not properly setup.
331
+ Please reinstall the VMware plugin and run this command again. If
332
+ this error persists please contact support.
333
+ helper_wrapper_missing: |-
334
+ The Vagrant VMware sudo helper wrapper is missing. This
335
+ installation of the VMware provider is broken. Please uninstall
336
+ and reinstall.
337
+ linux_mount_gid_failed: |-
338
+ Vagrant failed to determine group ID for synced folder path. This
339
+ can be fixed by manually defining the group ID within the Vagrantfile.
340
+
341
+ Synced Folder: %{folder_name}
342
+ linux_mount_uid_failed: |-
343
+ Vagrant failed to determine user ID for synced folder path. This
344
+ can be fixed by manually defining the user ID within the Vagrantfile.
345
+
346
+ Synced Folder: %{folder_name}
347
+ linux_service_init_script_missing: |-
348
+ The init script for managing VMware services could not be found.
349
+ Vagrant needs this script in order to verify that VMware is properly
350
+ running and also to attempt to start services if they're not.
351
+ Please verify VMware is properly installed and try again. If
352
+ the problem persists, please contact support.
353
+ missing_nat_device: |-
354
+ Failed to locate the VMware NAT device. Please validate your VMware
355
+ network settings and try again.
356
+ networking_file_missing_version: |-
357
+ The VMware network devices file is missing the "VERSION"
358
+ field. The Vagrant provider for can not safely modify
359
+ this file without knowing the version. Please verify your
360
+ copy of VMware is installed properly.
361
+ networking_file_unsupported_version: |-
362
+ The VMware network devices file is reporting a version
363
+ that Vagrant cannot understand. Vagrant requires the "1,0" version
364
+ for this file. Reported version: %{reported_version}
365
+
366
+ Please contact support for more information.
367
+ networking_host_only_collision: |-
368
+ The host only network with the IP '%{ip}' would collide with
369
+ another device '%{device}'. This means that VMware cannot create
370
+ a proper networking device to route to your VM. Please choose
371
+ another IP or shut down the existing device.
372
+ networking_no_slots_for_high_level: |-
373
+ There is no available slots on the VMware VM for the configured
374
+ high-level network interfaces. "private_network" and "public_network"
375
+ network configurations consume a single network adapter slot on the
376
+ virtual machine. VMware limits the number of slots to 8, and it
377
+ appears that every slot is in use. Please lower the number of used
378
+ network adapters.
379
+ nfs_no_network: |-
380
+ NFS requires a static IP to be configured. Please configure
381
+ a private network with a static IP.
382
+ package_not_supported: |-
383
+ The "package" command is not supported with VMware. We recommend
384
+ taking a look at Packer (www.packer.io) as an option for creating
385
+ VMware images.
386
+ routing_table_command_not_found: |-
387
+ The external program used to read TCP/IP routing tables in order
388
+ to protect you against creating network collisions could not be
389
+ found. On Linux and Mac OS X, this is `netstat`. Please make sure
390
+ this is on your PATH. It is generally installed with your
391
+ operating system.
392
+ routing_table_load_error: |-
393
+ Failed to load the TCP/IP routing tables for your computer! Vagrant
394
+ does this in order to verify you're not creating a network that
395
+ collides with any others. The error is reported below:
396
+
397
+ %{output}
398
+ routing_table_unsupported_os: |-
399
+ Vagrant can't read the routing tables on this operating system.
400
+ Vagrant must be able to do this in order to check for network
401
+ collisions in order to ensure a good Vagrant experience. Please
402
+ report a bug.
403
+ shared_folder_symlink_failed: |-
404
+ There was an error attempting to symlink your shared folders into
405
+ place. If you don't want to symlink your shared folders (and keep
406
+ them into the default place), set the `:vmware__symlink` option to
407
+ `false` on the synced folders.
408
+ single_machine_lock: |-
409
+ Another instance of Vagrant is running operations on the same
410
+ virtual machine. The VMware provider for Vagrant limits
411
+ operations on one machine to be done by only one process at a time.
412
+ Note however that you can run multiple commands against different
413
+ virtual machines in parallel.
414
+ start_timeout: |-
415
+ Vagrant timed out while trying to start the VMware machine. This
416
+ error is caused by VMware never successfully starting the machine.
417
+ This can often be fixed by simply retrying. If the error persists,
418
+ please verify that VMware is functional. This is not a Vagrant
419
+ issue.
420
+ utility_upgrade_required: |-
421
+ The currently running version of the Vagrant VMware utility is not
422
+ supported by this version of the Vagrant VMware desktop plugin.
423
+ Please install a supported version of the Vagrant VMware Utility
424
+ and run the command again.
425
+
426
+ Utility version: %{utility_version}
427
+ Utility version requirement: %{utility_requirement}
428
+
429
+ Download the Vagrant VMware utility installer package for your
430
+ platform from the downloads page:
431
+
432
+ https://www.vagrantup.com/vmware/downloads.html
433
+ vmnet_device_create_failed: |-
434
+ Vagrant failed to create a new vmnet device for your configured
435
+ network settings! Please verify Workstation is working properly
436
+ and try again. Please contact support if the problem persists.
437
+ vmnet_device_route_conflict: |-
438
+ The VMware network device '%{device}' can't be started because
439
+ its routes collide with another device: '%{route_device}'. Please
440
+ either fix the settings of the VMware network device or stop the
441
+ colliding device. Your machine can't be started while VMware
442
+ networking is broken.
443
+
444
+ Routing to the IP '%{ip}' should route through '%{device}', but
445
+ instead routes through '%{route_device}'.
446
+ vmnet_devices_wont_start: |-
447
+ The VMware "vmnet" devices are failing to start. The most common
448
+ reason for this is collisions with existing network services. For
449
+ example, if a hostonly network space collides with another hostonly
450
+ network (such as with VirtualBox), it will fail to start. Likewise,
451
+ if forwarded ports collide with other listening ports, it will
452
+ fail to start.
453
+
454
+ Vagrant does its best to fix these issues, but in some cases it
455
+ cannot determine the root cause of these failures.
456
+
457
+ Please verify you have no other colliding network services running.
458
+ As a last resort, restarting your computer often fixes this issue.
459
+ vmnet_slots_full: |-
460
+ VMware Workstation on Windows limits the total number of vmnet
461
+ devices to 9. You have passed this point. Please open the virtual
462
+ network editor and remove some unneeded networks.
463
+ vmnet_no_ipv6: |-
464
+ The VMware product does not support IPv6 in a robust way like other
465
+ Vagrant providers. This is not a bug in Vagrant - the upstream
466
+ provider does not provide robust support for IPv6.
467
+ vmexec_error: |-
468
+ An error occurred while executing `%{executable}`, a utility for controlling
469
+ VMware machines. The command and output are below:
470
+
471
+ Command: %{command}
472
+
473
+ Stdout: %{stdout}
474
+
475
+ Stderr: %{stderr}
476
+ vmrun_error: |-
477
+ An error occurred while executing `vmrun`, a utility for controlling
478
+ VMware machines. The command and output are below:
479
+
480
+ Command: %{command}
481
+
482
+ Stdout: %{stdout}
483
+
484
+ Stderr: %{stderr}
485
+ vmrun_not_found: |-
486
+ The `vmrun` binary could not be found. This is normally packaged
487
+ with VMware. Please verify that VMware is properly installed
488
+ and try again.
489
+ vmware_linux_service_wont_start: |-
490
+ The VMware Linux services aren't running. Vagrant attempted to
491
+ start them for you but they wouldn't come up properly. Please verify
492
+ VMware is properly installed and that the services will start. The
493
+ services are usually exposed as a standard init script. If you just
494
+ installed VMware, you may need to reboot your system so the kernel
495
+ extensions are properly built and installed.
496
+ vnetlib_error: |-
497
+ An error occurred while modifying VMware network devices. The
498
+ command and output are shown below.
499
+
500
+ Command: %{command}
501
+
502
+ Stdout: %{stdout}
503
+
504
+ Stderr: %{stderr}
505
+ vnetlib_not_found: |-
506
+ The "vnetlib" utility could not be found. Vagrant uses this to
507
+ programmatically manage VMware network devices on Windows. This utility
508
+ installs with VMware Workstation. Please verify that Workstation is
509
+ properly installed and try again.
510
+ workstation_upgrade_required: |-
511
+ You're using a license that doesn't allow you to use the installed
512
+ version of Workstation. This error message occurs if you upgraded Workstation
513
+ without also upgrading your license. Please upgrade your license to
514
+ unlock features and support for the latest version of VMware Workstation,
515
+ or revert your version of Workstation back to the supported version.
516
+ You can upgrade your license by going to the following URL:
517
+
518
+ http://license.hashicorp.com/upgrade/vmware
519
+
520
+ driver_api_certificate_error: |-
521
+ Vagrant encountered an error while attempting to load the utility
522
+ service key file. This error can occur if the Vagrant VMware Utility
523
+ has not yet been installed, or if it was installed incorrectly. If
524
+ this error persists after running the Vagrant VMware Utility installer
525
+ again, please contact support at: support@hashicorp.com
526
+
527
+ Information about the Vagrant VMware Utility, including installation
528
+ instruction, can be found here:
529
+
530
+ https://www.vagrantup.com/docs/vmware/vagrant-vmware-utility.html
531
+
532
+ Path: %{path}
533
+ Error: %{message}
534
+ driver_api_key_error: |-
535
+ Vagrant encountered an error while attempting to load the utility
536
+ service key file. This error can occur if the Vagrant VMware Utility
537
+ has not yet been installed, or if it was installed incorrectly. If
538
+ this error persists after running the Vagrant VMware Utility installer
539
+ again, please contact support at: support@hashicorp.com
540
+
541
+ Information about the Vagrant VMware Utility, including installation
542
+ instruction, can be found here:
543
+
544
+ https://www.vagrantup.com/docs/vmware/vagrant-vmware-utility.html
545
+
546
+ Path: %{path}
547
+ Error: %{message}
548
+ driver_api_connection_failed: |-
549
+ Failed to connect the Vagrant VMware Utility service. If the Vagrant
550
+ VMware Utility package has not yet been installed, please download
551
+ and install the correct package for your system.
552
+
553
+ https://www.vagrantup.com/vmware/downloads.html
554
+
555
+ If the Vagrant VMware Utility service has been installed, ensure the
556
+ VMware application has been installed on the system. The Vagrant VMware
557
+ Utility service depends on the VMware application to be installed and
558
+ may not start until the VMware application is installed.
559
+
560
+ More information for the Vagrant VMware Utility Service is available
561
+ driver has not been installed, please install it. If the utility
562
+ driver has already been installed, ensure the service is running
563
+ and available.
564
+
565
+ Information about the Vagrant VMware Utility, including installation
566
+ instruction, can be found here:
567
+
568
+ https://www.vagrantup.com/docs/vmware/vagrant-vmware-utility.html
569
+ driver_api_request_unexpected_error: |-
570
+ Vagrant encountered an unexpected communications error with the
571
+ Vagrant VMware Utility driver. Please try to run the command
572
+ again. If this error persists, please contact support@hashicorp.com
573
+ driver_api_invalid_response: |-
574
+ Vagrant failed to properly process a result from the Vagrant VMware
575
+ Utility driver. Please try to run the command again. If this error
576
+ persists, please contact support@hashicorp.com
577
+ driver_api_port_forward_list_error: |-
578
+ Failed to receive list of currently used VMware port forwards. The
579
+ reported cause for the error:
580
+
581
+ %{message}
582
+ driver_api_device_create_error: |-
583
+ Vagrant failed to create a new VMware networking device. The following
584
+ error message was generated while attempting to create a new device:
585
+
586
+ %{message}
587
+
588
+ Please resolve any problems reported in the error message above and
589
+ try again.
590
+ driver_api_port_forward_error: |-
591
+ Vagrant failed to apply the requested port forward. The following
592
+ error message was generated while attempting to apply the port
593
+ forward rule:
594
+
595
+ %{message}
596
+
597
+ Please resolve any problems reported in the error message above and
598
+ try again.
599
+ driver_api_port_forward_prune_error: |-
600
+ Vagrant encountered an error while attempting to prune unused
601
+ port forward entries:
602
+
603
+ %{message}
604
+ driver_api_device_list_error: |-
605
+ An error was encountered while generating the current list of
606
+ available VMware adapters in use on this system.
607
+
608
+ %{message}
609
+
610
+ Please resolve any problems reported in the error message above and
611
+ try again.
612
+ driver_api_vmware_version_detection_error: |-
613
+ Vagrant encountered an error while attempting to inspect VMware
614
+ for current version information:
615
+
616
+ %{message}
617
+ driver_api_vmware_paths_detection_error: |-
618
+ Vagrant encountered an error while attempting to inspect VMware
619
+ for required installation information:
620
+
621
+ %{message}
622
+ driver_api_address_reservation_error: |-
623
+ Vagrant encountered an error while attempting to create a DHCP
624
+ reservation for the base adapter.
625
+
626
+ Address: %{address}
627
+ Device: %{device}
628
+ MAC: %{mac}
629
+ Reason: %{message}
630
+ disks:
631
+ cap:
632
+ disks:
633
+ floppy_not_supported: "Floppy disk configuration not yet supported. Skipping disk '%{name}'..."
634
+