vagrant-zones 0.1.72 → 0.1.75

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: c3391538892bf880e5476438343dfe9558e2d2afee2251c7dc7221c5cea723ac
4
- data.tar.gz: f2bed0db576707651f752b39c108d89578e26a9c78699b1f1c307753eaf8893f
3
+ metadata.gz: 9c008c22b5f7efc81dcada78d32f8ec51afc0daec62bc8442a551f75e49c6d22
4
+ data.tar.gz: 68dce9d525af71bd5dba8b728431b697f23c5cfa2cb5c52c72fbacada52d6854
5
5
  SHA512:
6
- metadata.gz: 74d0fdb3193c2a59c086b77522644ba6f945623158eef7a56556a7b7ff92e05a8be286681d133bbc784de161c45cc6a5023b840c901bb2e8302f759b236a6d01
7
- data.tar.gz: c8a2981bc239b412029ec27f0a6650ae9e78d809f9cd3a4bad3fc1c7bcd9f74e7993fcb9bf3ae9ec6a6fceb6af5769ec41766a3ad8bae98729623a837fafe189
6
+ metadata.gz: 410f53f551c6975924ccc128dec2929d161560357d46420271c1598c44c68b1b9d700d5cf7280e4c149f47dd7ec8d9829ebfdeec365385c1b7109000a122be63
7
+ data.tar.gz: 1b6ab64d7c9aab1daf1af38dc8a44e10d8bd2758ecac13be6f69ae9c4d0a7e722bee5f904c1f8319b3d2944cef932e76924994e4ec5070ef5675f040082ca950
@@ -19,7 +19,7 @@ jobs:
19
19
  runs-on: ubuntu-latest
20
20
  strategy:
21
21
  matrix:
22
- ruby-version: ['2.6', '2.7', '3.0']
22
+ ruby-version: ['2.7', '3.0']
23
23
 
24
24
  steps:
25
25
  - uses: actions/checkout@v2
data/.rubocop.yml CHANGED
@@ -43,7 +43,7 @@ Style/LineEndConcatenation:
43
43
  Layout/LineLength:
44
44
  Description: 'Limit lines to 139 characters.'
45
45
  Enabled: true
46
- Max: 139
46
+ Max: 200
47
47
 
48
48
  Metrics/CyclomaticComplexity:
49
49
  Description: 'Avoid complex methods.'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.75](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.74...v0.1.75) (2023-11-27)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * increase rubocop linelength limit ([653a94f](https://github.com/STARTcloud/vagrant-zones/commit/653a94fd85efe5e2f850fdf7a76e0867be87f96b))
9
+
10
+ ## [0.1.74](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.73...v0.1.74) (2023-11-27)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * on-deman vnics ([80c8a42](https://github.com/STARTcloud/vagrant-zones/commit/80c8a429ed9a8e3ad624b3f52fc8b4873803a417))
16
+ * rubocop lint adjustments ([fb22b4f](https://github.com/STARTcloud/vagrant-zones/commit/fb22b4f7fb80b3eb76aa351e67b18f3b4271cf43))
17
+ * ruby lint syntax, doesn't like not ([eebf699](https://github.com/STARTcloud/vagrant-zones/commit/eebf6992cbae1e372cf3d859c0ee039691a0be92))
18
+
19
+ ## [0.1.73](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.72...v0.1.73) (2023-08-19)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * Stable OmniOS Networking via DLADM and zlogin ([93e338b](https://github.com/STARTcloud/vagrant-zones/commit/93e338b84c83d4572d6cd1aa4689e130e23d39c8))
25
+
3
26
  ## [0.1.72](https://github.com/STARTcloud/vagrant-zones/compare/v0.1.71...v0.1.72) (2023-02-06)
4
27
 
5
28
 
data/Gemfile CHANGED
@@ -11,4 +11,15 @@ end
11
11
 
12
12
  group :plugins do
13
13
  gemspec
14
+ gem 'bundler', '~> 2.2', '>= 2.2.3'
15
+ gem 'code-scanning-rubocop', '~> 0.5', '>= 0.5.0'
16
+ gem 'rake', '~> 13.0', '>= 13.0.6'
17
+ gem 'rspec', '~> 3.4'
18
+ gem 'rspec-core', '~> 3.4'
19
+ gem 'rspec-expectations', '~> 3.10', '>= 3.10.0'
20
+ gem 'rspec-mocks', '~> 3.10', '>= 3.10.0'
21
+ gem 'rubocop', '~> 1.0'
22
+ gem 'rubocop-rake', '~> 0.6', '>= 0.6.0'
23
+ gem 'rubocop-rspec', '~> 2.4', '>= 2.4.0'
24
+ gem 'ruby-progressbar', '~> 1.11', '>= 1.11.0'
14
25
  end
@@ -15,7 +15,7 @@ module VagrantPlugins
15
15
 
16
16
  def call(env)
17
17
  @machine = env[:machine]
18
- @driver = @machine.provider.driver
18
+ @driver = @machine.provider.driver
19
19
  @driver.halt(env[:ui])
20
20
  @driver.destroy(env[:ui])
21
21
  @driver.delete_dataset(env[:ui])
@@ -21,7 +21,7 @@ module VagrantPlugins
21
21
 
22
22
  def validate_uuid_format(uuid)
23
23
  uuid_regex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
24
- return true if uuid_regex.match?(uuid.to_s.downcase)
24
+ true if uuid_regex.match?(uuid.to_s.downcase)
25
25
  end
26
26
 
27
27
  def call(env)
@@ -97,8 +97,8 @@ module VagrantPlugins
97
97
  @app.call(env)
98
98
  end
99
99
 
100
- def execute(*cmd, **opts, &block)
101
- @executor.execute(*cmd, **opts, &block)
100
+ def execute(...)
101
+ @executor.execute(...)
102
102
  end
103
103
 
104
104
  def check(uuid, env_ui)
@@ -20,8 +20,8 @@ module VagrantPlugins
20
20
  env['package.output'] ||= 'package.box'
21
21
  end
22
22
 
23
- def execute(*cmd, **opts, &block)
24
- @executor.execute(*cmd, **opts, &block)
23
+ def execute(...)
24
+ @executor.execute(...)
25
25
  end
26
26
 
27
27
  def call(env)
@@ -54,8 +54,8 @@ module VagrantPlugins
54
54
  end
55
55
 
56
56
  # Execute System commands
57
- def execute(*cmd, **opts, &block)
58
- @executor.execute(*cmd, **opts, &block)
57
+ def execute(...)
58
+ @executor.execute(...)
59
59
  end
60
60
 
61
61
  ## Begin installation for zone
@@ -233,7 +233,7 @@ module VagrantPlugins
233
233
  ip = if opts[:ip].empty?
234
234
  nil
235
235
  else
236
- opts[:ip].gsub(/\t/, '')
236
+ opts[:ip].gsub("\t", '')
237
237
  end
238
238
  uii.info(I18n.t('vagrant_zones.ipaddress') + ip) if config.debug
239
239
  ip
@@ -308,7 +308,7 @@ module VagrantPlugins
308
308
  ip = opts[:ip].to_s
309
309
  return nil if ip.empty?
310
310
 
311
- return ip.gsub(/\t/, '')
311
+ return ip.gsub("\t", '')
312
312
  end
313
313
  end
314
314
  end
@@ -322,7 +322,7 @@ module VagrantPlugins
322
322
  when 'public_network'
323
323
  zonenicdel(uii, opts) if state == 'delete'
324
324
  zonecfgnicconfig(uii, opts) if state == 'config'
325
- zoneniccreate(uii, opts) if state == 'create'
325
+ zoneniccreate(uii, opts) if state == 'create' && !config.on_demand_vnics
326
326
  zonenicstpzloginsetup(uii, opts, config) if state == 'setup' && config.setup_method == 'zlogin'
327
327
  when 'private_network'
328
328
  zonenicdel(uii, opts) if state == 'delete'
@@ -332,7 +332,7 @@ module VagrantPlugins
332
332
  etherstubdelete(uii, opts) if state == 'delete'
333
333
  natnicconfig(uii, opts) if state == 'config'
334
334
  etherstub = etherstubcreate(uii, opts) if state == 'create'
335
- zonenatniccreate(uii, opts, etherstub) if state == 'create'
335
+ zonenatniccreate(uii, opts, etherstub) if state == 'create' && !config.on_demand_vnics
336
336
  etherstubcreatehvnic(uii, opts, etherstub) if state == 'create'
337
337
  zonenatforward(uii, opts) if state == 'create'
338
338
  zonenatentries(uii, opts) if state == 'create'
@@ -531,8 +531,7 @@ module VagrantPlugins
531
531
  netplan4 = %( nameservers:\n addresses: [#{servers[0]['nameserver']} , #{servers[1]['nameserver']}] )
532
532
  netplan = netplan1 + netplan2 + netplan3 + netplan4
533
533
  cmd = "echo -e '#{netplan}' | sudo tee /etc/netplan/#{vnic_name}.yaml"
534
- infomessage = I18n.t('vagrant_zones.netplan_applied_static') + "/etc/netplan/#{vnic_name}.yaml"
535
- uii.info(infomessage) if ssh_run_command(uii, cmd)
534
+ uii.info(I18n.t('vagrant_zones.netplan_applied_static') + "/etc/netplan/#{vnic_name}.yaml") if ssh_run_command(uii, cmd)
536
535
 
537
536
  ## Apply the Configuration
538
537
  uii.info(I18n.t('vagrant_zones.netplan_applied')) if ssh_run_command(uii, 'sudo netplan apply')
@@ -553,22 +552,24 @@ module VagrantPlugins
553
552
  phys_if = 'pfexec dladm show-phys -m -o LINK,ADDRESS,CLIENT | tail -n +2'
554
553
  phys_if_results = ssh_run_command(uii, phys_if).split("\n")
555
554
  device = ''
555
+ interface = ''
556
556
  phys_if_results.each do |entry|
557
557
  e_mac = ''
558
- entries = entry.strip.split
558
+ entries = entry.strip.split("\r")[1].split
559
559
  entries[1].split(':').each { |x| e_mac += "#{format('%02x', x.to_i(16))}:" }
560
560
  e_mac = e_mac[0..-2]
561
561
  device = entries[0] if e_mac.match(/#{mac}/)
562
+ interface = entries[2] if e_mac.match(/#{mac}/)
562
563
  end
563
564
 
564
- delete_if = "pfexec ipadm delete-if #{device}"
565
- rename_link = "pfexec dladm rename-link #{device} #{vnic_name}"
565
+ delete_if = interface.match(/--/) ? '' : "pfexec ipadm delete-if #{device} && "
566
+ rename_link = "pfexec dladm rename-link #{device} #{vnic_name} && "
566
567
  if_create = "pfexec ipadm create-if #{vnic_name}"
567
568
  static_addr = "pfexec ipadm create-addr -T static -a #{ip}/#{shrtsubnet} #{vnic_name}/v4vagrant"
568
- net_cmd = "#{delete_if} && #{rename_link} && #{if_create} && #{static_addr}"
569
+ net_cmd = "#{delete_if} #{rename_link} #{if_create} && #{static_addr}"
569
570
  uii.info(I18n.t('vagrant_zones.dladm_applied')) if ssh_run_command(uii, net_cmd)
570
-
571
- route_add = "pfexec route -p add default #{defrouter}"
571
+ route_add = ''
572
+ route_add = "pfexec route -p add default #{defrouter}" unless defrouter.nil?
572
573
  uii.info(I18n.t('vagrant_zones.dladm_route_applied')) if ssh_run_command(uii, route_add)
573
574
 
574
575
  ns_string = "nameserver #{servers[0]['nameserver']}\nnameserver #{servers[1]['nameserver']}"
@@ -576,6 +577,48 @@ module VagrantPlugins
576
577
  uii.info(I18n.t('vagrant_zones.dladm_dns_applied')) if ssh_run_command(uii, dns_set.to_s)
577
578
  end
578
579
 
580
+ ## Setup vnics for Zones using zlogin for solaris like OSes -- ie dladm
581
+ def zoneniczloginsetup_dladm(uii, opts, mac)
582
+ ip = ipaddress(uii, opts)
583
+ defrouter = opts[:gateway].to_s
584
+ vnic_name = vname(uii, opts)
585
+ shrtsubnet = IPAddr.new(opts[:netmask].to_s).to_i.to_s(2).count('1').to_s
586
+ servers = dnsservers(uii, opts)
587
+ uii.info(I18n.t('vagrant_zones.configure_interface_using_vnic_dladm'))
588
+ uii.info(" #{vnic_name}")
589
+
590
+ # loop through each phys if and run code if physif matches #{mac}
591
+ segments = mac.split(':')
592
+ new_segments = segments.map { |segment| segment.to_i(16).to_s(16) }
593
+ sanitized_mac = new_segments.join(':')
594
+ phys_if = "pfexec dladm show-phys -m -o LINK,ADDRESS,CLIENT | tail -n +2 | grep #{sanitized_mac}"
595
+ phys_if_results = zlogin(uii, phys_if)
596
+ device = ''
597
+ interface = ''
598
+ phys_if_results.each do |entry|
599
+ e_mac = ''
600
+ entries = entry.strip.split("\r")[1].split
601
+ entries[1].split(':').each { |x| e_mac += "#{format('%02x', x.to_i(16))}:" }
602
+ e_mac = e_mac[0..-2]
603
+ device = entries[0] if e_mac.match(/#{mac}/)
604
+ interface = entries[2] if e_mac.match(/#{mac}/)
605
+ end
606
+
607
+ delete_if = interface.match(/--/) ? '' : "pfexec ipadm delete-if #{device} && "
608
+ rename_link = "pfexec dladm rename-link #{device} #{vnic_name} && "
609
+ if_create = "pfexec ipadm create-if #{vnic_name}"
610
+ static_addr = "pfexec ipadm create-addr -T static -a #{ip}/#{shrtsubnet} #{vnic_name}/v4vagrant"
611
+ net_cmd = "#{delete_if} #{rename_link} #{if_create} && #{static_addr}"
612
+ uii.info(I18n.t('vagrant_zones.dladm_applied')) if zlogin(uii, net_cmd)
613
+ route_add = "pfexec route -p add default #{defrouter}"
614
+ route_add = 'echo True' if opts[:gateway].nil?
615
+ uii.info(I18n.t('vagrant_zones.dladm_route_applied')) if zlogin(uii, route_add)
616
+
617
+ ns_string = "nameserver #{servers[0]['nameserver']}\nnameserver #{servers[1]['nameserver']}"
618
+ dns_set = "pfexec echo '#{ns_string}' | pfexec tee /etc/resolv.conf"
619
+ uii.info(I18n.t('vagrant_zones.dladm_dns_applied')) if zlogin(uii, dns_set.to_s)
620
+ end
621
+
579
622
  ## zonecfg function for for nat Networking
580
623
  def natnicconfig(uii, opts)
581
624
  config = @machine.provider_config
@@ -1019,9 +1062,19 @@ module VagrantPlugins
1019
1062
  shrtstr2 = %(add property (name=ips,value="#{allowed_address}"); add property (name=primary,value="true"); end;)
1020
1063
  execute(false, %(#{strt}set global-nic=auto; #{shrtstr1} #{shrtstr2}"))
1021
1064
  when 'bhyve'
1022
- execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) unless cie
1023
- execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set allowed-address=#{allowed_address}; end;")) if cie && aa
1024
- execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) if cie && !aa
1065
+ if config.on_demand_vnics && opts[:vlan].nil?
1066
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set global-nic=#{opts[:bridge]}; end;")) unless cie
1067
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set global-nic=#{opts[:bridge]}; set allowed-address=#{allowed_address}; end;")) if cie && aa
1068
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set global-nic=#{opts[:bridge]}; end;")) if cie && !aa
1069
+ elsif config.on_demand_vnics && !opts[:vlan].nil?
1070
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set vlan-id=#{opts[:vlan]}; set global-nic=#{opts[:bridge]}; end;")) unless cie
1071
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set vlan-id=#{opts[:vlan]}; set global-nic=#{opts[:bridge]}; set allowed-address=#{allowed_address}; end;")) if cie && aa
1072
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set vlan-id=#{opts[:vlan]}; set global-nic=#{opts[:bridge]}; end;")) if cie && !aa
1073
+ elsif !config.on_demand_vnics
1074
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) unless cie
1075
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set allowed-address=#{allowed_address}; end;")) if cie && aa
1076
+ execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) if cie && !aa
1077
+ end
1025
1078
  end
1026
1079
  end
1027
1080
 
@@ -1067,8 +1120,15 @@ module VagrantPlugins
1067
1120
  mac = mac[0..-2]
1068
1121
  end
1069
1122
 
1123
+ ## Code Block to Detect OS
1124
+ cmd = 'uname -a'
1125
+ uii.info(I18n.t('vagrant_zones.os_detect'))
1126
+ os_detected = zlogin(uii, cmd)
1127
+ uii.info('Zone OS detected as: OmniOS') if os_detected.to_s.match(/SunOS/)
1128
+
1070
1129
  zoneniczloginsetup_windows(uii, opts, mac) if config.os_type.to_s.match(/windows/)
1071
- zoneniczloginsetup_netplan(uii, opts, mac) unless config.os_type.to_s.match(/windows/)
1130
+ zoneniczloginsetup_dladm(uii, opts, mac) if os_detected.to_s.match(/SunOS/)
1131
+ zoneniczloginsetup_netplan(uii, opts, mac) if !config.os_type.to_s.match(/windows/) && !os_detected.to_s.match(/SunOS/)
1072
1132
  end
1073
1133
 
1074
1134
  ## This setups the Netplan based OS Networking via Zlogin
@@ -1093,7 +1153,6 @@ module VagrantPlugins
1093
1153
  cmd = "echo '#{netplan}' > /etc/netplan/#{vnic_name}.yaml"
1094
1154
  infomessage = I18n.t('vagrant_zones.netplan_applied_static') + "/etc/netplan/#{vnic_name}.yaml"
1095
1155
  uii.info(infomessage) if zlogin(uii, cmd)
1096
- ## Apply the Configuration
1097
1156
  uii.info(I18n.t('vagrant_zones.netplan_applied')) if zlogin(uii, 'netplan apply')
1098
1157
  end
1099
1158
 
@@ -1340,6 +1399,7 @@ module VagrantPlugins
1340
1399
  name = @machine.name
1341
1400
  config = @machine.provider_config
1342
1401
  rsp = []
1402
+ execute_return = ''
1343
1403
  PTY.spawn("pfexec zlogin -C #{name}") do |zread, zwrite, pid|
1344
1404
  Timeout.timeout(config.setup_wait) do
1345
1405
  error_check = "echo \"Error Code: $?\"\n"
@@ -1347,10 +1407,11 @@ module VagrantPlugins
1347
1407
  runonce = true
1348
1408
  loop do
1349
1409
  zread.expect(/\n/) { |line| rsp.push line }
1350
- puts(rsp[-1].to_s) if config.debug
1410
+ puts(rsp[-1]) if config.debug
1351
1411
  zwrite.printf("#{cmd}\r\n") if runonce
1352
1412
  zwrite.printf(error_check.to_s) if runonce
1353
1413
  runonce = false
1414
+ execute_return = rsp[-4] if rsp[-1].to_s.match(/Error Code: 0/)
1354
1415
  break if rsp[-1].to_s.match(/Error Code: 0/)
1355
1416
 
1356
1417
  em = "#{cmd} \nFailed with ==> #{rsp[-1]}"
@@ -1360,6 +1421,7 @@ module VagrantPlugins
1360
1421
  end
1361
1422
  Process.kill('HUP', pid)
1362
1423
  end
1424
+ execute_return
1363
1425
  end
1364
1426
 
1365
1427
  # This checks if the user exists on the VM, usually for LX zones
@@ -1455,7 +1517,7 @@ module VagrantPlugins
1455
1517
  ## List ZFS Snapshots, helper function to sort and display
1456
1518
  def zfssnaplistdisp(zfs_snapshots, uii, index, disk)
1457
1519
  uii.info("\n Disk Number: #{index}\n Disk Path: #{disk}")
1458
- zfssnapshots = zfs_snapshots.split(/\n/).reverse
1520
+ zfssnapshots = zfs_snapshots.split("\n").reverse
1459
1521
  zfssnapshots << "Snapshot\t\t\t\tUsed\tAvailable\tRefer\tPath"
1460
1522
  pml, rml, aml, uml, sml = 0
1461
1523
  zfssnapshots.reverse.each do |snapshot|
@@ -1528,7 +1590,7 @@ module VagrantPlugins
1528
1590
  datasets.each do |disk|
1529
1591
  output = execute(false, "#{@pfexec} zfs list -t snapshot -o name | grep #{disk}")
1530
1592
  ## Never delete the source when doing all
1531
- output = output.split(/\n/).drop(1)
1593
+ output = output.split("\n").drop(1)
1532
1594
  ## Delete in Reverse order
1533
1595
  output.reverse.each do |snaps|
1534
1596
  cmd = "#{@pfexec} zfs destroy #{snaps}"
@@ -1542,7 +1604,7 @@ module VagrantPlugins
1542
1604
  next unless dindex.to_i == opts[:dataset].to_i
1543
1605
 
1544
1606
  output = execute(false, "#{@pfexec} zfs list -t snapshot -o name | grep #{disk}")
1545
- output = output.split(/\n/).drop(1)
1607
+ output = output.split("\n").drop(1)
1546
1608
  output.each_with_index do |snaps, spindex|
1547
1609
  if opts[:snapshot_name].to_i == spindex && opts[:snapshot_name].to_s != 'all'
1548
1610
  uii.info(" - #{snaps}")
@@ -1586,7 +1648,7 @@ module VagrantPlugins
1586
1648
  h.each do |_k, d|
1587
1649
  next unless opts[:delete] == d || opts[:delete] == 'all'
1588
1650
 
1589
- cj = cronjobs[d.to_sym].to_s.gsub(/\*/, '\*')
1651
+ cj = cronjobs[d.to_sym].to_s.gsub('*', '\*')
1590
1652
  rc = "#{rmcr}'#{cj}' | #{sc}"
1591
1653
  uii.info(" - Removing Cron: #{cj}") unless cronjobs[d.to_sym].nil?
1592
1654
  execute(false, rc) unless cronjobs[d.to_sym].nil?
@@ -36,7 +36,7 @@ module VagrantPlugins
36
36
  private_key_path: driver.userprivatekeypath(@machine).to_s,
37
37
  PasswordAuthentication: passwordauth
38
38
  }
39
- return ssh_info unless ssh_info.nil?
39
+ ssh_info unless ssh_info.nil?
40
40
  end
41
41
 
42
42
  # This should return an action callable for the given name.
@@ -2,7 +2,7 @@
2
2
 
3
3
  module VagrantPlugins
4
4
  module ProviderZone
5
- VERSION = '0.1.72'
5
+ VERSION = '0.1.75'
6
6
  NAME = 'vagrant-zones'
7
7
  end
8
8
  end
@@ -27,22 +27,11 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.required_ruby_version = '>= 2.6.0'
30
+ spec.required_ruby_version = '>= 2.7.0'
31
31
  spec.required_rubygems_version = '>= 1.3.6'
32
32
  spec.add_runtime_dependency 'i18n', '~> 1.0'
33
33
  spec.add_runtime_dependency 'iniparse', '~> 1.0'
34
34
  spec.add_runtime_dependency 'log4r', '~> 1.1'
35
35
  spec.add_runtime_dependency 'netaddr', '~> 2.0', '>= 2.0.4'
36
36
  spec.add_runtime_dependency 'ruby_expect', '~> 1.7', '>= 1.7.5'
37
- spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.3'
38
- spec.add_development_dependency 'code-scanning-rubocop', '~> 0.5', '>= 0.5.0'
39
- spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
40
- spec.add_development_dependency 'rspec', '~> 3.4'
41
- spec.add_development_dependency 'rspec-core', '~> 3.4'
42
- spec.add_development_dependency 'rspec-expectations', '~> 3.10', '>= 3.10.0'
43
- spec.add_development_dependency 'rspec-mocks', '~> 3.10', '>= 3.10.0'
44
- spec.add_development_dependency 'rubocop', '~> 1.0'
45
- spec.add_development_dependency 'rubocop-rake', '~> 0.6', '>= 0.6.0'
46
- spec.add_development_dependency 'rubocop-rspec', '~> 2.4', '>= 2.4.0'
47
- spec.add_development_dependency 'ruby-progressbar', '~> 1.11', '>= 1.11.0'
48
37
  end
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.72
4
+ version: 0.1.75
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-02-06 00:00:00.000000000 Z
11
+ date: 2023-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -92,208 +92,6 @@ dependencies:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: 1.7.5
95
- - !ruby/object:Gem::Dependency
96
- name: bundler
97
- requirement: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - "~>"
100
- - !ruby/object:Gem::Version
101
- version: '2.2'
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: 2.2.3
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - "~>"
110
- - !ruby/object:Gem::Version
111
- version: '2.2'
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: 2.2.3
115
- - !ruby/object:Gem::Dependency
116
- name: code-scanning-rubocop
117
- requirement: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - "~>"
120
- - !ruby/object:Gem::Version
121
- version: '0.5'
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: 0.5.0
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0.5'
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: 0.5.0
135
- - !ruby/object:Gem::Dependency
136
- name: rake
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '13.0'
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: 13.0.6
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: '13.0'
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: 13.0.6
155
- - !ruby/object:Gem::Dependency
156
- name: rspec
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '3.4'
162
- type: :development
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '3.4'
169
- - !ruby/object:Gem::Dependency
170
- name: rspec-core
171
- requirement: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - "~>"
174
- - !ruby/object:Gem::Version
175
- version: '3.4'
176
- type: :development
177
- prerelease: false
178
- version_requirements: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - "~>"
181
- - !ruby/object:Gem::Version
182
- version: '3.4'
183
- - !ruby/object:Gem::Dependency
184
- name: rspec-expectations
185
- requirement: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - "~>"
188
- - !ruby/object:Gem::Version
189
- version: '3.10'
190
- - - ">="
191
- - !ruby/object:Gem::Version
192
- version: 3.10.0
193
- type: :development
194
- prerelease: false
195
- version_requirements: !ruby/object:Gem::Requirement
196
- requirements:
197
- - - "~>"
198
- - !ruby/object:Gem::Version
199
- version: '3.10'
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- version: 3.10.0
203
- - !ruby/object:Gem::Dependency
204
- name: rspec-mocks
205
- requirement: !ruby/object:Gem::Requirement
206
- requirements:
207
- - - "~>"
208
- - !ruby/object:Gem::Version
209
- version: '3.10'
210
- - - ">="
211
- - !ruby/object:Gem::Version
212
- version: 3.10.0
213
- type: :development
214
- prerelease: false
215
- version_requirements: !ruby/object:Gem::Requirement
216
- requirements:
217
- - - "~>"
218
- - !ruby/object:Gem::Version
219
- version: '3.10'
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: 3.10.0
223
- - !ruby/object:Gem::Dependency
224
- name: rubocop
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: '1.0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: '1.0'
237
- - !ruby/object:Gem::Dependency
238
- name: rubocop-rake
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: '0.6'
244
- - - ">="
245
- - !ruby/object:Gem::Version
246
- version: 0.6.0
247
- type: :development
248
- prerelease: false
249
- version_requirements: !ruby/object:Gem::Requirement
250
- requirements:
251
- - - "~>"
252
- - !ruby/object:Gem::Version
253
- version: '0.6'
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- version: 0.6.0
257
- - !ruby/object:Gem::Dependency
258
- name: rubocop-rspec
259
- requirement: !ruby/object:Gem::Requirement
260
- requirements:
261
- - - "~>"
262
- - !ruby/object:Gem::Version
263
- version: '2.4'
264
- - - ">="
265
- - !ruby/object:Gem::Version
266
- version: 2.4.0
267
- type: :development
268
- prerelease: false
269
- version_requirements: !ruby/object:Gem::Requirement
270
- requirements:
271
- - - "~>"
272
- - !ruby/object:Gem::Version
273
- version: '2.4'
274
- - - ">="
275
- - !ruby/object:Gem::Version
276
- version: 2.4.0
277
- - !ruby/object:Gem::Dependency
278
- name: ruby-progressbar
279
- requirement: !ruby/object:Gem::Requirement
280
- requirements:
281
- - - "~>"
282
- - !ruby/object:Gem::Version
283
- version: '1.11'
284
- - - ">="
285
- - !ruby/object:Gem::Version
286
- version: 1.11.0
287
- type: :development
288
- prerelease: false
289
- version_requirements: !ruby/object:Gem::Requirement
290
- requirements:
291
- - - "~>"
292
- - !ruby/object:Gem::Version
293
- version: '1.11'
294
- - - ">="
295
- - !ruby/object:Gem::Version
296
- version: 1.11.0
297
95
  description: Vagrant provider plugin to support zones
298
96
  email:
299
97
  - support@prominic.net
@@ -385,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
385
183
  requirements:
386
184
  - - ">="
387
185
  - !ruby/object:Gem::Version
388
- version: 2.6.0
186
+ version: 2.7.0
389
187
  required_rubygems_version: !ruby/object:Gem::Requirement
390
188
  requirements:
391
189
  - - ">="