Plugin broken with Vagrant 2.2.15
spencerhakim opened this issue · comments
Vagrant 2.2.15 includes hashicorp/vagrant#12184 which breaks the vagrant-parallels plugin, producing the following output on vagrant up
:
==> default: Mounting NFS shared folders...
==> default: Mounting shared folders...
default: /vagrant => /Users/shakim/Code/vagrant
==> default: Forcing shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Destroying VM and associated drives...
==> default: Destroying unused networking interface...
==> default: Pruning invalid NFS exports. Administrator privileges will be required...
Traceback (most recent call last):
110: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/batch_action.rb:86:in `block (2 levels) in run'
109: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/machine.rb:201:in `action'
108: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/machine.rb:201:in `call'
107: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/environment.rb:614:in `lock'
106: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/machine.rb:215:in `block in action'
105: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/machine.rb:246:in `action_raw'
104: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `run'
103: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/util/busy.rb:19:in `busy'
102: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `block in run'
101: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builder.rb:149:in `call'
100: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
99: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/call.rb:53:in `call'
98: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `run'
97: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/util/busy.rb:19:in `busy'
96: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `block in run'
95: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builder.rb:149:in `call'
94: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
93: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
92: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
91: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
90: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
89: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
88: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
87: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
86: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
85: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/call.rb:53:in `call'
84: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `run'
83: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/util/busy.rb:19:in `busy'
82: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `block in run'
81: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builder.rb:149:in `call'
80: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
79: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
78: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
77: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/customize.rb:39:in `call'
76: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
75: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/box_register.rb:36:in `call'
74: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
73: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/prepare_clone.rb:15:in `call'
72: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
71: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/prepare_clone_snapshot.rb:36:in `call'
70: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
69: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/import.rb:66:in `call'
68: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
67: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/box_unregister.rb:32:in `call'
66: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
65: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/sane_defaults.rb:24:in `call'
64: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
63: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/customize.rb:39:in `call'
62: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
61: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
60: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
59: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
58: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
57: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/call.rb:53:in `call'
56: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `run'
55: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/util/busy.rb:19:in `busy'
54: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `block in run'
53: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builder.rb:149:in `call'
52: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
51: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
50: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
49: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/call.rb:53:in `call'
48: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `run'
47: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/util/busy.rb:19:in `busy'
46: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `block in run'
45: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builder.rb:149:in `call'
44: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
43: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
42: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
41: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/call.rb:53:in `call'
40: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `run'
39: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/util/busy.rb:19:in `busy'
38: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/runner.rb:89:in `block in run'
37: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builder.rb:149:in `call'
36: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
35: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:127:in `block in finalize_action'
34: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
33: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/check_shared_interface.rb:13:in `call'
32: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
31: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/set_name.rb:48:in `call'
30: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
29: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/clear_forwarded_ports.rb:16:in `call'
28: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
27: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/provision.rb:80:in `call'
26: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
25: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/prepare_forwarded_port_collision_params.rb:35:in `call'
24: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
23: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:52:in `call'
22: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
21: from /Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/action/prepare_nfs_valid_ids.rb:12:in `call'
20: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
19: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/synced_folders/nfs/action_cleanup.rb:25:in `call'
18: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
17: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/synced_folder_cleanup.rb:28:in `call'
16: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
15: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/delayed.rb:19:in `call'
14: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/warden.rb:48:in `call'
13: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/action/builtin/synced_folders.rb:145:in `call'
12: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/guest.rb:43:in `capability'
11: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/capability_host.rb:111:in `capability'
10: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/capability_host.rb:111:in `call'
9: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:27:in `persist_mount_shared_folder'
8: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:27:in `map'
7: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:27:in `each'
6: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:28:in `block in persist_mount_shared_folder'
5: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:28:in `map'
4: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:28:in `each'
3: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/plugins/guests/linux/cap/persist_mount_shared_folder.rb:37:in `block (2 levels) in persist_mount_shared_folder'
2: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/capability_host.rb:111:in `capability'
1: from /opt/vagrant/embedded/gems/2.2.15/gems/vagrant-2.2.15/lib/vagrant/capability_host.rb:111:in `call'
/Users/shakim/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/cap/mount_options.rb:33:in `mount_name': wrong number of arguments (given 3, expected 2) (ArgumentError)
For anyone needing a workaround, editing $HOME/.vagrant.d/gems/2.6.6/gems/vagrant-parallels-2.2.0/lib/vagrant-parallels/cap/mount_options.rb
and replacing
def self.mount_name(machine, data)
data[:guestpath].gsub(/[*":<>?|\/\\]/,'_').sub(/^_/, '')
end
with
def self.mount_name(*args)
machine = args[0]
data = args[-1]
data[:guestpath].gsub(/[*":<>?|\/\\]/,'_').sub(/^_/, '')
end
seems to work.
@spencerhakim Thank you for reporting this issue!
I'll try to prepare the fix soon.
def self.mount_name(*args) machine = args[0] data = args[-1] data[:guestpath].gsub(/[*":<>?|\/\\]/,'_').sub(/^_/, '') end
seems to work.
Thanks so much @spencerhakim!
Is the fix coming any time soon? Patching manually every single vagrant install is not that easy...
Hi guys, sorry for a delay. Here is the fix: #386
I'll complete the verification on both Vagrant 2.2.14 and 2.2.15 and then will cut a new release of the plugin.
@ondrasek @robrecord The fix is released in vagrant-parallels v2.2.1. Could you please check that it works on your setup?
I was running into the same issues as described above, the new plugin works perfectly! 🎉
$ vagrant plugin list
vagrant-parallels (2.2.1, global)
$ vagrant --version
Vagrant 2.2.15
Also works for me on vagrant 2.2.16. Thank you!