vagrant-parallels 2.2.6 → 2.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/LICENSE.txt +1 -1
- data/README.md +1 -1
- data/lib/vagrant-parallels/action/prepare_nfs_settings.rb +1 -1
- data/lib/vagrant-parallels/driver/base.rb +32 -5
- data/lib/vagrant-parallels/driver/meta.rb +2 -1
- data/lib/vagrant-parallels/version.rb +1 -1
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45a092a3894860152f2315793cb2a6ca541bc3488b168e3e08c9ba9637f8c867
|
4
|
+
data.tar.gz: 7e6a76e6734bad9691232004722d0cc04f5bc53992798bd6e5074341dce985af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ff72d8b55fde7f2d4444048fe9c736e0f312c61f8b5098b0ac5569a1b3415a6c6671b9c54375190cbcd43aebf55b74fbde681ae9ff2c77f0144bd199a525b60
|
7
|
+
data.tar.gz: 5181b7a0c84d03f593e7e4102e8289c95c292a5328566802f017851617259911012745707b78799bf113bd96e78200f95a6762abbb85135181883c273439dd6b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
## 2.3.1 (March 23, 2022)
|
2
|
+
BUG FIXES:
|
3
|
+
- Fix the detection of VM IP. Wait for the IP to become available to
|
4
|
+
avoid connection issues and Vagrant warnings.
|
5
|
+
[[GH-440](https://github.com/Parallels/vagrant-parallels/issues/440)]
|
6
|
+
|
7
|
+
## 2.3.0 (March 22, 2022)
|
8
|
+
IMPROVEMENTS:
|
9
|
+
- Support fetching the VM IP using prlctl
|
10
|
+
[[GH-434](https://github.com/Parallels/vagrant-parallels/pull/434)].
|
11
|
+
- Update gem dependensies and support Ruby 3.0
|
12
|
+
[[GH-437](https://github.com/Parallels/vagrant-parallels/pull/437)],
|
13
|
+
[[GH-439](https://github.com/Parallels/vagrant-parallels/pull/439)].
|
14
|
+
|
15
|
+
BUG FIXES:
|
16
|
+
- Fixes SSH access to `.macvm` VMs on Macs with Apple M-series chip
|
17
|
+
[[GH-435](https://github.com/Parallels/vagrant-parallels/issues/435)]
|
18
|
+
|
1
19
|
## 2.2.6 (December 19, 2022)
|
2
20
|
BUG FIXES:
|
3
21
|
- Fix the macOS VMs support on ARM-based Mac
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -53,6 +53,6 @@ please report it on the [Issue Tracker](https://github.com/Parallels/vagrant-par
|
|
53
53
|
|
54
54
|
* Author: Youssef Shahin <yshahin@gmail.com>
|
55
55
|
* Author: Mikhail Zholobov <legal90@gmail.com>
|
56
|
-
* Copyright 2013-
|
56
|
+
* Copyright 2013-2023, Parallels International GmbH.
|
57
57
|
|
58
58
|
Vagrant Parallels Provider is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
|
@@ -37,7 +37,7 @@ module VagrantPlugins
|
|
37
37
|
# The ! indicates that this method modifies its argument.
|
38
38
|
def add_ips_to_env!(env)
|
39
39
|
host_ip = @machine.provider.driver.read_shared_interface[:ip]
|
40
|
-
guest_ip = @machine.provider.driver.
|
40
|
+
guest_ip = @machine.provider.driver.ssh_ip
|
41
41
|
|
42
42
|
# If we couldn't determine either guest's or host's IP, then
|
43
43
|
# it is probably a bug. Display an appropriate error message.
|
@@ -403,11 +403,13 @@ module VagrantPlugins
|
|
403
403
|
end
|
404
404
|
end
|
405
405
|
|
406
|
-
# Returns an IP of the virtual machine
|
407
|
-
# adapter is configured for this VM
|
406
|
+
# Returns an IP of the virtual machine fetched from the DHCP lease file.
|
407
|
+
# It requires that Shared network adapter is configured for this VM
|
408
|
+
# and it obtains an IP via DHCP.
|
409
|
+
# Returns an empty string if the IP coudn't be determined this way.
|
408
410
|
#
|
409
411
|
# @return [String] IP address leased by DHCP server in "Shared" network
|
410
|
-
def
|
412
|
+
def read_guest_ip_dhcp
|
411
413
|
mac_addr = read_mac_address.downcase
|
412
414
|
leases_file = '/Library/Preferences/Parallels/parallels_dhcp_leases'
|
413
415
|
leases = {}
|
@@ -430,6 +432,16 @@ module VagrantPlugins
|
|
430
432
|
leases.max_by { |_ip, lease_time| lease_time }.first
|
431
433
|
end
|
432
434
|
|
435
|
+
# Returns an IP of the virtual machine fetched from prlctl.
|
436
|
+
# Returns an empty string if the IP coudn't be determined this way.
|
437
|
+
#
|
438
|
+
# @return [String] IP address returned by `prlctl list -f` command
|
439
|
+
def read_guest_ip_prlctl
|
440
|
+
vm_info = json { execute_prlctl('list', @uuid, '--full', '--json') }
|
441
|
+
ip = vm_info.first.fetch('ip_configured', '')
|
442
|
+
ip == '-' ? '' : ip
|
443
|
+
end
|
444
|
+
|
433
445
|
# Returns path to the Parallels Tools ISO file.
|
434
446
|
#
|
435
447
|
# @param [String] guest_os Guest os type: "linux", "darwin" or "windows"
|
@@ -757,11 +769,26 @@ module VagrantPlugins
|
|
757
769
|
end
|
758
770
|
end
|
759
771
|
|
760
|
-
# Reads the SSH IP of this VM
|
772
|
+
# Reads the SSH IP of this VM from DHCP lease file or from `prlctl list`
|
773
|
+
# command - whatever returns a non-empty result first.
|
774
|
+
# The method with DHCP does not work for *.macvm VMs on Apple M-series Macs,
|
775
|
+
# so we try both sources here.
|
761
776
|
#
|
762
777
|
# @return [String] IP address to use for SSH connection to the VM.
|
763
778
|
def ssh_ip
|
764
|
-
|
779
|
+
5.times do
|
780
|
+
ip = read_guest_ip_dhcp
|
781
|
+
return ip unless ip.empty?
|
782
|
+
|
783
|
+
ip = read_guest_ip_prlctl
|
784
|
+
return ip unless ip.empty?
|
785
|
+
|
786
|
+
sleep 2
|
787
|
+
end
|
788
|
+
|
789
|
+
# We didn't manage to determine IP - return nil and
|
790
|
+
# expect SSH client to do a retry
|
791
|
+
return nil
|
765
792
|
end
|
766
793
|
|
767
794
|
# Reads the SSH port of this VM.
|
@@ -87,7 +87,8 @@ module VagrantPlugins
|
|
87
87
|
:read_bridged_interfaces,
|
88
88
|
:read_current_snapshot,
|
89
89
|
:read_forwarded_ports,
|
90
|
-
:
|
90
|
+
:read_guest_ip_dhcp,
|
91
|
+
:read_guest_ip_prlctl,
|
91
92
|
:read_guest_tools_state,
|
92
93
|
:read_guest_tools_iso_path,
|
93
94
|
:read_host_only_interfaces,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-parallels
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikhail Zholobov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-03-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 3.
|
48
|
+
version: '3.11'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 3.
|
55
|
+
version: '3.11'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rspec-its
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,9 +67,23 @@ dependencies:
|
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: 1.3.0
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: webrick
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.8.0
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 1.8.0
|
70
84
|
description: Enables Vagrant to manage Parallels virtual machines.
|
71
85
|
email:
|
72
|
-
-
|
86
|
+
- legal90@gmail.com
|
73
87
|
- yshahin@gmail.com
|
74
88
|
executables: []
|
75
89
|
extensions: []
|
@@ -152,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
166
|
- !ruby/object:Gem::Version
|
153
167
|
version: 1.3.6
|
154
168
|
requirements: []
|
155
|
-
rubygems_version: 3.
|
169
|
+
rubygems_version: 3.2.33
|
156
170
|
signing_key:
|
157
171
|
specification_version: 4
|
158
172
|
summary: Parallels provider for Vagrant.
|