vagrant-zones 0.1.111 → 0.1.112

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: 8b3fe9f54bbe23ceab812bc2b99059f6757f04d9a36d0e2a992890c99aa55853
4
- data.tar.gz: e3b7770930b5842a54562f530c78d336c2aa6e8398b5cdeeccc7722ac8bcbe60
3
+ metadata.gz: 2c4abfab868bfb1622682156ad1d18a3febf95375c4286f44f4337ea75cf3216
4
+ data.tar.gz: d8d5252cc7375b01a2509ec1d9aff5e91dc29d7e797629cab780d75536c405c5
5
5
  SHA512:
6
- metadata.gz: d74e4ecb7a916dae9489a3eda3c8bc2fb24a931089cfa84b0f9f4be3595148c27636ff01d90930a78e7e26b4736f62de28249a45684e7244f0aedafe008c51a8
7
- data.tar.gz: e947f0d79216c2bdc0218cb64e49f7a6c175a7154fb048954e8f8dfe3e9d97072c841a5ee9b897cbd1162a651e2a950093268a4c1667e4671850515caee6b3de
6
+ metadata.gz: 4f419ddcdff3fecdf18f1acd5977d65741b719a9ce9ce834f7d2f9a5abae7dd74ef53a3337204e89ad138e4b5dd786a8d99604e2abbba3f05730600074873135
7
+ data.tar.gz: e3a680910db08c4a7d75bd451c2850f2987e3548292e7a4a6a527b72a11ba6eaab4eba155a04291695b1c8694b7b52fd11c8b24cf7620f1f05ad6348d2989b54
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.112](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.111...v0.1.112) (2026-06-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * gate qga ([8462679](https://github.com/STARTcloud/vagrant-zones/commit/8462679a747ea9547552917c2cb8b19583f2fbfb))
9
+ * make windows sac zlogin case insensitive ([2b6a06d](https://github.com/STARTcloud/vagrant-zones/commit/2b6a06dc89a76df559551e42c52164f71eeb79bf))
10
+
3
11
  ## [0.1.111](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.110...v0.1.111) (2026-05-11)
4
12
 
5
13
 
@@ -1070,23 +1070,37 @@ module VagrantPlugins
1070
1070
  raise Errors::MissingCompatCheckTool if result.zero?
1071
1071
  end
1072
1072
 
1073
- # Check whether OmniOS version is lower than r30
1073
+ # Check whether OmniOS version is below the minimum supported release.
1074
1074
  cutoff_release = '1510380'
1075
1075
  cutoff_release = cutoff_release[0..-2].to_i
1076
- uii.info(I18n.t('vagrant_zones.bhyve_check'))
1077
- uii.info(" #{cutoff_release}")
1078
1076
  release = File.open('/etc/release', &:readline)
1079
1077
  release = release.scan(/\w+/).values_at(-1)
1080
1078
  release = release[0][1..-2].to_i
1079
+ uii.info(I18n.t('vagrant_zones.bhyve_check'))
1080
+ uii.info(" minimum: #{cutoff_release} detected: #{release}")
1081
1081
  raise Errors::SystemVersionIsTooLow if release < cutoff_release
1082
1082
 
1083
1083
  # Check Bhyve compatability
1084
1084
  uii.info(I18n.t('vagrant_zones.bhyve_compat_check'))
1085
1085
  result = execute(false, "#{@pfexec} bhhwcompat -s")
1086
1086
  raise Errors::MissingBhyve if result.length == 1
1087
+
1088
+ check_bhyve_qga_support if config.setup_method == 'qga'
1087
1089
  end
1088
1090
  end
1089
1091
 
1092
+ # Verify that the bhyve binary in the running boot environment carries the
1093
+ # illumos 18082 fix (virtio-console PORT_NAME format + chardev socket leak).
1094
+ # Raises QGABhyveTooOld when the build timestamp is older than the fix.
1095
+ def check_bhyve_qga_support(required: '20260427')
1096
+ version = execute(false, "#{@pfexec} pkg list -H -v system/bhyve").to_s
1097
+ match = version.match(/:(\d{8})T/)
1098
+ return if match && match[1] >= required
1099
+
1100
+ raise Errors::QGABhyveTooOld, found: (match ? match[1] : version.strip),
1101
+ required: "#{required} (illumos 18082 / OmniOS r151054az)"
1102
+ end
1103
+
1090
1104
  # This helps us set up the networking of the VM
1091
1105
  def setup(uii)
1092
1106
  config = @machine.provider_config
@@ -99,6 +99,11 @@ module VagrantPlugins
99
99
  class QGAAllBackendsFailed < VagrantZonesError
100
100
  error_key(:qga_all_backends_failed)
101
101
  end
102
+
103
+ # QGABhyveTooOld
104
+ class QGABhyveTooOld < VagrantZonesError
105
+ error_key(:qga_bhyve_too_old)
106
+ end
102
107
  end
103
108
  end
104
109
  end
@@ -35,7 +35,7 @@ module VagrantPlugins
35
35
  sleep(3)
36
36
  windows_open_cmd_channel(uii, zread, zwrite)
37
37
  windows_credentials(uii, zread, zwrite)
38
- return unless zread.expect(/#{SAC_MARKERS[:prompt]}/)
38
+ return unless zread.expect(/#{SAC_MARKERS[:prompt]}/i)
39
39
 
40
40
  uii.info(I18n.t('vagrant_zones.windows_cmd_accessible'))
41
41
  sleep(5)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VagrantPlugins
4
4
  module ProviderZone
5
- VERSION = '0.1.111'
5
+ VERSION = '0.1.112'
6
6
  NAME = 'vagrant-zones'
7
7
  end
8
8
  end
data/locales/en.yml CHANGED
@@ -56,6 +56,20 @@ en:
56
56
  Attempted: %{attempted}
57
57
  Either install a supported network backend in the guest, set qga_network_script
58
58
  to a host-side script, or switch setup_method to zlogin or dhcp.
59
+ qga_bhyve_too_old: |-
60
+ bhyve in the running boot environment is too old for setup_method='qga'.
61
+ Detected build: %{found}
62
+ Required build: %{required}
63
+
64
+ The fix for illumos 18082 (virtio-console PORT_NAME format and chardev
65
+ socket leak) landed in this build. Without it, the host-side qga.sock
66
+ is not created reliably and Windows guests cannot enumerate the channel.
67
+
68
+ Resolutions:
69
+ - Update OmniOS to r151054az or newer, then reboot to activate the new
70
+ boot environment so the patched bhyve is loaded
71
+ - Or switch setup_method to 'zlogin' (PTY+expect) or 'dhcp' (host-side
72
+ reservation) until the host can be rebooted
59
73
  meeting: |-
60
74
  Starting the zone creation sequence
61
75
  leaving: |-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-zones
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.111
4
+ version: 0.1.112
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Gilbert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-05-11 00:00:00.000000000 Z
11
+ date: 2026-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n