vagrant-parallels 2.2.6 → 2.3.0

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 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.