Skip to content

Commit

Permalink
fix: on-deman vnics
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkProminic authored Nov 27, 2023
1 parent 3186a79 commit 80c8a42
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions lib/vagrant-zones/driver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ def network(uii, state)
when 'public_network'
zonenicdel(uii, opts) if state == 'delete'
zonecfgnicconfig(uii, opts) if state == 'config'
zoneniccreate(uii, opts) if state == 'create'
zoneniccreate(uii, opts) if state == 'create' && not config.on_demand_vnics
zonenicstpzloginsetup(uii, opts, config) if state == 'setup' && config.setup_method == 'zlogin'
when 'private_network'
zonenicdel(uii, opts) if state == 'delete'
Expand All @@ -332,7 +332,7 @@ def network(uii, state)
etherstubdelete(uii, opts) if state == 'delete'
natnicconfig(uii, opts) if state == 'config'
etherstub = etherstubcreate(uii, opts) if state == 'create'
zonenatniccreate(uii, opts, etherstub) if state == 'create'
zonenatniccreate(uii, opts, etherstub) if state == 'create' && not config.on_demand_vnics
etherstubcreatehvnic(uii, opts, etherstub) if state == 'create'
zonenatforward(uii, opts) if state == 'create'
zonenatentries(uii, opts) if state == 'create'
Expand Down Expand Up @@ -1056,15 +1056,29 @@ def zonecfgnicconfig(uii, opts)
strt = "#{@pfexec} zonecfg -z #{@machine.name} "
cie = config.cloud_init_enabled
aa = config.allowed_address
if opts[:vlan].nil?
else

end
case config.brand
when 'lx'
shrtstr1 = %(set allowed-address=#{allowed_address}; add property (name=gateway,value="#{defrouter}"); )
shrtstr2 = %(add property (name=ips,value="#{allowed_address}"); add property (name=primary,value="true"); end;)
execute(false, %(#{strt}set global-nic=auto; #{shrtstr1} #{shrtstr2}"))
when 'bhyve'
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) unless cie
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set allowed-address=#{allowed_address}; end;")) if cie && aa
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) if cie && !aa
if config.on_demand_vnics && opts[:vlan].nil?
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set global-nic=#{opts[:bridge]}; end;")) unless cie
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set global-nic=#{opts[:bridge]}; set allowed-address=#{allowed_address}; end;")) if cie && aa
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set global-nic=#{opts[:bridge]}; end;")) if cie && !aa
elsif config.on_demand_vnics && not opts[:vlan].nil?
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set vlan-id=#{opts[:vlan]}; set global-nic=#{opts[:bridge]}; end;")) unless cie
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
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set vlan-id=#{opts[:vlan]}; set global-nic=#{opts[:bridge]}; end;")) if cie && !aa
elsif not config.on_demand_vnics
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) unless cie
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; set allowed-address=#{allowed_address}; end;")) if cie && aa
execute(false, %(#{strt}"add net; set physical=#{vnic_name}; end;")) if cie && !aa
end
end
end

Expand Down

0 comments on commit 80c8a42

Please sign in to comment.