vagrant-zones 0.1.110 → 0.1.111

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/vagrant-zones/config.rb +15 -1
  4. data/lib/vagrant-zones/driver.rb +61 -493
  5. data/lib/vagrant-zones/errors.rb +25 -0
  6. data/lib/vagrant-zones/qga/base_backend.rb +42 -0
  7. data/lib/vagrant-zones/qga/client.rb +114 -0
  8. data/lib/vagrant-zones/qga/client_exec.rb +50 -0
  9. data/lib/vagrant-zones/qga/dispatcher.rb +129 -0
  10. data/lib/vagrant-zones/qga/freebsd_backend.rb +89 -0
  11. data/lib/vagrant-zones/qga/ifupdown_backend.rb +85 -0
  12. data/lib/vagrant-zones/qga/illumos_backend.rb +83 -0
  13. data/lib/vagrant-zones/qga/netplan_backend.rb +76 -0
  14. data/lib/vagrant-zones/qga/network_manager_backend.rb +89 -0
  15. data/lib/vagrant-zones/qga/opnsense_backend.rb +25 -0
  16. data/lib/vagrant-zones/qga/pfsense_backend.rb +23 -0
  17. data/lib/vagrant-zones/qga/systemd_networkd_backend.rb +85 -0
  18. data/lib/vagrant-zones/qga/user_script_backend.rb +48 -0
  19. data/lib/vagrant-zones/qga/windows_backend.rb +75 -0
  20. data/lib/vagrant-zones/qga.rb +32 -0
  21. data/lib/vagrant-zones/setup_strategies/base.rb +20 -0
  22. data/lib/vagrant-zones/setup_strategies/dhcp.rb +69 -0
  23. data/lib/vagrant-zones/setup_strategies/qga.rb +113 -0
  24. data/lib/vagrant-zones/setup_strategies/zlogin.rb +113 -0
  25. data/lib/vagrant-zones/setup_strategies/zlogin_console.rb +150 -0
  26. data/lib/vagrant-zones/setup_strategies/zlogin_dladm.rb +98 -0
  27. data/lib/vagrant-zones/setup_strategies/zlogin_netplan.rb +84 -0
  28. data/lib/vagrant-zones/setup_strategies/zlogin_windows.rb +94 -0
  29. data/lib/vagrant-zones/setup_strategies/zlogin_windows_console.rb +77 -0
  30. data/lib/vagrant-zones/setup_strategies.rb +23 -0
  31. data/lib/vagrant-zones/version.rb +1 -1
  32. data/lib/vagrant-zones.rb +2 -0
  33. data/locales/en.yml +44 -0
  34. metadata +27 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cede633e8e66e16e5bde244138855673aeb53567f8dffe9daa31db59a3cddcde
4
- data.tar.gz: 27039389ee7af4ff3a2c593281c087f2216f1a6e34ad7f2d997806fefc9eddb9
3
+ metadata.gz: 8b3fe9f54bbe23ceab812bc2b99059f6757f04d9a36d0e2a992890c99aa55853
4
+ data.tar.gz: e3b7770930b5842a54562f530c78d336c2aa6e8398b5cdeeccc7722ac8bcbe60
5
5
  SHA512:
6
- metadata.gz: 9fabc408d83c30034ac05875e75b9c32e69575db8def96e370569e566e3c4edf39ddcf675dabbad5be13943ae7e93508a854c0d5ed4749c555dbf00c3bf30397
7
- data.tar.gz: f1c2e113970385632ec0ec3e3e9967e22906aa85331c9df6a0863bedcc5695809e792940dfc3979f01b28d2f885e05201110171618afc834c808985fb44e2998
6
+ metadata.gz: d74e4ecb7a916dae9489a3eda3c8bc2fb24a931089cfa84b0f9f4be3595148c27636ff01d90930a78e7e26b4736f62de28249a45684e7244f0aedafe008c51a8
7
+ data.tar.gz: e947f0d79216c2bdc0218cb64e49f7a6c175a7154fb048954e8f8dfe3e9d97072c841a5ee9b897cbd1162a651e2a950093268a4c1667e4671850515caee6b3de
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.111](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.110...v0.1.111) (2026-05-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * Introducing QGA setup Method ([ff181f1](https://github.com/STARTcloud/vagrant-zones/commit/ff181f147afbcdf45f6720cc82d57d7876346346))
9
+
3
10
  ## [0.1.110](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.109...v0.1.110) (2026-04-02)
4
11
 
5
12
 
@@ -7,7 +7,7 @@ module VagrantPlugins
7
7
  # This is used define the variables for the project
8
8
  class Config < Vagrant.plugin('2', :config)
9
9
  # rubocop:disable Layout/LineLength
10
- attr_accessor :brand, :autoboot, :setup_method, :safe_restart, :allowed_address, :post_provision_boot, :safe_shutdown, :boxshortname, :kernel, :debug, :debug_boot, :private_network, :winalcheck, :winlcheck, :lcheck, :alcheck, :snapshot_script, :diskif, :netif, :cdroms, :disk1path, :disk1size, :cpus, :cpu_configuration, :boot, :complex_cpu_conf, :memory, :vagrant_user, :vagrant_user_private_key_path, :setup_wait, :on_demand_vnics, :clean_shutdown_time, :dhcp4, :vagrant_user_pass, :firmware_type, :vm_type, :partition_id, :shared_disk_enabled, :shared_dir, :acpi, :os_type, :console, :consolehost, :consoleport, :console_onboot, :console_encoding, :hostbridge, :sshport, :rdpport, :override, :additional_disks, :cloud_init_resolvers, :cloud_init_enabled, :cloud_init_dnsdomain, :cloud_init_password, :cloud_init_sshkey, :cloud_init_conf, :dns, :box, :vagrant_cloud_creator, :winbooted_string, :booted_string, :zunlockbootkey, :zunlockboot, :xhci_enabled, :login_wait, :windows_profile_wait
10
+ attr_accessor :brand, :autoboot, :setup_method, :safe_restart, :allowed_address, :post_provision_boot, :safe_shutdown, :boxshortname, :kernel, :debug, :debug_boot, :private_network, :winalcheck, :winlcheck, :lcheck, :alcheck, :snapshot_script, :diskif, :netif, :cdroms, :disk1path, :disk1size, :cpus, :cpu_configuration, :boot, :complex_cpu_conf, :memory, :vagrant_user, :vagrant_user_private_key_path, :setup_wait, :on_demand_vnics, :clean_shutdown_time, :dhcp4, :vagrant_user_pass, :firmware_type, :vm_type, :partition_id, :shared_disk_enabled, :shared_dir, :acpi, :os_type, :console, :consolehost, :consoleport, :console_onboot, :console_encoding, :hostbridge, :sshport, :rdpport, :override, :additional_disks, :cloud_init_resolvers, :cloud_init_enabled, :cloud_init_dnsdomain, :cloud_init_password, :cloud_init_sshkey, :cloud_init_conf, :dns, :box, :vagrant_cloud_creator, :winbooted_string, :booted_string, :zunlockbootkey, :zunlockboot, :xhci_enabled, :login_wait, :windows_profile_wait, :qga_slot, :qga_network_script
11
11
 
12
12
  # rubocop:enable Layout/LineLength
13
13
 
@@ -76,6 +76,20 @@ module VagrantPlugins
76
76
  @vm_type = 'production'
77
77
  @setup_method = nil
78
78
  @snapshot_script = '/opt/vagrant/bin/Snapshooter.sh'
79
+ @qga_slot = 9
80
+ @qga_network_script = nil
81
+ end
82
+
83
+ def validate(_machine)
84
+ errors = _detected_errors
85
+ valid_setup_methods = [nil, 'zlogin', 'dhcp', 'qga']
86
+ errors << "setup_method must be one of #{valid_setup_methods.compact.inspect} (got #{@setup_method.inspect})" unless valid_setup_methods.include?(@setup_method)
87
+ if @setup_method == 'qga'
88
+ errors << "setup_method='qga' requires brand='bhyve' (got #{@brand.inspect})" unless @brand == 'bhyve'
89
+ errors << "qga_slot must be an Integer in 0..31 (got #{@qga_slot.inspect})" unless @qga_slot.is_a?(Integer) && (0..31).cover?(@qga_slot)
90
+ errors << "qga_network_script not found on host: #{@qga_network_script}" if @qga_network_script && !File.exist?(@qga_network_script)
91
+ end
92
+ { 'Zone Provider' => errors }
79
93
  end
80
94
  end
81
95
  end