vagrant-zones 0.1.82 → 0.1.84

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: bd64fc86cb10963251311de30fcda77a27a627391457e9f5780a106dd247c3d5
4
- data.tar.gz: 5f4939556bcf17c488a5e8c375a6230f234057226b38419c5b2c3ae7e14ee7c2
3
+ metadata.gz: ce01cac168233025a31a5c278f6355411796b26718d760d2ed076643af1b486c
4
+ data.tar.gz: 4f3318fc4e57712bce3a076a5786329ff49d9203ada2df45a6874b8013e8f144
5
5
  SHA512:
6
- metadata.gz: 03b893f25862c421061d6e3b0af5b638c910a554839961aec3a7582be6505143ebf69e7e467e0b50a4cd3cf97f8c2d18fb9907d05ef5d8b756aebc09a014834e
7
- data.tar.gz: 410fc3fcd792482ce8859215d1d50497dd439c1d405027a29e58380a5bac03ce246a118bd9201aa80705d975f37d4b06529bc5e4d5e823c8447502ce9092d89f
6
+ metadata.gz: 660ab29d0b22a305f365ec65871ad00207044e343c7b93f091580398332f39e31c7f7d851f75a2ef312984b30e5b844fd53e2350c111ad1ede7518ad88e400bf
7
+ data.tar.gz: a598f65dd8cf0efb3aa104fb44b995732b664d900b17208cf934bfa4fec9179777bd829d991a4f9661a05308f583fde9093d01682fbf5024dd38026ce855b7a0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.84](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.83...v0.1.84) (2023-12-14)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * adding removal of zonecfg provisional network after startup ([8885044](https://github.com/STARTcloud/vagrant-zones/commit/88850440213a7ffce82463b02dab56c8c9d05d69))
9
+ * disable parallel by default ([98de187](https://github.com/STARTcloud/vagrant-zones/commit/98de187ab53a123a95d489a4bd8f7383d1b788ca))
10
+ * enable parallel builds #dangerwillrobinson ([5bf2cea](https://github.com/STARTcloud/vagrant-zones/commit/5bf2ceaf3adaf42553afe7a38ab9c2a665d7ff21))
11
+ * remove unneccessary lines from zonenicdel ([39fef96](https://github.com/STARTcloud/vagrant-zones/commit/39fef96b85445c472595154ebb59db8f190a30c4))
12
+ * remove unneccessary lines from zonenicdel ([227ab2c](https://github.com/STARTcloud/vagrant-zones/commit/227ab2cdb06eb8a414b2f13e567f6be70ac8613c))
13
+ * renenable parallel ([38c2bf2](https://github.com/STARTcloud/vagrant-zones/commit/38c2bf27e905f8a4099532fa3d193d3825d4ab95))
14
+ * some rubocop warnings ([88b00c4](https://github.com/STARTcloud/vagrant-zones/commit/88b00c465a3926aa0ce4dc8881592fd755dfd5dc))
15
+ * typo ) ([b385505](https://github.com/STARTcloud/vagrant-zones/commit/b385505757ac5e078522add1e3e44b99c9369417))
16
+ * windows multiple nameservers ([430be2d](https://github.com/STARTcloud/vagrant-zones/commit/430be2d868be34a9724b454ff571006c7632df7a))
17
+ * windows namservers ([b271ae1](https://github.com/STARTcloud/vagrant-zones/commit/b271ae1dbb436750cb4b074f99d10f5922c0ee0c))
18
+
19
+ ## [0.1.83](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.82...v0.1.83) (2023-12-12)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * add specific routing to netplan configs ([c4619d8](https://github.com/STARTcloud/vagrant-zones/commit/c4619d8efab3e85c10bba2caaa26e20620bde788))
25
+
3
26
  ## [0.1.82](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.81...v0.1.82) (2023-12-12)
4
27
 
5
28
 
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'log4r'
4
+ require 'securerandom'
5
+ require 'digest/md5'
6
+
7
+ module VagrantPlugins
8
+ module ProviderZone
9
+ module Action
10
+ # This is use to define the network
11
+ class NetworkingCleanup
12
+ def initialize(app, _env)
13
+ @logger = Log4r::Logger.new('vagrant_zones::action::import')
14
+ @app = app
15
+ end
16
+
17
+ def call(env)
18
+ @machine = env[:machine]
19
+ @driver = @machine.provider.driver
20
+ @driver.network(env[:ui], 'delete_provisional')
21
+ @app.call(env)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -27,6 +27,7 @@ module VagrantPlugins
27
27
  b2.use WaitTillBoot
28
28
  b2.use Setup
29
29
  b2.use WaitTillUp
30
+ b2.use NetworkingCleanup
30
31
  b2.use Provision
31
32
  b2.use SetHostname
32
33
  b2.use SyncedFolders
@@ -186,6 +187,7 @@ module VagrantPlugins
186
187
  autoload :Network, action_root.join('network')
187
188
  autoload :Setup, action_root.join('setup')
188
189
  autoload :Start, action_root.join('start')
190
+ autoload :NetworkingCleanup, action_root.join('network_cleanup')
189
191
  autoload :IsCreated, action_root.join('is_created')
190
192
  autoload :NotCreated, action_root.join('not_created')
191
193
  autoload :CreateSnapshots, action_root.join('create_zfs_snapshots')
@@ -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, :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, :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
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, :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
11
11
 
12
12
  # rubocop:enable Layout/LineLength
13
13
 
@@ -16,6 +16,7 @@ module VagrantPlugins
16
16
  @brand = 'bhyve'
17
17
  @additional_disks = UNSET_VALUE
18
18
  @autoboot = true
19
+ @post_provision_boot = false
19
20
  @kernel = UNSET_VALUE
20
21
  @boxshortname = UNSET_VALUE
21
22
  @cdroms = nil
@@ -321,6 +321,7 @@ module VagrantPlugins
321
321
  when 'public_network'
322
322
  zonenicdel(uii, opts) if state == 'delete' && !config.on_demand_vnics
323
323
  zonecfgnicconfig(uii, opts) if state == 'config'
324
+ zonecfgnicconfigdelete(uii, opts) if state == 'delete_provisional' && config.on_demand_vnics
324
325
  zoneniccreate(uii, opts) if state == 'create' && !config.on_demand_vnics
325
326
  zonenicstpzloginsetup(uii, opts, config) if state == 'setup' && config.setup_method == 'zlogin'
326
327
  when 'private_network'
@@ -526,7 +527,7 @@ module VagrantPlugins
526
527
  uii.info(" #{vnic_name}")
527
528
  netplan1 = %(network:\n version: 2\n ethernets:\n #{vnic_name}:\n match:\n macaddress: #{mac}\n)
528
529
  netplan2 = %( dhcp-identifier: mac\n dhcp4: #{opts[:dhcp4]}\n dhcp6: #{opts[:dhcp6]}\n)
529
- netplan3 = %( set-name: #{vnic_name}\n addresses: [#{ip}/#{shrtsubnet}]\n routes:\n - to: default\n via: #{defrouter}\n)
530
+ netplan3 = %( set-name: #{vnic_name}\n addresses: [#{ip}/#{shrtsubnet}]\n routes:\n - to: #{opts[:route]}\n via: #{defrouter}\n)
530
531
  netplan4 = %( nameservers:\n addresses: [#{servers}]) unless opts[:dns].nil?
531
532
  netplan = netplan1 + netplan2 + netplan3 + netplan4
532
533
  cmd = "echo -e '#{netplan}' | sudo tee /etc/netplan/#{vnic_name}.yaml && chmod 400 /etc/netplan/#{vnic_name}.yaml"
@@ -1075,6 +1076,14 @@ module VagrantPlugins
1075
1076
  end
1076
1077
  end
1077
1078
 
1079
+ ## zonecfg function for for Networking
1080
+ def zonecfgnicconfigdelete(uii, opts)
1081
+ vnic_name = vname(uii, opts)
1082
+ uii.info(I18n.t('vagrant_zones.vnic_conf_del'))
1083
+ uii.info(" #{vnic_name}")
1084
+ execute(false, "#{@pfexec} zonecfg -z #{@machine.name} remove net physical=#{vnic_name}") if opts[:provisional]
1085
+ end
1086
+
1078
1087
  # This helps us set the zone configurations for the zone
1079
1088
  def zonecfg(uii)
1080
1089
  name = @machine.name
@@ -1143,7 +1152,7 @@ module VagrantPlugins
1143
1152
  netplan2 = %( dhcp-identifier: mac\n dhcp4: #{opts[:dhcp4]}\n dhcp6: #{opts[:dhcp6]}\n) if opts[:dhcp4]
1144
1153
  netplan3 = %( set-name: #{vnic_name}\n addresses: [#{ip}/#{shrtsubnet}]\n)
1145
1154
  netplan3 = %( set-name: #{vnic_name}\n) if opts[:dhcp4]
1146
- netplan4 = %( routes:\n - to: default\n via: #{defrouter}\n)
1155
+ netplan4 = %( routes:\n - to: #{opts[:route]}\n via: #{defrouter}\n)
1147
1156
  netplan5 = %( nameservers:\n addresses: [#{servers}]) unless opts[:dns].nil?
1148
1157
  netplan = netplan1 + netplan2 + netplan3 + netplan5 if opts[:gateway].nil?
1149
1158
  netplan = netplan1 + netplan2 + netplan3 + netplan4 + netplan5 unless opts[:gateway].nil?
@@ -1327,7 +1336,6 @@ module VagrantPlugins
1327
1336
  def zoneniczloginsetup_windows(uii, opts, _mac)
1328
1337
  ip = ipaddress(uii, opts)
1329
1338
  vnic_name = vname(uii, opts)
1330
- servers = dnsservers(uii, opts) unless opts[:dns].nil?
1331
1339
  defrouter = opts[:gateway].to_s
1332
1340
  uii.info(I18n.t('vagrant_zones.configure_win_interface_using_vnic'))
1333
1341
  sleep(60)
@@ -1336,13 +1344,17 @@ module VagrantPlugins
1336
1344
  ## to set the proper VNIC name if using multiple adapters
1337
1345
  rename_adapter = %(netsh interface set interface name = "Ethernet" newname = "#{vnic_name}")
1338
1346
  cmd = %(netsh interface ipv4 set address name="#{vnic_name}" static #{ip} #{opts[:netmask]} #{defrouter})
1339
- dns1 = %(netsh int ipv4 set dns name="#{vnic_name}" static #{servers[0]['nameserver']} primary validate=no) unless opts[:dns].nil?
1340
- dns2 = %(netsh int ipv4 add dns name="#{vnic_name}" #{servers[1]['nameserver']} index=2 validate=no) unless opts[:dns].nil?
1341
-
1342
1347
  uii.info(I18n.t('vagrant_zones.win_applied_rename_adapter')) if zlogin(uii, rename_adapter)
1343
1348
  uii.info(I18n.t('vagrant_zones.win_applied_static')) if zlogin(uii, cmd)
1349
+ return unless opts[:dns].nil?
1350
+
1351
+ ip_addresses = dnsservers(uii, opts).map { |hash| hash['nameserver'] }
1352
+ dns1 = %(netsh int ipv4 set dns name="#{vnic_name}" static #{ip_addresses[0]} primary validate=no)
1344
1353
  uii.info(I18n.t('vagrant_zones.win_applied_dns1')) if zlogin(uii, dns1)
1345
- uii.info(I18n.t('vagrant_zones.win_applied_dns2')) if zlogin(uii, dns2)
1354
+ ip_addresses[1..].each_with_index do |dns, index|
1355
+ additional_nameservers = %(netsh int ipv4 add dns name="#{vnic_name}" #{dns} index="#{index + 2}" validate=no)
1356
+ uii.info(I18n.t('vagrant_zones.win_applied_dns2')) if zlogin(uii, additional_nameservers)
1357
+ end
1346
1358
  end
1347
1359
 
1348
1360
  def zlogin_win_boot(uii)
@@ -20,9 +20,7 @@ module VagrantPlugins
20
20
  require_relative 'config'
21
21
  Config
22
22
  end
23
- ## Experimental Parallel Execucution
24
- ## provider(:zone, parallel: true) do
25
- provider(:zone) do
23
+ provider(:zone, parallel: false) do
26
24
  require_relative 'provider'
27
25
  Provider
28
26
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VagrantPlugins
4
4
  module ProviderZone
5
- VERSION = '0.1.82'
5
+ VERSION = '0.1.84'
6
6
  NAME = 'vagrant-zones'
7
7
  end
8
8
  end
data/locales/en.yml CHANGED
@@ -256,6 +256,8 @@ en:
256
256
  Creating networking interfaces for zone:
257
257
  nat_vnic_setup: |-
258
258
  - Setting up NAT VNIC:
259
+ vnic_conf_del: |-
260
+ - Deleting zonecg for provisional VNIC:
259
261
  forwarding_nat: |-
260
262
  - Enabling NAT forwarding:
261
263
  configuring_nat: |-
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.82
4
+ version: 0.1.84
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Gilbert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-12 00:00:00.000000000 Z
11
+ date: 2023-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -132,6 +132,7 @@ files:
132
132
  - lib/vagrant-zones/action/import.rb
133
133
  - lib/vagrant-zones/action/is_created.rb
134
134
  - lib/vagrant-zones/action/network.rb
135
+ - lib/vagrant-zones/action/network_cleanup.rb
135
136
  - lib/vagrant-zones/action/not_created.rb
136
137
  - lib/vagrant-zones/action/package.rb
137
138
  - lib/vagrant-zones/action/prepare_nfs_valid_ids.rb