vagrant-parallels 2.2.6 → 2.3.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
2
  SHA256:
3
- metadata.gz: 7035cf285af41cc2b66992971c09b3e77f68da5bb33ca3a8ef7586e4eec65334
4
- data.tar.gz: '08a191cd2af6f7a5fbb626a16375be955cae4a386123519fb1db077b16345f9b'
3
+ metadata.gz: 4cc3b37f94bef78ed214b98add9ae9814d6cad49650e5016fce26c7b7641eaaa
4
+ data.tar.gz: 0e1ffee3b192374a3acc9b36438334605702e7c5b472d1e47857a31acd5c7196
5
5
  SHA512:
6
- metadata.gz: ac10bedbc9ecfd38984e710de98f634dd9c97572e5f6b8bf27f9a5f91f6d6af9cce0ae7152642b4d37ab2a9c49708189ae7ae9cb108b00c6710f44af9ca19921
7
- data.tar.gz: 6fea796a741e76daefb24bd2ebbc86fc5a248c3665c347fb3d004c3f277ec6dc84d6c3bd2b3b4577d4e68e49f76d06abea4cf49fede0d198266dd0fa3cfce781
6
+ metadata.gz: f03a6bc1a95f28f95a736d3ce59dc52edb00bd609780e24ef26b38090ef32421ef8db5f362cd9692954aa88292e18af89cd884ea423f9a244d5932cdfff1749d
7
+ data.tar.gz: 86467aba98c5870183d5da52a0b688ca28f5f06eb5160d983ea26d80a582a20108958e0b54c2c4ee14adb8f3740608ffeaf4f84debdbafb614a79da75c9f8e5b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 2.3.0 (March 22, 2022)
2
+ IMPROVEMENTS:
3
+ - Support fetching the VM IP using prlctl
4
+ [[GH-434](https://github.com/Parallels/vagrant-parallels/pull/434)].
5
+ - Update gem dependensies and support Ruby 3.0
6
+ [[GH-437](https://github.com/Parallels/vagrant-parallels/pull/437)],
7
+ [[GH-439](https://github.com/Parallels/vagrant-parallels/pull/439)].
8
+
9
+ BUG FIXES:
10
+ - Fixes SSH access to `.macvm` VMs on Macs with Apple M-series chip
11
+ [[GH-435](https://github.com/Parallels/vagrant-parallels/issues/435)]
12
+
1
13
  ## 2.2.6 (December 19, 2022)
2
14
  BUG FIXES:
3
15
  - Fix the macOS VMs support on ARM-based Mac
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Copyright (c) 2013 Youssef Shahin
2
- Copyright (c) 2013-2017 Parallels International GmbH.
2
+ Copyright (c) 2013-2023 Parallels International GmbH.
3
3
 
4
4
  MIT License
5
5
 
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-2020, Parallels International GmbH.
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.read_guest_ip
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,12 @@ module VagrantPlugins
403
403
  end
404
404
  end
405
405
 
406
- # Returns an IP of the virtual machine. It requires that Shared network
407
- # adapter is configured for this VM and it obtains an IP via DHCP.
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.
408
409
  #
409
410
  # @return [String] IP address leased by DHCP server in "Shared" network
410
- def read_guest_ip
411
+ def read_guest_ip_dhcp
411
412
  mac_addr = read_mac_address.downcase
412
413
  leases_file = '/Library/Preferences/Parallels/parallels_dhcp_leases'
413
414
  leases = {}
@@ -430,6 +431,15 @@ module VagrantPlugins
430
431
  leases.max_by { |_ip, lease_time| lease_time }.first
431
432
  end
432
433
 
434
+ # Returns an IP of the virtual machine fetched from prlctl.
435
+ #
436
+ # @return [String] IP address returned by `prlctl list -f` command
437
+ def read_guest_ip_prlctl
438
+ vm_info = json { execute_prlctl('list', @uuid, '--full', '--json') }
439
+ ip = vm_info.first.fetch('ip_configured', nil)
440
+ ip == '-' ? nil : ip
441
+ end
442
+
433
443
  # Returns path to the Parallels Tools ISO file.
434
444
  #
435
445
  # @param [String] guest_os Guest os type: "linux", "darwin" or "windows"
@@ -757,11 +767,14 @@ module VagrantPlugins
757
767
  end
758
768
  end
759
769
 
760
- # Reads the SSH IP of this VM.
770
+ # Reads the SSH IP of this VM from DHCP lease file or from `prlctl list`
771
+ # command - whatever returns a non-empty result.
772
+ # The method with DHCP does not work for *.macvm VMs on Apple M-series Macs,
773
+ # so we try both sources here.
761
774
  #
762
775
  # @return [String] IP address to use for SSH connection to the VM.
763
776
  def ssh_ip
764
- read_guest_ip
777
+ read_guest_ip_dhcp || read_guest_ip_prlctl
765
778
  end
766
779
 
767
780
  # 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
- :read_guest_ip,
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,
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Parallels
3
- VERSION = '2.2.6'
3
+ VERSION = '2.3.0'
4
4
  end
5
5
  end
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.2.6
4
+ version: 2.3.0
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: 2022-12-19 00:00:00.000000000 Z
12
+ date: 2023-03-22 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.10.0
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.10.0
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
- - mzholobov@parallels.com
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.0.3
169
+ rubygems_version: 3.2.33
156
170
  signing_key:
157
171
  specification_version: 4
158
172
  summary: Parallels provider for Vagrant.