vagrant-parallels 1.7.8 → 2.2.1
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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +73 -35
- data/README.md +29 -31
- data/lib/vagrant-parallels/action.rb +2 -0
- data/lib/vagrant-parallels/action/box_unregister.rb +2 -2
- data/lib/vagrant-parallels/action/import.rb +2 -12
- data/lib/vagrant-parallels/action/network.rb +6 -1
- data/lib/vagrant-parallels/action/package_vagrantfile.rb +33 -0
- data/lib/vagrant-parallels/action/prepare_clone_snapshot.rb +1 -2
- data/lib/vagrant-parallels/action/sane_defaults.rb +3 -18
- data/lib/vagrant-parallels/cap/mount_options.rb +49 -0
- data/lib/vagrant-parallels/config.rb +1 -1
- data/lib/vagrant-parallels/driver/base.rb +11 -33
- data/lib/vagrant-parallels/driver/meta.rb +6 -8
- data/lib/vagrant-parallels/driver/pd_11.rb +2 -2
- data/lib/vagrant-parallels/driver/pd_12.rb +1 -1
- data/lib/vagrant-parallels/errors.rb +9 -5
- data/lib/vagrant-parallels/guest_cap/linux/mount_parallels_shared_folder.rb +31 -64
- data/lib/vagrant-parallels/plugin.rb +15 -1
- data/lib/vagrant-parallels/synced_folder.rb +10 -20
- data/lib/vagrant-parallels/util/unix_mount_helpers.rb +121 -0
- data/lib/vagrant-parallels/version.rb +1 -1
- data/locales/en.yml +27 -14
- metadata +14 -13
- data/lib/vagrant-parallels/driver/pd_10.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3ff32a59a5a53f6225bc9595f05ecc24583ffefab4cebd77ad5cbb8901c8725d
|
4
|
+
data.tar.gz: 33664d070c0831774d66bfd3c3da5b5a1d3c20456521c543f01aec4c0a9a8911
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fec7982dd9ad7948f5830fae0a13beeada091a0464076df096ead3e8ec03da22f1c4f6f15d7a3af997e8ebd3ea294bb039d326a3ada5b9e16d242acd3fcce76f
|
7
|
+
data.tar.gz: fae1a0a7b2e7b414dcba9110309fa41ecfef8244616a6c34d9b9c2ac790a89db648f8fb78bd022f48810e4755bbe15c15cac69721571a0f33c5cecc2965c178a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,41 @@
|
|
1
|
+
## 2.2.1 (April 14, 2021)
|
2
|
+
BUG FIXES:
|
3
|
+
- Fixed the compatibility with Vagrant 2.2.15
|
4
|
+
[[GH-386](https://github.com/Parallels/vagrant-parallels/pull/386)]
|
5
|
+
|
6
|
+
## 2.2.0 (March 3, 2021)
|
7
|
+
IMPROVEMENTS:
|
8
|
+
- Mount shared folders after manual VM reboot
|
9
|
+
[[GH-377](https://github.com/Parallels/vagrant-parallels/pull/377)]
|
10
|
+
|
11
|
+
BUG FIXES:
|
12
|
+
- Fixed mount of shared folders with non-ASCII symbols in the name
|
13
|
+
[[GH-290](https://github.com/Parallels/vagrant-parallels/issues/290)]
|
14
|
+
|
15
|
+
## 2.1.0 (November 25, 2020)
|
16
|
+
BUG FIXES:
|
17
|
+
- Fixed the private network adapter workflow on macOS 11.0 Big Sur
|
18
|
+
[[GH-371](https://github.com/Parallels/vagrant-parallels/pull/371)]
|
19
|
+
- Fixed the concurrency issue with box unregister in multi-vm environment
|
20
|
+
[[GH-370](https://github.com/Parallels/vagrant-parallels/pull/370)]
|
21
|
+
- Fixed the `vagrant package` with custom `Vagrantfile`
|
22
|
+
[[GH-368](https://github.com/Parallels/vagrant-parallels/pull/368)]
|
23
|
+
|
24
|
+
## 2.0.1 (April 23, 2019)
|
25
|
+
BUG FIXES:
|
26
|
+
- Fixed the error message for host-only network collision
|
27
|
+
[[GH-340](https://github.com/Parallels/vagrant-parallels/issues/340)]
|
28
|
+
|
29
|
+
## 2.0.0 (November 19, 2018)
|
30
|
+
BREAKING CHANGES:
|
31
|
+
- **Linked Clone feature is enabled by default.**
|
32
|
+
Now each time when you create a new virtual machine with `vagrant up` it is
|
33
|
+
created as a linked clone of the box image (instead of the full clone, as it
|
34
|
+
was before). Read more about it:
|
35
|
+
[Full Clone vs Linked Clone](https://parallels.github.io/vagrant-parallels/docs/configuration.html#linked_clone).
|
36
|
+
- **Dropped support of Parallels Desktop 10**. It reached
|
37
|
+
[End-of-Life and End-of-Support](https://kb.parallels.com/eu/122533).
|
38
|
+
|
1
39
|
## 1.7.8 (November 18, 2017)
|
2
40
|
BUG FIXES:
|
3
41
|
- Fixed warning messages with Vagrant v2.0.1
|
@@ -12,40 +50,40 @@ BUG FIXES:
|
|
12
50
|
## 1.7.6 (July 31, 2017)
|
13
51
|
BUG FIXES:
|
14
52
|
- Fixed `vagrant up` failure if the box image was automatically renamed due
|
15
|
-
to the name conflict.
|
53
|
+
to the name conflict.
|
16
54
|
[[GH-303](https://github.com/Parallels/vagrant-parallels/issues/303)]
|
17
55
|
|
18
56
|
|
19
57
|
## 1.7.5 (May 27, 2017)
|
20
58
|
BUG FIXES:
|
21
59
|
- Fixed compatibility with Vagrant v1.9.5+. `nokogiri` gem is defined as
|
22
|
-
a plugin runtime dependency.
|
60
|
+
a plugin runtime dependency.
|
23
61
|
[[GH-297](https://github.com/Parallels/vagrant-parallels/issues/297)],
|
24
62
|
[[GH-298](https://github.com/Parallels/vagrant-parallels/pull/298)]
|
25
|
-
|
26
|
-
**NB!** To use the plugin with Vagrant v1.9.5 you should (re)install it with
|
63
|
+
|
64
|
+
**NB!** To use the plugin with Vagrant v1.9.5 you should (re)install it with
|
27
65
|
`NOKOGIRI_USE_SYSTEM_LIBRARIES` enabled:
|
28
66
|
```bash
|
29
67
|
$ vagrant plugin uninstall vagrant-parallels
|
30
68
|
$ NOKOGIRI_USE_SYSTEM_LIBRARIES=true vagrant plugin install vagrant-parallels
|
31
69
|
```
|
32
|
-
|
70
|
+
|
33
71
|
|
34
72
|
## 1.7.4 (April 20, 2017)
|
35
73
|
IMPROVEMENTS:
|
36
|
-
- Make start action (`"vagrant up"`) run provisioners if VM is running.
|
74
|
+
- Make start action (`"vagrant up"`) run provisioners if VM is running.
|
37
75
|
[[GH-294](https://github.com/Parallels/vagrant-parallels/pull/294)]
|
38
76
|
|
39
77
|
BUG FIXES:
|
40
|
-
- Properly handle `"paused"` VM state for up and halt actions.
|
78
|
+
- Properly handle `"paused"` VM state for up and halt actions.
|
41
79
|
[[GH-295](https://github.com/Parallels/vagrant-parallels/pull/295)]
|
42
80
|
- synced_folder: Escape special characters in Windows-specific guest paths.
|
43
|
-
[[GH-296](https://github.com/Parallels/vagrant-parallels/pull/296)]
|
44
|
-
|
81
|
+
[[GH-296](https://github.com/Parallels/vagrant-parallels/pull/296)]
|
82
|
+
|
45
83
|
|
46
84
|
## 1.7.3 (February 28, 2017)
|
47
85
|
BUG FIXES:
|
48
|
-
- Fix exceptions related to `nokogiri` gem.
|
86
|
+
- Fix exceptions related to `nokogiri` gem.
|
49
87
|
[[GH-291](https://github.com/Parallels/vagrant-parallels/issues/291)],
|
50
88
|
[[GH-292](https://github.com/Parallels/vagrant-parallels/issues/292)]
|
51
89
|
|
@@ -58,28 +96,28 @@ BUG FIXES:
|
|
58
96
|
|
59
97
|
## 1.7.1 (December 7, 2016)
|
60
98
|
FEATURES:
|
61
|
-
- **Guest capability for installing Parallels Tools in Windows.** Now it is
|
99
|
+
- **Guest capability for installing Parallels Tools in Windows.** Now it is
|
62
100
|
possible to install/upgrade Parallels Tools in Windows guests using
|
63
101
|
the provider option `update_guest_tools`. [[GH-284](https://github.com/Parallels/vagrant-parallels/pull/284)]
|
64
|
-
|
102
|
+
|
65
103
|
BUG FIXES:
|
66
104
|
- Fix issues of auto-updating Parallels Tools in Linux guests with Parallels Desktop 12+.
|
67
105
|
[[GH-283](https://github.com/Parallels/vagrant-parallels/pull/283)],
|
68
106
|
[[GH-282](https://github.com/Parallels/vagrant-parallels/pull/282)],
|
69
107
|
[[GH-281](https://github.com/Parallels/vagrant-parallels/pull/281)]
|
70
|
-
|
108
|
+
|
71
109
|
|
72
110
|
## 1.7.0 (November 15, 2016)
|
73
111
|
BREAKING CHANGES:
|
74
|
-
- **Dropped support of Parallels Desktop 8 and 9**. These versions have
|
75
|
-
reached their [End-of-Life and End-of-Support](
|
112
|
+
- **Dropped support of Parallels Desktop 8 and 9**. These versions have
|
113
|
+
reached their [End-of-Life and End-of-Support](https://kb.parallels.com/eu/122533).
|
76
114
|
- **Removed customization options, which were previously deprecated:** [[GH-271](https://github.com/Parallels/vagrant-parallels/pull/271)]
|
77
115
|
- "use_linked_clone" - use `linked_clone` instead.
|
78
116
|
- "regen_box_uuid" - use `regen_src_uuid` instead.
|
79
|
-
- "optimize_power_consumption".
|
80
|
-
|
117
|
+
- "optimize_power_consumption".
|
118
|
+
|
81
119
|
FEATURES:
|
82
|
-
- **IPv6 Private Networks:** Private networking now supports IPv6.
|
120
|
+
- **IPv6 Private Networks:** Private networking now supports IPv6.
|
83
121
|
This only works with Parallels Desktop 12 and higher.
|
84
122
|
[[GH-273](https://github.com/Parallels/vagrant-parallels/pull/273)]
|
85
123
|
|
@@ -94,23 +132,23 @@ DEPRECATIONS:
|
|
94
132
|
[[GH-260](https://github.com/Parallels/vagrant-parallels/pull/260)]
|
95
133
|
|
96
134
|
IMPROVEMENTS:
|
97
|
-
- Allow to package linked clones with `vagrant package`. External disk images
|
98
|
-
will be automatically copied, so the resulted box become a full-sized
|
135
|
+
- Allow to package linked clones with `vagrant package`. External disk images
|
136
|
+
will be automatically copied, so the resulted box become a full-sized
|
99
137
|
standalone VM. [[GH-262](https://github.com/Parallels/vagrant-parallels/pull/262)]
|
100
138
|
- Handle the situation when host machine is not connected to Shared network.
|
101
139
|
With Parallels Desktop 11.2.1+ Vagrant will connect it automatically. With earlier
|
102
|
-
versions, the human-readable error message will be displayed.
|
140
|
+
versions, the human-readable error message will be displayed.
|
103
141
|
[[GH-266](https://github.com/Parallels/vagrant-parallels/pull/266)]
|
104
|
-
- Disable home folder sharing by default (Parallels Desktop 11+).
|
142
|
+
- Disable home folder sharing by default (Parallels Desktop 11+).
|
105
143
|
[[GH-257](https://github.com/Parallels/vagrant-parallels/pull/257)]
|
106
144
|
|
107
145
|
BUG FIXES:
|
108
146
|
- action/box_unregister: Fix `#recover` method for layered environments.
|
109
147
|
[[GH-261](https://github.com/Parallels/vagrant-parallels/pull/261)]
|
110
|
-
- action/network: Fix an exception when option "Connect Mac to
|
148
|
+
- action/network: Fix an exception when option "Connect Mac to
|
111
149
|
this network" is disabled. [[GH-268](https://github.com/Parallels/vagrant-parallels/pull/268)]
|
112
|
-
- commands/snapshot: Add retries for snapshot commands to avoid `prlctl`
|
113
|
-
failures. [[GH-259](https://github.com/Parallels/vagrant-parallels/pull/259)]
|
150
|
+
- commands/snapshot: Add retries for snapshot commands to avoid `prlctl`
|
151
|
+
failures. [[GH-259](https://github.com/Parallels/vagrant-parallels/pull/259)]
|
114
152
|
|
115
153
|
|
116
154
|
## 1.6.2 (March 23, 2016)
|
@@ -119,28 +157,28 @@ BUG FIXES:
|
|
119
157
|
|
120
158
|
IMPROVEMENTS:
|
121
159
|
- action/destroy: Destroy suspended VMs without resuming
|
122
|
-
|
160
|
+
|
123
161
|
## 1.6.1 (January 13, 2016)
|
124
162
|
|
125
163
|
BUG FIXES:
|
126
|
-
- action/import: Fix `regenerate_src_uuid` option behavior in parallel run
|
164
|
+
- action/import: Fix `regenerate_src_uuid` option behavior in parallel run
|
127
165
|
[[GH-241](https://github.com/Parallels/vagrant-parallels/pull/241)]
|
128
|
-
- action/box_unregister: Use temporary lock file to prevent early unregister
|
166
|
+
- action/box_unregister: Use temporary lock file to prevent early unregister
|
129
167
|
in parallel run [[GH-244](https://github.com/Parallels/vagrant-parallels/pull/244)]
|
130
168
|
- action/network: Fix detection of the next virtual network ID [[GH-245](https://github.com/Parallels/vagrant-parallels/pull/245)]
|
131
169
|
|
132
170
|
|
133
171
|
## 1.6.0 (December 24, 2015)
|
134
172
|
BREAKING CHANGES:
|
135
|
-
|
136
|
-
- The required Vagrant version is **1.8** or higher. It is caused by changes
|
173
|
+
|
174
|
+
- The required Vagrant version is **1.8** or higher. It is caused by changes
|
137
175
|
in Vagrant plugin model.
|
138
|
-
|
176
|
+
|
139
177
|
SUPPORT FOR VAGRANT FEATURES:
|
140
178
|
|
141
|
-
- `vagrant port`: This command displays the list of forwarded ports from the
|
179
|
+
- `vagrant port`: This command displays the list of forwarded ports from the
|
142
180
|
guest to the host
|
143
|
-
- `vagrant snapshot`: This command can be used to checkpoint and restore
|
181
|
+
- `vagrant snapshot`: This command can be used to checkpoint and restore
|
144
182
|
point-in-time snapshots [[GH-228](https://github.com/Parallels/vagrant-parallels/pull/228)]
|
145
183
|
|
146
184
|
IMPROVEMENTS:
|
@@ -155,10 +193,10 @@ IMPROVEMENTS:
|
|
155
193
|
|
156
194
|
BUG FIXES:
|
157
195
|
|
158
|
-
- action/forward_ports: Add parallel-safe lock to avoid collisions of
|
196
|
+
- action/forward_ports: Add parallel-safe lock to avoid collisions of
|
159
197
|
forwarded ports in multi-machine env [[GH-226](https://github.com/Parallels/vagrant-parallels/pull/226)]
|
160
198
|
|
161
199
|
## Previous Versions
|
162
200
|
|
163
201
|
Please, refer to [Releases](https://github.com/Parallels/vagrant-parallels/releases)
|
164
|
-
page on GitHub.
|
202
|
+
page on GitHub.
|
data/README.md
CHANGED
@@ -1,37 +1,37 @@
|
|
1
1
|
# Vagrant Parallels Provider
|
2
|
-
[]
|
2
|
+
[](https://badge.fury.io/rb/vagrant-parallels)
|
3
|
+
[](https://travis-ci.org/Parallels/vagrant-parallels)
|
4
|
+
[](https://codeclimate.com/github/Parallels/vagrant-parallels)
|
5
|
+
|
6
|
+
_Vagrant Parallels Provider_ is a plugin for [Vagrant](https://www.vagrantup.com),
|
7
|
+
allowing to manage [Parallels Desktop](https://www.parallels.com/products/desktop/)
|
8
|
+
virtual machines on macOS hosts.
|
9
|
+
|
10
|
+
### Requirements
|
11
|
+
- [Vagrant v1.8](https://www.vagrantup.com) or higher
|
12
|
+
(_there are known issues with Vagrant v1.9.5
|
13
|
+
[[GH-297](https://github.com/Parallels/vagrant-parallels/issues/297#issuecomment-304458691)]
|
14
14
|
and v1.9.6 [[GH-301]](https://github.com/Parallels/vagrant-parallels/issues/301)_)
|
15
|
-
- [Parallels Desktop
|
15
|
+
- [Parallels Desktop 11 for Mac](https://www.parallels.com/products/desktop/) or higher
|
16
16
|
|
17
|
-
*Note:* Only **Pro** and **Business** editions of **Parallels Desktop for Mac**
|
18
|
-
are compatible with this Vagrant provider.
|
19
|
-
Standard edition doesn't have a command line functionality and can not be used
|
17
|
+
*Note:* Only **Pro** and **Business** editions of **Parallels Desktop for Mac**
|
18
|
+
are compatible with this Vagrant provider.
|
19
|
+
Standard edition doesn't have a full command line functionality and can not be used
|
20
20
|
with Vagrant.
|
21
21
|
|
22
22
|
## Features
|
23
|
-
The Parallels provider supports all basic Vagrant features, including
|
24
|
-
|
23
|
+
The Parallels provider supports all basic Vagrant features, including Shared Folders,
|
24
|
+
Private and Public Networking, Forwarded ports and Vagrant Share.
|
25
25
|
|
26
26
|
If you're just getting started with Vagrant, it is highly recommended that you
|
27
|
-
read the official [Vagrant documentation](
|
27
|
+
read the official [Vagrant documentation](https://docs.vagrantup.com/v2/) first.
|
28
28
|
|
29
29
|
## Installation
|
30
|
-
|
31
|
-
and [Vagrant](
|
30
|
+
Make sure that you have [Parallels Desktop for Mac](https://www.parallels.com/products/desktop/)
|
31
|
+
and [Vagrant](https://www.vagrantup.com/downloads.html) properly installed.
|
32
32
|
We recommend that you use the latest versions of these products.
|
33
33
|
|
34
|
-
|
34
|
+
Parallels provider is a plugin for Vagrant. Run this command to install it:
|
35
35
|
|
36
36
|
```
|
37
37
|
$ vagrant plugin install vagrant-parallels
|
@@ -40,24 +40,22 @@ $ vagrant plugin install vagrant-parallels
|
|
40
40
|
## Provider Documentation
|
41
41
|
|
42
42
|
More information about the Parallels provider is available in
|
43
|
-
[Vagrant Parallels Documentation](
|
43
|
+
[Vagrant Parallels Documentation](https://parallels.github.io/vagrant-parallels/docs/)
|
44
44
|
|
45
45
|
We recommend you to start from these pages:
|
46
|
-
* [Usage](
|
47
|
-
* [Getting Started](
|
48
|
-
* [Boxes](
|
46
|
+
* [Usage](https://parallels.github.io/vagrant-parallels/docs/usage.html)
|
47
|
+
* [Getting Started](https://parallels.github.io/vagrant-parallels/docs/getting-started.html)
|
48
|
+
* [Boxes](https://parallels.github.io/vagrant-parallels/docs/boxes/index.html)
|
49
49
|
|
50
50
|
## Getting Help
|
51
|
-
Having problems while using the provider? Ask your question on the official forum:
|
52
|
-
["Parallels Provider for Vagrant" forum branch](http://forum.parallels.com/forumdisplay.php?737-Parallels-Provider-for-Vagrant)
|
53
51
|
|
54
|
-
If you
|
52
|
+
If you have an issue with the Parallels provider or discover a bug,
|
55
53
|
please report it on the [Issue Tracker](https://github.com/Parallels/vagrant-parallels/issues).
|
56
54
|
|
57
55
|
## License and Authors
|
58
56
|
|
59
57
|
* Author: Youssef Shahin <yshahin@gmail.com>
|
60
58
|
* Author: Mikhail Zholobov <legal90@gmail.com>
|
61
|
-
* Copyright 2013-
|
59
|
+
* Copyright 2013-2020, Parallels International GmbH.
|
62
60
|
|
63
|
-
Vagrant Parallels Provider is open-sourced software licensed under the [MIT license](
|
61
|
+
Vagrant Parallels Provider is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
|
@@ -113,6 +113,7 @@ module VagrantPlugins
|
|
113
113
|
b1.use Package
|
114
114
|
b1.use Export
|
115
115
|
b1.use PackageConfigFiles
|
116
|
+
b1.use PackageVagrantfile
|
116
117
|
end
|
117
118
|
end
|
118
119
|
end
|
@@ -413,6 +414,7 @@ module VagrantPlugins
|
|
413
414
|
autoload :Network, File.expand_path('../action/network', __FILE__)
|
414
415
|
autoload :Package, File.expand_path('../action/package', __FILE__)
|
415
416
|
autoload :PackageConfigFiles, File.expand_path('../action/package_config_files', __FILE__)
|
417
|
+
autoload :PackageVagrantfile, File.expand_path('../action/package_vagrantfile', __FILE__)
|
416
418
|
autoload :PrepareCloneSnapshot, File.expand_path('../action/prepare_clone_snapshot', __FILE__)
|
417
419
|
autoload :PrepareForwardedPortCollisionParams, File.expand_path('../action/prepare_forwarded_port_collision_params', __FILE__)
|
418
420
|
autoload :PrepareNFSSettings, File.expand_path('../action/prepare_nfs_settings', __FILE__)
|
@@ -53,9 +53,9 @@ module VagrantPlugins
|
|
53
53
|
file.flush
|
54
54
|
end
|
55
55
|
|
56
|
-
# Delete the lease file if we
|
56
|
+
# Delete the lease file if we were the last who needed this box.
|
57
57
|
# Then the box image will be unregistered.
|
58
|
-
lease_file.delete if lease_file.read.chomp.to_i <=
|
58
|
+
lease_file.delete if lease_file.read.chomp.to_i <= 0
|
59
59
|
end
|
60
60
|
|
61
61
|
def unregister_box(env)
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'nokogiri'
|
2
|
-
|
3
1
|
require 'digest/md5'
|
4
2
|
|
5
3
|
module VagrantPlugins
|
@@ -21,14 +19,12 @@ module VagrantPlugins
|
|
21
19
|
@logger.info("Disabling password restrictions: #{acts.join(', ')}")
|
22
20
|
env[:machine].provider.driver.disable_password_restrictions(acts)
|
23
21
|
|
24
|
-
if env[:machine].provider_config.regen_src_uuid
|
25
|
-
&& env[:machine].provider.pd_version_satisfies?('>= 10.1.2')
|
22
|
+
if env[:machine].provider_config.regen_src_uuid
|
26
23
|
options[:regenerate_src_uuid] = true
|
27
24
|
end
|
28
25
|
|
29
26
|
# Linked clones are supported only for PD 11 and higher
|
30
|
-
if env[:machine].provider_config.linked_clone
|
31
|
-
&& env[:machine].provider.pd_version_satisfies?('>= 11')
|
27
|
+
if env[:machine].provider_config.linked_clone
|
32
28
|
# Linked clone creation should not be concurrent [GH-206]
|
33
29
|
options[:snapshot_id] = env[:clone_snapshot_id]
|
34
30
|
options[:linked] = true
|
@@ -51,12 +47,6 @@ module VagrantPlugins
|
|
51
47
|
# Flag as erroneous and return if import failed
|
52
48
|
raise Errors::VMCloneFailure if !env[:machine].id
|
53
49
|
|
54
|
-
if env[:machine].provider_config.regen_src_uuid \
|
55
|
-
&& env[:machine].provider.pd_version_satisfies?('< 10.1.2')
|
56
|
-
@logger.info('Regenerate SourceVmUuid by editing config.pvs file')
|
57
|
-
env[:machine].provider.driver.regenerate_src_uuid
|
58
|
-
end
|
59
|
-
|
60
50
|
# Remove 'Icon\r' file from VM home (bug in PD 11.0.0)
|
61
51
|
if env[:machine].provider.pd_version_satisfies?('= 11.0.0')
|
62
52
|
vm_home = env[:machine].provider.driver.read_settings.fetch('Home')
|
@@ -291,7 +291,12 @@ module VagrantPlugins
|
|
291
291
|
@env[:machine].provider.driver.read_bridged_interfaces.each do |interface|
|
292
292
|
next if interface[:status] == 'Down'
|
293
293
|
that_netaddr = IPAddr.new("#{interface[:ip]}/#{interface[:netmask]}")
|
294
|
-
|
294
|
+
if netaddr.include? that_netaddr
|
295
|
+
raise VagrantPlugins::Parallels::Errors::NetworkCollision,
|
296
|
+
hostonly_netaddr: netaddr,
|
297
|
+
bridge_netaddr: that_netaddr,
|
298
|
+
bridge_interface: interface[:name]
|
299
|
+
end
|
295
300
|
end
|
296
301
|
end
|
297
302
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'vagrant/util/template_renderer'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module Parallels
|
5
|
+
module Action
|
6
|
+
class PackageVagrantfile
|
7
|
+
# For TemplateRenderer
|
8
|
+
include Vagrant::Util
|
9
|
+
|
10
|
+
def initialize(app, env)
|
11
|
+
@app = app
|
12
|
+
end
|
13
|
+
|
14
|
+
def call(env)
|
15
|
+
@env = env
|
16
|
+
create_vagrantfile
|
17
|
+
@app.call(env)
|
18
|
+
end
|
19
|
+
|
20
|
+
# This method creates the auto-generated Vagrantfile at the root of the
|
21
|
+
# box. This Vagrantfile contains the MAC address so that the user doesn't
|
22
|
+
# have to worry about it.
|
23
|
+
def create_vagrantfile
|
24
|
+
File.open(File.join(@env["export.temp_dir"], "Vagrantfile"), "w") do |f|
|
25
|
+
f.write(TemplateRenderer.render("package_Vagrantfile", {
|
26
|
+
base_mac: @env[:machine].provider.driver.read_mac_address
|
27
|
+
}))
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -20,8 +20,7 @@ module VagrantPlugins
|
|
20
20
|
end
|
21
21
|
|
22
22
|
# If we're not doing a linked clone, snapshots don't matter
|
23
|
-
if !env[:machine].provider_config.linked_clone
|
24
|
-
|| env[:machine].provider.pd_version_satisfies?('< 11')
|
23
|
+
if !env[:machine].provider_config.linked_clone
|
25
24
|
return @app.call(env)
|
26
25
|
end
|
27
26
|
|
@@ -14,9 +14,6 @@ module VagrantPlugins
|
|
14
14
|
# helpers.
|
15
15
|
@env = env
|
16
16
|
|
17
|
-
settings = default_settings
|
18
|
-
|
19
|
-
@app.call(env) if settings.empty?
|
20
17
|
@env[:ui].info I18n.t('vagrant_parallels.actions.vm.sane_defaults.setting')
|
21
18
|
|
22
19
|
default_settings.each do |setting, value|
|
@@ -30,35 +27,23 @@ module VagrantPlugins
|
|
30
27
|
private
|
31
28
|
|
32
29
|
def default_settings
|
33
|
-
|
30
|
+
{
|
34
31
|
tools_autoupdate: 'no',
|
35
|
-
startup_view: 'same',
|
36
32
|
on_shutdown: 'close',
|
37
33
|
on_window_close: 'keep-running',
|
38
34
|
auto_share_camera: 'off',
|
39
35
|
smart_guard: 'off',
|
40
|
-
longer_battery_life: 'on'
|
41
|
-
}
|
42
|
-
|
43
|
-
return settings if @env[:machine].provider.pd_version_satisfies?('< 10.1.2')
|
44
|
-
settings.merge!(
|
36
|
+
longer_battery_life: 'on',
|
45
37
|
shared_cloud: 'off',
|
46
38
|
shared_profile: 'off',
|
47
39
|
smart_mount: 'off',
|
48
40
|
sh_app_guest_to_host: 'off',
|
49
41
|
sh_app_host_to_guest: 'off',
|
50
|
-
time_sync: 'off'
|
51
|
-
)
|
52
|
-
|
53
|
-
return settings if @env[:machine].provider.pd_version_satisfies?('< 11')
|
54
|
-
settings.merge!(
|
55
42
|
startup_view: 'headless',
|
56
43
|
time_sync: 'on',
|
57
44
|
disable_timezone_sync: 'on',
|
58
45
|
shf_host_defined: 'off'
|
59
|
-
|
60
|
-
|
61
|
-
settings
|
46
|
+
}
|
62
47
|
end
|
63
48
|
end
|
64
49
|
end
|