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 +4 -4
- data/.github/workflows/ruby-lint.yml +1 -1
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +23 -0
- data/Gemfile +11 -0
- data/lib/vagrant-zones/action/destroy.rb +1 -1
- data/lib/vagrant-zones/action/import.rb +3 -3
- data/lib/vagrant-zones/action/package.rb +2 -2
- data/lib/vagrant-zones/driver.rb +86 -24
- data/lib/vagrant-zones/provider.rb +1 -1
- data/lib/vagrant-zones/version.rb +1 -1
- data/vagrant-zones.gemspec +1 -12
- metadata +3 -205
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c008c22b5f7efc81dcada78d32f8ec51afc0daec62bc8442a551f75e49c6d22
|
4
|
+
data.tar.gz: 68dce9d525af71bd5dba8b728431b697f23c5cfa2cb5c52c72fbacada52d6854
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 410f53f551c6975924ccc128dec2929d161560357d46420271c1598c44c68b1b9d700d5cf7280e4c149f47dd7ec8d9829ebfdeec365385c1b7109000a122be63
|
7
|
+
data.tar.gz: 1b6ab64d7c9aab1daf1af38dc8a44e10d8bd2758ecac13be6f69ae9c4d0a7e722bee5f904c1f8319b3d2944cef932e76924994e4ec5070ef5675f040082ca950
|
data/.rubocop.yml
CHANGED
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
|
@@ -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
|
-
|
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(
|
101
|
-
@executor.execute(
|
100
|
+
def execute(...)
|
101
|
+
@executor.execute(...)
|
102
102
|
end
|
103
103
|
|
104
104
|
def check(uuid, env_ui)
|
data/lib/vagrant-zones/driver.rb
CHANGED
@@ -54,8 +54,8 @@ module VagrantPlugins
|
|
54
54
|
end
|
55
55
|
|
56
56
|
# Execute System commands
|
57
|
-
def execute(
|
58
|
-
@executor.execute(
|
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(
|
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(
|
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
|
-
|
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}
|
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
|
-
|
1023
|
-
|
1024
|
-
|
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
|
-
|
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]
|
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(
|
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(
|
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(
|
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
|
-
|
39
|
+
ssh_info unless ssh_info.nil?
|
40
40
|
end
|
41
41
|
|
42
42
|
# This should return an action callable for the given name.
|
data/vagrant-zones.gemspec
CHANGED
@@ -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.
|
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.
|
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-
|
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.
|
186
|
+
version: 2.7.0
|
389
187
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
390
188
|
requirements:
|
391
189
|
- - ">="
|