vagrant-parallels 2.0.1 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 85e2c532a3b4223860ba143a446100ef6c3744f9
4
- data.tar.gz: c99d45686b5d6c5463c9d65ad93559f19ea48cbf
2
+ SHA256:
3
+ metadata.gz: 5fdb9ca9fa5d338982ac6541f4f5678e0ef2dee8c59702db2e306db6b78e680b
4
+ data.tar.gz: aa9b5f1f0e36c1738f110f398625a06966c1000372709f7f1c0b66a3ff8464cc
5
5
  SHA512:
6
- metadata.gz: 43842f0c8f79ffdf6be311cf7bcac234697a1f82d70da62760604536ffa40eaf7a4d1c12f16c366988ccab1c3ea636606dc5c1bb6299c2bc3e98609f9683bbd6
7
- data.tar.gz: f5dd3bced88d5f7d0721232dcd25f7f455856ed38391dd1dadbe045c712f891ba381831ebccfc0d8ed579c56bc854ec8a8d88307b23d8cde409f4556b677a9a3
6
+ metadata.gz: fcad3b44951d96a81e85a70de8eced5a79cc345927233de61cd0dae7cfc04793a6f5259d92f420accb1663563d285454435848c569b3de67e3df01bec90934ce
7
+ data.tar.gz: e3d94acb423edbe4222ad979717a7379780b4be870fc33c793f0c09f64fa48721086d3ef03d14b08e560ead90d44ed183a8a37035b7a043379d9148548bb13eb
@@ -1,3 +1,12 @@
1
+ ## 2.1.0 (November 25, 2020)
2
+ BUG FIXES:
3
+ - Fixed the private network adapter workflow on macOS 11.0 Big Sur
4
+ [[GH-371](https://github.com/Parallels/vagrant-parallels/pull/371)]
5
+ - Fixed the concurrency issue with box unregister in multi-vm environment
6
+ [[GH-370](https://github.com/Parallels/vagrant-parallels/pull/370)]
7
+ - Fixed the `vagrant package` with custom `Vagrantfile`
8
+ [[GH-368](https://github.com/Parallels/vagrant-parallels/pull/368)]
9
+
1
10
  ## 2.0.1 (April 23, 2019)
2
11
  BUG FIXES:
3
12
  - Fixed the error message for host-only network collision
@@ -9,9 +18,9 @@ BREAKING CHANGES:
9
18
  Now each time when you create a new virtual machine with `vagrant up` it is
10
19
  created as a linked clone of the box image (instead of the full clone, as it
11
20
  was before). Read more about it:
12
- [Full Clone vs Linked Clone](http://parallels.github.io/vagrant-parallels/docs/configuration.html#linked_clone).
21
+ [Full Clone vs Linked Clone](https://parallels.github.io/vagrant-parallels/docs/configuration.html#linked_clone).
13
22
  - **Dropped support of Parallels Desktop 10**. It reached
14
- [End-of-Life and End-of-Support](http://kb.parallels.com/eu/122533).
23
+ [End-of-Life and End-of-Support](https://kb.parallels.com/eu/122533).
15
24
 
16
25
  ## 1.7.8 (November 18, 2017)
17
26
  BUG FIXES:
@@ -87,7 +96,7 @@ BUG FIXES:
87
96
  ## 1.7.0 (November 15, 2016)
88
97
  BREAKING CHANGES:
89
98
  - **Dropped support of Parallels Desktop 8 and 9**. These versions have
90
- reached their [End-of-Life and End-of-Support](http://kb.parallels.com/eu/122533).
99
+ reached their [End-of-Life and End-of-Support](https://kb.parallels.com/eu/122533).
91
100
  - **Removed customization options, which were previously deprecated:** [[GH-271](https://github.com/Parallels/vagrant-parallels/pull/271)]
92
101
  - "use_linked_clone" - use `linked_clone` instead.
93
102
  - "regen_box_uuid" - use `regen_src_uuid` instead.
data/README.md CHANGED
@@ -3,16 +3,16 @@
3
3
  [![Build Status](https://travis-ci.org/Parallels/vagrant-parallels.svg?branch=master)](https://travis-ci.org/Parallels/vagrant-parallels)
4
4
  [![Code Climate](https://codeclimate.com/github/Parallels/vagrant-parallels.svg)](https://codeclimate.com/github/Parallels/vagrant-parallels)
5
5
 
6
- _Vagrant Parallels Provider_ is a plugin for [Vagrant](http://www.vagrantup.com),
7
- allowing to manage [Parallels Desktop](http://www.parallels.com/products/desktop/)
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
8
  virtual machines on macOS hosts.
9
9
 
10
10
  ### Requirements
11
- - [Vagrant v1.8](http://www.vagrantup.com) or higher
11
+ - [Vagrant v1.8](https://www.vagrantup.com) or higher
12
12
  (_there are known issues with Vagrant v1.9.5
13
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 11 for Mac](http://www.parallels.com/products/desktop/) or higher
15
+ - [Parallels Desktop 11 for Mac](https://www.parallels.com/products/desktop/) or higher
16
16
 
17
17
  *Note:* Only **Pro** and **Business** editions of **Parallels Desktop for Mac**
18
18
  are compatible with this Vagrant provider.
@@ -24,11 +24,11 @@ The Parallels provider supports all basic Vagrant features, including Shared Fol
24
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](http://docs.vagrantup.com/v2/) first.
27
+ read the official [Vagrant documentation](https://docs.vagrantup.com/v2/) first.
28
28
 
29
29
  ## Installation
30
- Make sure that you have [Parallels Desktop for Mac](http://www.parallels.com/products/desktop/)
31
- and [Vagrant](http://www.vagrantup.com/downloads) properly installed.
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:
@@ -40,12 +40,12 @@ $ 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](http://parallels.github.io/vagrant-parallels/docs/)
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](http://parallels.github.io/vagrant-parallels/docs/usage.html)
47
- * [Getting Started](http://parallels.github.io/vagrant-parallels/docs/getting-started.html)
48
- * [Boxes](http://parallels.github.io/vagrant-parallels/docs/boxes/index.html)
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
51
 
@@ -56,6 +56,6 @@ please report it on the [Issue Tracker](https://github.com/Parallels/vagrant-par
56
56
 
57
57
  * Author: Youssef Shahin <yshahin@gmail.com>
58
58
  * Author: Mikhail Zholobov <legal90@gmail.com>
59
- * Copyright 2013-2018, Parallels International GmbH.
59
+ * Copyright 2013-2020, Parallels International GmbH.
60
60
 
61
- Vagrant Parallels Provider is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).
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 are the last who need this box.
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 <= 1
58
+ lease_file.delete if lease_file.read.chomp.to_i <= 0
59
59
  end
60
60
 
61
61
  def unregister_box(env)
@@ -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
@@ -193,14 +193,13 @@ module VagrantPlugins
193
193
  end
194
194
  end
195
195
 
196
- # Deletes any host only networks that aren't being used for anything.
196
+ # Deletes host-only networks that aren't being used by any virtual machine.
197
197
  def delete_unused_host_only_networks
198
198
  networks = read_virtual_networks
199
- # 'Shared'(vnic0) and 'Host-Only'(vnic1) are default in Parallels Desktop
200
- # They should not be deleted anyway.
199
+
200
+ # Exclude all host-only network interfaces which were not created by vagrant provider.
201
201
  networks.keep_if do |net|
202
- net['Type'] == 'host-only' && net['Bound To'] &&
203
- net['Bound To'].match(/^(?>vnic|Parallels Host-Only #)(\d+)$/)[1].to_i >= 2
202
+ net['Type'] == 'host-only' && net['Network ID'] =~ /^vagrant-vnet(\d+)$/
204
203
  end
205
204
 
206
205
  read_vms_info.each do |vm|
@@ -210,8 +209,8 @@ module VagrantPlugins
210
209
  end
211
210
  end
212
211
 
212
+ # Delete all unused network interfaces.
213
213
  networks.each do |net|
214
- # Delete the actual host only network interface.
215
214
  execute_prlsrvctl('net', 'del', net['Network ID'])
216
215
  end
217
216
  end
@@ -496,7 +495,6 @@ module VagrantPlugins
496
495
  #
497
496
  # {
498
497
  # name: 'Host-Only', # Parallels Network ID
499
- # bound_to: 'vnic1', # interface name
500
498
  # ip: '10.37.129.2', # IP address of the interface
501
499
  # netmask: '255.255.255.0', # netmask associated with the interface
502
500
  # status: 'Up' # status of the interface
@@ -519,11 +517,9 @@ module VagrantPlugins
519
517
  }
520
518
 
521
519
  adapter = net_info['Parallels adapter']
522
- if adapter && net_info['Bound To']
523
- # In PD >= 10.1.2 there are new field names for an IP/Subnet
524
- iface[:ip] = adapter['IP address'] || adapter['IPv4 address']
525
- iface[:netmask] = adapter['Subnet mask'] || adapter['IPv4 subnet mask']
526
- iface[:bound_to] = net_info['Bound To']
520
+ if adapter
521
+ iface[:ip] = adapter['IPv4 address']
522
+ iface[:netmask] = adapter['IPv4 subnet mask']
527
523
  iface[:status] = 'Up'
528
524
 
529
525
  if adapter['IPv6 address'] && adapter['IPv6 subnet mask']
@@ -618,11 +614,9 @@ module VagrantPlugins
618
614
  }
619
615
  adapter = net_info['Parallels adapter']
620
616
 
621
- if adapter && net_info['Bound To']
622
- # In PD >= 10.1.2 there are new field names for an IP/Subnet
623
- iface[:ip] = adapter['IP address'] || adapter['IPv4 address']
624
- iface[:netmask] = adapter['Subnet mask'] || adapter['IPv4 subnet mask']
625
- iface[:bound_to] = net_info['Bound To']
617
+ if adapter
618
+ iface[:ip] = adapter['IPv4 address']
619
+ iface[:netmask] = adapter['IPv4 subnet mask']
626
620
  iface[:status] = 'Up'
627
621
  end
628
622
 
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Parallels
3
- VERSION = '2.0.1'
3
+ VERSION = '2.1.0'
4
4
  end
5
5
  end
@@ -109,12 +109,12 @@ en:
109
109
  only with Pro and Business editions of Parallels Desktop. Other editions
110
110
  do not have command line functionality and can not be used with Vagrant.
111
111
 
112
- Please upgrade your installation: http://parallels.com/desktop
112
+ Please upgrade your installation: https://parallels.com/desktop
113
113
  parallels_unsupported_version: |-
114
114
  Vagrant has detected that you have a version of Parallels Desktop for Mac
115
115
  installed that is not supported. Vagrant Parallels provider is compatible
116
116
  only with Parallels Desktop 11 or later.
117
- Please upgrade your installation: http://parallels.com/desktop
117
+ Please upgrade your installation: https://parallels.com/desktop
118
118
 
119
119
  Note: Starting since Parallels Desktop 11 for Mac, Vagrant Parallels
120
120
  provider can be only used with Pro or Business edition of Parallels
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-parallels
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikhail Zholobov
8
8
  - Youssef Shahin
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-23 00:00:00.000000000 Z
12
+ date: 2020-11-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -31,14 +31,14 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 11.3.0
34
+ version: 12.3.3
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 11.3.0
41
+ version: 12.3.3
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 1.2.0
62
+ version: 1.3.0
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 1.2.0
69
+ version: 1.3.0
70
70
  description: Enables Vagrant to manage Parallels virtual machines.
71
71
  email:
72
72
  - mzholobov@parallels.com
@@ -98,6 +98,7 @@ files:
98
98
  - lib/vagrant-parallels/action/network.rb
99
99
  - lib/vagrant-parallels/action/package.rb
100
100
  - lib/vagrant-parallels/action/package_config_files.rb
101
+ - lib/vagrant-parallels/action/package_vagrantfile.rb
101
102
  - lib/vagrant-parallels/action/prepare_clone_snapshot.rb
102
103
  - lib/vagrant-parallels/action/prepare_forwarded_port_collision_params.rb
103
104
  - lib/vagrant-parallels/action/prepare_nfs_settings.rb
@@ -129,11 +130,11 @@ files:
129
130
  - lib/vagrant-parallels/util/compile_forwarded_ports.rb
130
131
  - lib/vagrant-parallels/version.rb
131
132
  - locales/en.yml
132
- homepage: http://github.com/Parallels/vagrant-parallels
133
+ homepage: https://github.com/Parallels/vagrant-parallels
133
134
  licenses:
134
135
  - MIT
135
136
  metadata: {}
136
- post_install_message:
137
+ post_install_message:
137
138
  rdoc_options: []
138
139
  require_paths:
139
140
  - lib
@@ -148,9 +149,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
149
  - !ruby/object:Gem::Version
149
150
  version: 1.3.6
150
151
  requirements: []
151
- rubyforge_project: vagrant-parallels
152
- rubygems_version: 2.6.13
153
- signing_key:
152
+ rubygems_version: 3.0.3
153
+ signing_key:
154
154
  specification_version: 4
155
155
  summary: Parallels provider for Vagrant.
156
156
  test_files: []