vagrant-vmware-desktop 0.0.1 → 3.0.0

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