X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/df2765f59711e4b6ca7d68d4573d4fdad09841d6..d363ec8dba3f46f1f63a469705268c3a7d763c6a:/cookbooks/networking/recipes/default.rb diff --git a/cookbooks/networking/recipes/default.rb b/cookbooks/networking/recipes/default.rb index 4e496439b..5c73c5cc3 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] @@ -177,8 +181,15 @@ package "cloud-init" do action :purge end -hostname node[:networking][:hostname] do - ipaddress nil +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