Allow use of subnet option when defining private network with dhcp type
This commit is contained in:
parent
670bef6596
commit
623a1815ae
|
@ -85,18 +85,23 @@ module VagrantPlugins
|
||||||
network_name = root_options[:name]
|
network_name = root_options[:name]
|
||||||
end
|
end
|
||||||
|
|
||||||
if root_options[:type].to_s == "dhcp" && !root_options[:ip]
|
if root_options[:type].to_s == "dhcp"
|
||||||
network_name = "vagrant_network" if !network_name
|
if !root_options[:ip] && !root_options[:subnet]
|
||||||
return [network_name, network_options]
|
network_name = "vagrant_network" if !network_name
|
||||||
|
return [network_name, network_options]
|
||||||
|
end
|
||||||
|
if root_options[:subnet]
|
||||||
|
addr = IPAddr.new(root_options[:subnet])
|
||||||
|
root_options[:netmask] = addr.prefix
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if !root_options[:ip]
|
if root_options[:ip]
|
||||||
|
addr = IPAddr.new(root_options[:ip])
|
||||||
|
elsif addr.nil?
|
||||||
raise Errors::NetworkIPAddressRequired
|
raise Errors::NetworkIPAddressRequired
|
||||||
end
|
end
|
||||||
|
|
||||||
# Validate the IP address
|
|
||||||
addr = IPAddr.new(root_options[:ip])
|
|
||||||
|
|
||||||
# If address is ipv6, enable ipv6 support
|
# If address is ipv6, enable ipv6 support
|
||||||
network_options[:ipv6] = addr.ipv6?
|
network_options[:ipv6] = addr.ipv6?
|
||||||
|
|
||||||
|
@ -116,7 +121,7 @@ module VagrantPlugins
|
||||||
# With no network name, process options to find or determine
|
# With no network name, process options to find or determine
|
||||||
# name for new network
|
# name for new network
|
||||||
if !network_name
|
if !network_name
|
||||||
subnet = IPAddr.new("#{root_options[:ip]}/#{root_options[:netmask]}")
|
subnet = IPAddr.new("#{addr}/#{root_options[:netmask]}")
|
||||||
network = "#{subnet}/#{root_options[:netmask]}"
|
network = "#{subnet}/#{root_options[:netmask]}"
|
||||||
network_options[:subnet] = network
|
network_options[:subnet] = network
|
||||||
existing_network = env[:machine].provider.driver.
|
existing_network = env[:machine].provider.driver.
|
||||||
|
|
Loading…
Reference in New Issue