Add gateway to networks + template tests
This commit is contained in:
parent
527e06c690
commit
55e4308e22
|
@ -3,3 +3,6 @@ Description='A basic static ethernet connection'
|
||||||
Interface=<%= options[:device] %>
|
Interface=<%= options[:device] %>
|
||||||
IP=static
|
IP=static
|
||||||
Address=('<%= options[:ip]%>/24')
|
Address=('<%= options[:ip]%>/24')
|
||||||
|
<% if options[:gateway] %>
|
||||||
|
Gateway='<%= options[:gateway] %>'
|
||||||
|
<% end %>
|
||||||
|
|
|
@ -4,4 +4,7 @@ auto eth<%= options[:interface] %>
|
||||||
iface eth<%= options[:interface] %> inet static
|
iface eth<%= options[:interface] %> inet static
|
||||||
address <%= options[:ip] %>
|
address <%= options[:ip] %>
|
||||||
netmask <%= options[:netmask] %>
|
netmask <%= options[:netmask] %>
|
||||||
|
<% if options[:gateway] %>
|
||||||
|
gateway <%= options[:gateway] %>
|
||||||
|
<% end %>
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -6,7 +6,11 @@ ONBOOT=yes
|
||||||
IPADDR=<%= options[:ip] %>
|
IPADDR=<%= options[:ip] %>
|
||||||
NETMASK=<%= options[:netmask] %>
|
NETMASK=<%= options[:netmask] %>
|
||||||
DEVICE=<%= options[:device] %>
|
DEVICE=<%= options[:device] %>
|
||||||
<%= options[:gateway] ? "GATEWAY=#{options[:gateway]}" : '' %>
|
<% if options[:gateway] %>
|
||||||
<%= options[:mac_address] ? "HWADDR=#{options[:mac_address]}" : '' %>
|
GATEWAY=<%= options[:gateway] %>
|
||||||
|
<% end %>
|
||||||
|
<% if options[:mac_address] %>
|
||||||
|
HWADDR=<%= options[:mac_address] %>
|
||||||
|
<% end %>
|
||||||
PEERDNS=no
|
PEERDNS=no
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
#VAGRANT-BEGIN
|
#VAGRANT-BEGIN
|
||||||
ifconfig_<%= ifname %>="inet <%= options[:ip] %> netmask <%= options[:netmask] %>"
|
ifconfig_<%= ifname %>="inet <%= options[:ip] %> netmask <%= options[:netmask] %>"
|
||||||
|
<% if options[:gateway] %>
|
||||||
|
default_router="<%= options[:gateway] %>"
|
||||||
|
<% end %>
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -2,5 +2,9 @@
|
||||||
# The contents below are automatically generated by Vagrant. Do not modify.
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
template='interface'
|
template='interface'
|
||||||
ipaddr='<%= options[:ip] %>/<%= options[:netmask] %>'
|
ipaddr='<%= options[:ip] %>/<%= options[:netmask] %>'
|
||||||
<%= [:gateway, :nameservers, :domain, :route, :gateway6, :route6, :mtu].reduce([]) { |a,i| a.push("#{i}=#{options[i]}") if options[i]; a }.join("\n") %>
|
<% [:gateway, :nameservers, :domain, :route, :gateway6, :route6, :mtu].each do |key| %>
|
||||||
|
<% if options[key] %>
|
||||||
|
<%= key %>='<%= options[key] %>'
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
#VAGRANT-BEGIN
|
#VAGRANT-BEGIN
|
||||||
# The contents below are automatically generated by Vagrant. Do not modify.
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
config_eth<%= options[:interface] %>=("<%= options[:ip] %> netmask <%= options[:netmask] %>")
|
config_eth<%= options[:interface] %>=("<%= options[:ip] %> netmask <%= options[:netmask] %>")
|
||||||
|
<% if options[:gateway] %>
|
||||||
|
gateways_eth<%= options[:interface] %>="<%= options[:gateway] %>"
|
||||||
|
<% end %>
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -6,6 +6,8 @@ ONBOOT=yes
|
||||||
IPADDR=<%= options[:ip] %>
|
IPADDR=<%= options[:ip] %>
|
||||||
NETMASK=<%= options[:netmask] %>
|
NETMASK=<%= options[:netmask] %>
|
||||||
DEVICE=eth<%= options[:interface] %>
|
DEVICE=eth<%= options[:interface] %>
|
||||||
<%= options[:gateway] ? "GATEWAY=#{options[:gateway]}" : '' %>
|
<% if options[:gateway] %>
|
||||||
|
GATEWAY=<%= options[:gateway] %>
|
||||||
|
<% end %>
|
||||||
PEERDNS=no
|
PEERDNS=no
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -4,7 +4,10 @@ BOOTPROTO='static'
|
||||||
IPADDR='<%= options[:ip] %>'
|
IPADDR='<%= options[:ip] %>'
|
||||||
NETMASK='<%= options[:netmask] %>'
|
NETMASK='<%= options[:netmask] %>'
|
||||||
DEVICE='eth<%= options[:interface] %>'
|
DEVICE='eth<%= options[:interface] %>'
|
||||||
PEERDNS=no
|
<% if options[:gateway] %>
|
||||||
|
GATEWAY='<%= options[:gateway] %>'
|
||||||
|
<% end %>
|
||||||
|
PEERDNS='no'
|
||||||
STARTMODE='auto'
|
STARTMODE='auto'
|
||||||
USERCONTROL='no'
|
USERCONTROL='no'
|
||||||
#VAGRANT-END
|
#VAGRANT-END
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/arch/network_dhcp" do
|
||||||
|
let(:template) { "guests/arch/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
Description='A basic dhcp ethernet connection'
|
||||||
|
Interface=en0
|
||||||
|
Connection=ethernet
|
||||||
|
IP=dhcp
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,37 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/arch/network_static" do
|
||||||
|
let(:template) { "guests/arch/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
Connection=ethernet
|
||||||
|
Description='A basic static ethernet connection'
|
||||||
|
Interface=en0
|
||||||
|
IP=static
|
||||||
|
Address=('1.1.1.1/24')
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
Connection=ethernet
|
||||||
|
Description='A basic static ethernet connection'
|
||||||
|
Interface=en0
|
||||||
|
IP=static
|
||||||
|
Address=('1.1.1.1/24')
|
||||||
|
Gateway='1.2.3.4'
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,41 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/debian/network_dhcp" do
|
||||||
|
let(:template) { "guests/debian/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
auto eth
|
||||||
|
iface eth inet dhcp
|
||||||
|
post-up route del default dev $IFACE || true
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when use_dhcp_assigned_default_route is set" do
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
use_dhcp_assigned_default_route: true,
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {8}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
auto eth
|
||||||
|
iface eth inet dhcp
|
||||||
|
# We need to disable eth0, see GH-2648
|
||||||
|
post-up route del default dev eth0
|
||||||
|
post-up dhclient $IFACE
|
||||||
|
pre-down route add default dev eth0
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,43 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/debian/network_static" do
|
||||||
|
let(:template) { "guests/debian/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
auto eth
|
||||||
|
iface eth inet static
|
||||||
|
address 1.1.1.1
|
||||||
|
netmask 255.255.0.0
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
auto eth
|
||||||
|
iface eth inet static
|
||||||
|
address 1.1.1.1
|
||||||
|
netmask 255.255.0.0
|
||||||
|
gateway 1.2.3.4
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/fedora/network_dhcp" do
|
||||||
|
let(:template) { "guests/fedora/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
BOOTPROTO=dhcp
|
||||||
|
ONBOOT=yes
|
||||||
|
DEVICE=en0
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,71 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/fedora/network_static" do
|
||||||
|
let(:template) { "guests/fedora/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
NM_CONTROLLED=no
|
||||||
|
BOOTPROTO=none
|
||||||
|
ONBOOT=yes
|
||||||
|
IPADDR=1.1.1.1
|
||||||
|
NETMASK=255.255.0.0
|
||||||
|
DEVICE=en0
|
||||||
|
PEERDNS=no
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
NM_CONTROLLED=no
|
||||||
|
BOOTPROTO=none
|
||||||
|
ONBOOT=yes
|
||||||
|
IPADDR=1.1.1.1
|
||||||
|
NETMASK=255.255.0.0
|
||||||
|
DEVICE=en0
|
||||||
|
GATEWAY=1.2.3.4
|
||||||
|
PEERDNS=no
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the mac_address" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
mac_address: "abcd1234",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
NM_CONTROLLED=no
|
||||||
|
BOOTPROTO=none
|
||||||
|
ONBOOT=yes
|
||||||
|
IPADDR=1.1.1.1
|
||||||
|
NETMASK=255.255.0.0
|
||||||
|
DEVICE=en0
|
||||||
|
HWADDR=abcd1234
|
||||||
|
PEERDNS=no
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,16 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/freebsd/network_dhcp" do
|
||||||
|
let(:template) { "guests/freebsd/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, ifname: "vtneten0")
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
ifconfig_vtneten0="DHCP"
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,39 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/freebsd/network_static" do
|
||||||
|
let(:template) { "guests/freebsd/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template,
|
||||||
|
ifname: "vtneten0",
|
||||||
|
options: {
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
ifconfig_vtneten0="inet 1.1.1.1 netmask 255.255.0.0"
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template,
|
||||||
|
ifname: "vtneten0",
|
||||||
|
options: {
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
ifconfig_vtneten0="inet 1.1.1.1 netmask 255.255.0.0"
|
||||||
|
default_router="1.2.3.4"
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,19 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/funtoo/network_dhcp" do
|
||||||
|
let(:template) { "guests/funtoo/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='dhcp'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,141 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/funtoo/network_static" do
|
||||||
|
let(:template) { "guests/funtoo/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
gateway='1.2.3.4'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the nameservers" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
nameservers: "ns1.company.com",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
nameservers='ns1.company.com'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the domain" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
domain: "company.com",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
domain='company.com'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the route" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
route: "5.6.7.8",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
route='5.6.7.8'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway6" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
gateway6: "aaaa:0000",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
gateway6='aaaa:0000'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the route6" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
route6: "bbbb:1111",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
route6='bbbb:1111'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the mtu" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
device: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
mtu: "1",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
template='interface'
|
||||||
|
ipaddr='1.1.1.1/255.255.0.0'
|
||||||
|
mtu='1'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,19 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/gentoo/network_dhcp" do
|
||||||
|
let(:template) { "guests/gentoo/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
config_ethen0="dhcp"
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,37 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/gentoo/network_static" do
|
||||||
|
let(:template) { "guests/gentoo/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
config_ethen0=("1.1.1.1 netmask 255.255.0.0")
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
config_ethen0=("1.1.1.1 netmask 255.255.0.0")
|
||||||
|
gateways_ethen0="1.2.3.4"
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,18 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/netbsd/network_dhcp" do
|
||||||
|
let(:template) { "guests/netbsd/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
ifconfig_wmen0=dhcp
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,20 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/netbsd/network_static" do
|
||||||
|
let(:template) { "guests/netbsd/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
ifconfig_wmen0="media autoselect up;inet 1.1.1.1 netmask 255.255.0.0"
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/redhat/network_dhcp" do
|
||||||
|
let(:template) { "guests/redhat/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
BOOTPROTO=dhcp
|
||||||
|
ONBOOT=yes
|
||||||
|
DEVICE=ethen0
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,49 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/redhat/network_static" do
|
||||||
|
let(:template) { "guests/redhat/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
NM_CONTROLLED=no
|
||||||
|
BOOTPROTO=none
|
||||||
|
ONBOOT=yes
|
||||||
|
IPADDR=1.1.1.1
|
||||||
|
NETMASK=255.255.0.0
|
||||||
|
DEVICE=ethen0
|
||||||
|
PEERDNS=no
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
NM_CONTROLLED=no
|
||||||
|
BOOTPROTO=none
|
||||||
|
ONBOOT=yes
|
||||||
|
IPADDR=1.1.1.1
|
||||||
|
NETMASK=255.255.0.0
|
||||||
|
DEVICE=ethen0
|
||||||
|
GATEWAY=1.2.3.4
|
||||||
|
PEERDNS=no
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/suse/network_dhcp" do
|
||||||
|
let(:template) { "guests/suse/network_dhcp" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
BOOTPROTO=dhcp
|
||||||
|
ONBOOT=yes
|
||||||
|
DEVICE=ethen0
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,49 @@
|
||||||
|
require_relative "../../../base"
|
||||||
|
|
||||||
|
require "vagrant/util/template_renderer"
|
||||||
|
|
||||||
|
describe "templates/guests/suse/network_static" do
|
||||||
|
let(:template) { "guests/suse/network_static" }
|
||||||
|
|
||||||
|
it "renders the template" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
BOOTPROTO='static'
|
||||||
|
IPADDR='1.1.1.1'
|
||||||
|
NETMASK='255.255.0.0'
|
||||||
|
DEVICE='ethen0'
|
||||||
|
PEERDNS='no'
|
||||||
|
STARTMODE='auto'
|
||||||
|
USERCONTROL='no'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
|
||||||
|
it "includes the gateway" do
|
||||||
|
result = Vagrant::Util::TemplateRenderer.render(template, options: {
|
||||||
|
interface: "en0",
|
||||||
|
ip: "1.1.1.1",
|
||||||
|
gateway: "1.2.3.4",
|
||||||
|
netmask: "255.255.0.0",
|
||||||
|
})
|
||||||
|
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
|
||||||
|
#VAGRANT-BEGIN
|
||||||
|
# The contents below are automatically generated by Vagrant. Do not modify.
|
||||||
|
BOOTPROTO='static'
|
||||||
|
IPADDR='1.1.1.1'
|
||||||
|
NETMASK='255.255.0.0'
|
||||||
|
DEVICE='ethen0'
|
||||||
|
GATEWAY='1.2.3.4'
|
||||||
|
PEERDNS='no'
|
||||||
|
STARTMODE='auto'
|
||||||
|
USERCONTROL='no'
|
||||||
|
#VAGRANT-END
|
||||||
|
EOH
|
||||||
|
end
|
||||||
|
end
|
|
@ -63,6 +63,9 @@ the [reserved private address space](http://en.wikipedia.org/wiki/Private_networ
|
||||||
and most routers actually block traffic from going to them from the
|
and most routers actually block traffic from going to them from the
|
||||||
outside world.
|
outside world.
|
||||||
|
|
||||||
|
For some operating systems, additional configuration options for the static
|
||||||
|
IP address are available such as setting the default gateway for mtu.
|
||||||
|
|
||||||
## Disable Auto-Configuration
|
## Disable Auto-Configuration
|
||||||
|
|
||||||
If you want to manually configure the network interface yourself, you
|
If you want to manually configure the network interface yourself, you
|
||||||
|
|
Loading…
Reference in New Issue