X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/38242c2ddcec93702f548cc9f682a6db22880f6c..aeaa46f3071de018b5c5e0f5678cb5b4082e3ddc:/cookbooks/networking/recipes/default.rb diff --git a/cookbooks/networking/recipes/default.rb b/cookbooks/networking/recipes/default.rb index 321109a1d..a6fcaf80f 100644 --- a/cookbooks/networking/recipes/default.rb +++ b/cookbooks/networking/recipes/default.rb @@ -48,10 +48,12 @@ node[:networking][:interfaces].each do |name, interface| node.normal[:networking][:interfaces][name][:zone] = role[:zone] end - prefix = node[:networking][:interfaces][name][:prefix] + if interface[:address] + prefix = node[:networking][:interfaces][name][:prefix] - node.normal[:networking][:interfaces][name][:netmask] = (~IPAddr.new(interface[:address]).mask(0)).mask(prefix) - node.normal[:networking][:interfaces][name][:network] = IPAddr.new(interface[:address]).mask(prefix) + node.normal[:networking][:interfaces][name][:netmask] = (~IPAddr.new(interface[:address]).mask(0)).mask(prefix) + node.normal[:networking][:interfaces][name][:network] = IPAddr.new(interface[:address]).mask(prefix) + end interface = node[:networking][:interfaces][name] @@ -77,7 +79,9 @@ node[:networking][:interfaces].each do |name, interface| } end - deviceplan["addresses"].push("#{interface[:address]}/#{prefix}") + if interface[:address] + deviceplan["addresses"].push("#{interface[:address]}/#{prefix}") + end if interface[:mtu] deviceplan["mtu"] = interface[:mtu] @@ -169,7 +173,7 @@ end file "/etc/netplan/99-chef.yaml" do owner "root" group "root" - mode 0o644 + mode "644" content YAML.dump(netplan) end @@ -177,13 +181,22 @@ package "cloud-init" do action :purge end -hostname node[:networking][:hostname] +ohai "reload-hostname" do + action :nothing + plugin "hostname" +end + +execute "hostnamectl-set-hostname" do + command "hostnamectl set-hostname #{node[:networking][:hostname]}" + notifies :reload, "ohai[reload-hostname]" + not_if { ENV.key?("TEST_KITCHEN") || node[:hostnamectl][:static_hostname] == node[:networking][:hostname] } +end template "/etc/hosts" do source "hosts.erb" owner "root" group "root" - mode 0o644 + mode "644" not_if { ENV["TEST_KITCHEN"] } end @@ -194,14 +207,14 @@ end directory "/etc/systemd/resolved.conf.d" do owner "root" group "root" - mode 0o755 + mode "755" end template "/etc/systemd/resolved.conf.d/99-chef.conf" do source "resolved.conf.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[systemd-resolved]", :immediately end @@ -275,7 +288,7 @@ template "/etc/default/shorewall" do source "shorewall-default.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall]" end @@ -283,7 +296,7 @@ template "/etc/shorewall/shorewall.conf" do source "shorewall.conf.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall]" end @@ -291,7 +304,7 @@ template "/etc/shorewall/zones" do source "shorewall-zones.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :type => "ipv4" notifies :restart, "service[shorewall]" end @@ -300,7 +313,7 @@ template "/etc/shorewall/interfaces" do source "shorewall-interfaces.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall]" end @@ -308,7 +321,7 @@ template "/etc/shorewall/hosts" do source "shorewall-hosts.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :zones => zones notifies :restart, "service[shorewall]" end @@ -317,7 +330,7 @@ template "/etc/shorewall/conntrack" do source "shorewall-conntrack.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall]" only_if { node[:networking][:firewall][:raw] } end @@ -326,7 +339,7 @@ template "/etc/shorewall/policy" do source "shorewall-policy.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall]" end @@ -334,7 +347,7 @@ template "/etc/shorewall/rules" do source "shorewall-rules.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :family => "inet" notifies :restart, "service[shorewall]" end @@ -349,7 +362,7 @@ template "/etc/logrotate.d/shorewall" do source "logrotate.shorewall.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :name => "shorewall" end @@ -379,7 +392,7 @@ if node[:roles].include?("gateway") source "shorewall-masq.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall]" end else @@ -396,7 +409,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall-default.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall6]" end @@ -404,7 +417,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall6.conf.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall6]" end @@ -412,7 +425,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall-zones.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :type => "ipv6" notifies :restart, "service[shorewall6]" end @@ -421,7 +434,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall6-interfaces.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall6]" end @@ -429,7 +442,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall6-hosts.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :zones => zones notifies :restart, "service[shorewall6]" end @@ -438,7 +451,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall-conntrack.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall6]" only_if { node[:networking][:firewall][:raw] } end @@ -447,7 +460,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall-policy.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[shorewall6]" end @@ -455,7 +468,7 @@ unless node.interfaces(:family => :inet6).empty? source "shorewall-rules.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :family => "inet6" notifies :restart, "service[shorewall6]" end @@ -470,7 +483,7 @@ unless node.interfaces(:family => :inet6).empty? source "logrotate.shorewall.erb" owner "root" group "root" - mode 0o644 + mode "644" variables :name => "shorewall6" end