From: Tom Hughes Date: Sat, 18 Mar 2023 11:02:29 +0000 (+0000) Subject: Merge interface families X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/2835205c501da417ff80ce4f06dc32d14c8c38bb Merge interface families Merge separate IPv4 and IPv6 interface definitions into a single definition with two sets of addresses. --- diff --git a/.kitchen.yml b/.kitchen.yml index 8f0c0fc41..ca4895b68 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -97,9 +97,10 @@ suites: test: interface: eth0 role: internal - address: 172.18.0.2 - prefix: 16 - gateway: 172.18.0.1 + inet: + address: 172.18.0.2 + prefix: 16 + gateway: 172.18.0.1 roles: external: zone: test @@ -153,7 +154,9 @@ suites: interfaces: test: role: external - address: 172.18.0.2 + inet: + address: 172.18.0.2 + prefix: 16 - name: geoipupdate run_list: - recipe[geoipupdate::default] @@ -307,9 +310,10 @@ suites: test: interface: eth0 role: internal - address: 172.18.0.2 - prefix: 16 - gateway: 172.18.0.1 + inet: + address: 172.18.0.2 + prefix: 16 + gateway: 172.18.0.1 - name: prometheus-server run_list: - recipe[prometheus::server] diff --git a/cookbooks/apache/templates/default/info.conf.erb b/cookbooks/apache/templates/default/info.conf.erb index f983b9991..a8a303a9f 100644 --- a/cookbooks/apache/templates/default/info.conf.erb +++ b/cookbooks/apache/templates/default/info.conf.erb @@ -4,7 +4,7 @@ SetHandler server-info -<% node.ipaddresses do |address| -%> +<% node.ipaddresses.sort.each do |address| -%> Require ip <%= address %> <% end -%> Require ip 127.0.1.1 diff --git a/cookbooks/apache/templates/default/status.conf.erb b/cookbooks/apache/templates/default/status.conf.erb index 6b8b98ee7..f78aa9402 100644 --- a/cookbooks/apache/templates/default/status.conf.erb +++ b/cookbooks/apache/templates/default/status.conf.erb @@ -6,7 +6,7 @@ ExtendedStatus On SetHandler server-status -<% node.ipaddresses do |address| -%> +<% node.ipaddresses.sort.each do |address| -%> Require ip <%= address %> <% end -%> Require ip 127.0.1.1 diff --git a/cookbooks/dhcpd/templates/default/dhcpd.conf.erb b/cookbooks/dhcpd/templates/default/dhcpd.conf.erb index 9a33f8d6e..50ffd62d5 100644 --- a/cookbooks/dhcpd/templates/default/dhcpd.conf.erb +++ b/cookbooks/dhcpd/templates/default/dhcpd.conf.erb @@ -7,22 +7,21 @@ option TCode code 101 = text; default-lease-time 600; max-lease-time 7200; -<% node.interfaces(:role => :internal).each do |interface| -%> +<% node.ipaddresses(:role => :internal, :family => :inet).each do |address| -%> -subnet <%= interface[:network] %> netmask <%= interface[:netmask] %> { +subnet <%= address.network %> netmask <%= address.netmask %> { authoritative; range dynamic-bootp <%= node[:dhcpd][:first_address] %> <%= node[:dhcpd][:last_address] %>; - # option broadcast-address <%= interface[:broadcast] %>; - option routers <%= interface[:gateway] %>; + option routers <%= address.gateway %>; option domain-name "<%= @domain %>"; - option domain-name-servers <%= interface[:gateway] %>; + option domain-name-servers <%= address.gateway %>; option ntp-servers <%= node[:ntp][:servers].join(", ") %>; option time-offset 0; option PCode "UTC0"; option TCode "Etc/UTC"; - next-server <%= interface[:gateway] %>; + next-server <%= address.gateway %>; # See https://netboot.xyz/docs/docker/#dhcp-configurations if exists user-class and ( option user-class = "iPXE" ) { diff --git a/cookbooks/logstash/recipes/default.rb b/cookbooks/logstash/recipes/default.rb index e3261d0d1..126e12866 100644 --- a/cookbooks/logstash/recipes/default.rb +++ b/cookbooks/logstash/recipes/default.rb @@ -76,13 +76,13 @@ end forwarders = [] -forwarders << search(:node, "recipes:logstash\\:\\:forwarder").collect do |forwarder| - forwarder.ipaddresses(:role => :external) -end.flatten +search(:node, "recipes:logstash\\:\\:forwarder").each do |forwarder| + forwarders.append(forwarder.ipaddresses(:role => :external)) +end -forwarders << search(:node, "roles:gateway").collect do |forwarder| - forwarder.ipaddresses(:role => :external) -end.flatten +search(:node, "roles:gateway").each do |forwarder| + forwarders.append(forwarder.ipaddresses(:role => :external)) +end firewall_rule "accept-logstash" do action :accept diff --git a/cookbooks/networking/libraries/interfaces.rb b/cookbooks/networking/libraries/interfaces.rb index c2f170b9c..64aecdeca 100644 --- a/cookbooks/networking/libraries/interfaces.rb +++ b/cookbooks/networking/libraries/interfaces.rb @@ -1,23 +1,16 @@ -class Chef - class Node - def interfaces(options = {}, &block) - interfaces = [] +module OpenStreetMap + module Mixin + module Interfaces + def interfaces(role: nil) + networking = construct_attributes[:networking] || {} + networking_interfaces = networking[:interfaces] || {} - networking = construct_attributes[:networking] || {} - networking_interfaces = networking[:interfaces] || {} - - networking_interfaces.each_value do |interface| - next unless options[:role].nil? || interface[:role].to_s == options[:role].to_s - next unless options[:family].nil? || interface[:family].to_s == options[:family].to_s - - if block.nil? - interfaces << interface - else - yield interface + networking_interfaces.each_value.select do |interface| + role.nil? || interface[:role].to_s == role.to_s end end - - interfaces end end end + +Chef::Node.include(OpenStreetMap::Mixin::Interfaces) diff --git a/cookbooks/networking/libraries/ipaddresses.rb b/cookbooks/networking/libraries/ipaddresses.rb index 67c89d052..8efba26de 100644 --- a/cookbooks/networking/libraries/ipaddresses.rb +++ b/cookbooks/networking/libraries/ipaddresses.rb @@ -1,29 +1,47 @@ -class Chef - class Node - def ipaddresses(options = {}, &block) - addresses = [] +require "ipaddr" - interfaces(options).each do |interface| - address = interface[:public_address] || interface[:address] +module OpenStreetMap + module Mixin + module IPAddresses + class Address + attr_reader :address, :prefix, :gateway, :network, :netmask - next if address.nil? + def initialize(address) + @address = address[:public_address] || address[:address] + @prefix = address[:prefix] + @gateway = address[:gateway] - if block.nil? - addresses << address - else - yield address + ip = IPAddr.new(address[:address]).mask(address[:prefix]) + + @network = ip.to_s + @netmask = ip.netmask + end + + def to_s + address + end + + def subnet + "#{@network}/#{@prefix}" end end - addresses - end + def ipaddresses(role: nil, family: nil) + interfaces(:role => role).each_with_object([]) do |interface, addresses| + addresses << Address.new(interface[:inet]) if interface[:inet] && (family.nil? || family == :inet) + addresses << Address.new(interface[:inet6]) if interface[:inet6] && (family.nil? || family == :inet6) + end + end - def internal_ipaddress(options = {}) - ipaddresses(options.merge(:role => :internal)).first - end + def internal_ipaddress(family: nil) + ipaddresses(:role => :internal, :family => family).first + end - def external_ipaddress(options = {}) - ipaddresses(options.merge(:role => :external)).first + def external_ipaddress(family: nil) + ipaddresses(:role => :external, :family => family).first + end end end end + +Chef::Node.include(OpenStreetMap::Mixin::IPAddresses) diff --git a/cookbooks/networking/recipes/default.rb b/cookbooks/networking/recipes/default.rb index 5d7718508..a7006d436 100644 --- a/cookbooks/networking/recipes/default.rb +++ b/cookbooks/networking/recipes/default.rb @@ -40,23 +40,22 @@ netplan = { node[:networking][:interfaces].each do |name, interface| if interface[:interface] if interface[:role] && (role = node[:networking][:roles][interface[:role]]) - if role[interface[:family]] - node.default[:networking][:interfaces][name][:prefix] = role[interface[:family]][:prefix] - node.default[:networking][:interfaces][name][:gateway] = role[interface[:family]][:gateway] - node.default[:networking][:interfaces][name][:routes] = role[interface[:family]][:routes] + if interface[:inet] && role[:inet] + node.default[:networking][:interfaces][name][:inet][:prefix] = role[:inet][:prefix] + node.default[:networking][:interfaces][name][:inet][:gateway] = role[:inet][:gateway] + node.default[:networking][:interfaces][name][:inet][:routes] = role[:inet][:routes] + end + + if interface[:inet6] && role[:inet6] + node.default[:networking][:interfaces][name][:inet6][:prefix] = role[:inet6][:prefix] + node.default[:networking][:interfaces][name][:inet6][:gateway] = role[:inet6][:gateway] + node.default[:networking][:interfaces][name][:inet6][:routes] = role[:inet6][:routes] end node.default[:networking][:interfaces][name][:metric] = role[:metric] node.default[:networking][:interfaces][name][:zone] = role[:zone] end - if interface[:address] - prefix = node[:networking][:interfaces][name][:prefix] - - node.default[:networking][:interfaces][name][:netmask] = (~IPAddr.new(interface[:address]).mask(0)).mask(prefix) - node.default[:networking][:interfaces][name][:network] = IPAddr.new(interface[:address]).mask(prefix) - end - interface = node[:networking][:interfaces][name] deviceplan = if interface[:interface] =~ /^(.*)\.(\d+)$/ @@ -81,8 +80,12 @@ node[:networking][:interfaces].each do |name, interface| } end - if interface[:address] - deviceplan["addresses"].push("#{interface[:address]}/#{prefix}") + if interface[:inet] + deviceplan["addresses"].push("#{interface[:inet][:address]}/#{interface[:inet][:prefix]}") + end + + if interface[:inet6] + deviceplan["addresses"].push("#{interface[:inet6][:address]}/#{interface[:inet6][:prefix]}") end if interface[:mtu] @@ -104,49 +107,71 @@ node[:networking][:interfaces].each do |name, interface| deviceplan["parameters"]["lacp-rate"] = interface[:bond][:lacprate] if interface[:bond][:lacprate] end - if interface[:gateway] && interface[:gateway] != interface[:address] - if interface[:family] == "inet" - default_route = "0.0.0.0/0" - elsif interface[:family] == "inet6" - default_route = "::/0" + if interface[:inet] + if interface[:inet][:gateway] && interface[:inet][:gateway] != interface[:inet][:address] + deviceplan["routes"].push( + "to" => "0.0.0.0/0", + "via" => interface[:inet][:gateway], + "metric" => interface[:metric], + "on-link" => true + ) + end + + if interface[:inet][:routes] + interface[:inet][:routes].each do |to, parameters| + next if parameters[:via] == interface[:inet][:address] + + route = { + "to" => to + } + + route["type"] = parameters[:type] if parameters[:type] + route["via"] = parameters[:via] if parameters[:via] + route["metric"] = parameters[:metric] if parameters[:metric] + + deviceplan["routes"].push(route) + end end + end - deviceplan["routes"].push( - "to" => default_route, - "via" => interface[:gateway], - "metric" => interface[:metric], - "on-link" => true - ) - - # This ordering relies on systemd-networkd adding routes - # in reverse order and will need moving before the previous - # route once that is fixed: - # - # https://github.com/systemd/systemd/issues/5430 - # https://github.com/systemd/systemd/pull/10938 - if interface[:family] == "inet6" && - !interface[:network].include?(interface[:gateway]) && - !IPAddr.new("fe80::/64").include?(interface[:gateway]) + if interface[:inet6] + if interface[:inet6][:gateway] && interface[:inet6][:gateway] != interface[:inet6][:address] deviceplan["routes"].push( - "to" => interface[:gateway], - "scope" => "link" + "to" => "::/0", + "via" => interface[:inet6][:gateway], + "metric" => interface[:metric], + "on-link" => true ) + + # This ordering relies on systemd-networkd adding routes + # in reverse order and will need moving before the previous + # route once that is fixed: + # + # https://github.com/systemd/systemd/issues/5430 + # https://github.com/systemd/systemd/pull/10938 + if !IPAddr.new(interface[:inet6][:address]).mask(interface[:inet6][:prefix]).include?(interface[:inet6][:gateway]) && + !IPAddr.new("fe80::/64").include?(interface[:inet6][:gateway]) + deviceplan["routes"].push( + "to" => interface[:inet6][:gateway], + "scope" => "link" + ) + end end - end - if interface[:routes] - interface[:routes].each do |to, parameters| - next if parameters[:via] == interface[:address] + if interface[:inet6][:routes] + interface[:inet6][:routes].each do |to, parameters| + next if parameters[:via] == interface[:inet6][:address] - route = { - "to" => to - } + route = { + "to" => to + } - route["type"] = parameters[:type] if parameters[:type] - route["via"] = parameters[:via] if parameters[:via] - route["metric"] = parameters[:metric] if parameters[:metric] + route["type"] = parameters[:type] if parameters[:type] + route["via"] = parameters[:via] if parameters[:via] + route["metric"] = parameters[:metric] if parameters[:metric] - deviceplan["routes"].push(route) + deviceplan["routes"].push(route) + end end end else @@ -230,9 +255,7 @@ if node[:networking][:wireguard][:enabled] next if gateway.name == node.name next unless gateway[:networking][:wireguard] && gateway[:networking][:wireguard][:enabled] - allowed_ips = gateway.interfaces(:role => :internal).map do |interface| - "#{interface[:network]}/#{interface[:prefix]}" - end + allowed_ips = gateway.ipaddresses(:role => :internal).map(&:subnet) node.default[:networking][:wireguard][:peers] << { :public_key => gateway[:networking][:wireguard][:public_key], @@ -242,9 +265,7 @@ if node[:networking][:wireguard][:enabled] end search(:node, "roles:prometheus") do |server| - allowed_ips = server.interfaces(:role => :internal).map do |interface| - "#{interface[:network]}/#{interface[:prefix]}" - end + allowed_ips = server.ipaddresses(:role => :internal).map(&:subnet) if server[:networking][:private_address] allowed_ips << "#{server[:networking][:private_address]}/32" @@ -278,9 +299,7 @@ if node[:networking][:wireguard][:enabled] } elsif node[:roles].include?("shenron") search(:node, "roles:gateway") do |gateway| - allowed_ips = gateway.interfaces(:role => :internal).map do |interface| - "#{interface[:network]}/#{interface[:prefix]}" - end + allowed_ips = gateway.ipaddresses(:role => :internal).map(&:subnet) node.default[:networking][:wireguard][:peers] << { :public_key => gateway[:networking][:wireguard][:public_key], @@ -383,7 +402,7 @@ link "/etc/resolv.conf" do to "../run/systemd/resolve/stub-resolv.conf" end -hosts = { "inet" => [], "inet6" => [] } +hosts = { :inet => [], :inet6 => [] } search(:node, "networking:interfaces").collect do |n| next if n[:fqdn] == node[:fqdn] @@ -391,7 +410,8 @@ search(:node, "networking:interfaces").collect do |n| n.interfaces.each do |interface| next unless interface[:role] == "external" - hosts[interface[:family]] << interface[:address] + hosts[:inet] << interface[:inet][:address] if interface[:inet] + hosts[:inet6] << interface[:inet6][:address] if interface[:inet6] end end diff --git a/cookbooks/networking/templates/default/nftables.conf.erb b/cookbooks/networking/templates/default/nftables.conf.erb index 74d104fad..7273cff5e 100644 --- a/cookbooks/networking/templates/default/nftables.conf.erb +++ b/cookbooks/networking/templates/default/nftables.conf.erb @@ -12,15 +12,15 @@ define ip6-multicast-addresses = { ff00::/8 } table inet chef-filter { set ip-osm-addresses { type ipv4_addr -<% unless Array(@hosts["inet"]).empty? -%> - elements = { <%= Array(@hosts["inet"]).sort.join(", ") %> } +<% unless Array(@hosts[:inet]).empty? -%> + elements = { <%= Array(@hosts[:inet]).sort.join(", ") %> } <% end -%> } set ip6-osm-addresses { type ipv6_addr -<% unless Array(@hosts["inet"]).empty? -%> - elements = { <%= Array(@hosts["inet6"]).sort.join(", ") %> } +<% unless Array(@hosts[:inet6]).empty? -%> + elements = { <%= Array(@hosts[:inet6]).sort.join(", ") %> } <% end -%> } @@ -164,9 +164,9 @@ table ip chef-nat { chain postrouting { type nat hook postrouting priority srcnat; -<% node.interfaces(:role => :external, :family => :inet).each do |external| -%> -<% node.interfaces(:role => :internal, :family => :inet).each do |internal| -%> - oifname { <%= external[:interface] %> } ip saddr { <%= internal[:network] %>/<%= internal[:prefix] %> } snat <%= external[:address] %> +<% node.interfaces(:role => :external).each do |external| -%> +<% node.ipaddresses(:role => :internal, :family => :inet).each do |internal| -%> + oifname { <%= external[:interface] %> } ip saddr { <%= internal.subnet %> } snat <%= external[:inet][:address] %> <% end -%> <% end -%> } diff --git a/cookbooks/prometheus/recipes/server.rb b/cookbooks/prometheus/recipes/server.rb index ffc951e06..9066c2ec8 100644 --- a/cookbooks/prometheus/recipes/server.rb +++ b/cookbooks/prometheus/recipes/server.rb @@ -184,9 +184,7 @@ else end search(:node, "roles:gateway") do |gateway| - allowed_ips = gateway.interfaces(:role => :internal).map do |interface| - "#{interface[:network]}/#{interface[:prefix]}" - end + allowed_ips = gateway.ipaddresses(:role => :internal).map(&:subnet) node.default[:networking][:wireguard][:peers] << { :public_key => gateway[:networking][:wireguard][:public_key], diff --git a/cookbooks/prometheus/recipes/smokeping.rb b/cookbooks/prometheus/recipes/smokeping.rb index 4f9906d32..27b0c6dd6 100644 --- a/cookbooks/prometheus/recipes/smokeping.rb +++ b/cookbooks/prometheus/recipes/smokeping.rb @@ -25,8 +25,8 @@ ip6_hosts = [] search(:node, "networking:interfaces") do |host| next if host.name == node.name - ip4_hosts << host[:fqdn] unless host.interfaces(:role => :external, :family => :inet).empty? - ip6_hosts << host[:fqdn] unless host.interfaces(:role => :external, :family => :inet6).empty? + ip4_hosts << host[:fqdn] unless host.ipaddresses(:role => :external, :family => :inet).empty? + ip6_hosts << host[:fqdn] unless host.ipaddresses(:role => :external, :family => :inet6).empty? end template "/etc/prometheus/exporters/smokeping.yml" do diff --git a/cookbooks/prometheus/templates/default/chef.prom.erb b/cookbooks/prometheus/templates/default/chef.prom.erb index fd8089f4b..8d6506eae 100644 --- a/cookbooks/prometheus/templates/default/chef.prom.erb +++ b/cookbooks/prometheus/templates/default/chef.prom.erb @@ -1,7 +1,7 @@ # HELP chef_network_interface Information about network interfaces # TYPE chef_network_interface gauge -<% node.interfaces do |interface| -%> -chef_network_interface{name="<%= interface[:interface] %>",role="<%= interface[:role].to_s %>",family="<%= interface[:family].to_s %>"} 1 +<% node.interfaces.each do |interface| -%> +chef_network_interface{name="<%= interface[:interface] %>",role="<%= interface[:role].to_s %>"} 1 <% end -%> # HELP chef_role Information about chef roles # TYPE chef_role gauge diff --git a/roles/albi.rb b/roles/albi.rb index ea0a2a919..8608554e5 100644 --- a/roles/albi.rb +++ b/roles/albi.rb @@ -4,21 +4,19 @@ description "Master role applied to albi" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "enp1s0f0", :role => :external, - :family => :inet, - :address => "51.159.53.238", - :prefix => "24", - :gateway => "51.159.53.1" - }, - :external_ipv6 => { - :interface => "enp1s0f0", - :role => :external, - :family => :inet6, - :address => "2001:bc8:1200:4:dac4:97ff:fe8a:9cfc", - :prefix => "64", - :gateway => "fe80::a293:51ff:fea2:ded5" + :inet => { + :address => "51.159.53.238", + :prefix => "24", + :gateway => "51.159.53.1" + }, + :inet6 => { + :address => "2001:bc8:1200:4:dac4:97ff:fe8a:9cfc", + :prefix => "64", + :gateway => "fe80::a293:51ff:fea2:ded5" + } } } } diff --git a/roles/angor.rb b/roles/angor.rb index 6ae63081b..50a090194 100644 --- a/roles/angor.rb +++ b/roles/angor.rb @@ -4,21 +4,19 @@ description "Master role applied to angor" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eno1", :role => :external, - :family => :inet, - :address => "196.10.54.165", - :prefix => "29", - :gateway => "196.10.54.161" - }, - :external_ipv6 => { - :interface => "eno1", - :role => :external, - :family => :inet6, - :address => "2001:43f8:1f4:b00:b283:feff:fed8:dd45", - :prefix => "64", - :gateway => "2001:43f8:1f4:b00::1" + :inet => { + :address => "196.10.54.165", + :prefix => "29", + :gateway => "196.10.54.161" + }, + :inet6 => { + :address => "2001:43f8:1f4:b00:b283:feff:fed8:dd45", + :prefix => "64", + :gateway => "2001:43f8:1f4:b00::1" + } } } }, diff --git a/roles/ascalon.rb b/roles/ascalon.rb index d7b698e59..b00e22c5f 100644 --- a/roles/ascalon.rb +++ b/roles/ascalon.rb @@ -4,13 +4,14 @@ description "Master role applied to ascalon" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eno1", :role => :external, - :family => :inet, - :address => "184.107.48.228", - :prefix => "27", - :gateway => "184.107.48.225" + :inet => { + :address => "184.107.48.228", + :prefix => "27", + :gateway => "184.107.48.225" + } } } } diff --git a/roles/backup.rb b/roles/backup.rb index 3e1b44cf3..c67956e17 100644 --- a/roles/backup.rb +++ b/roles/backup.rb @@ -17,7 +17,7 @@ default_attributes( "193.60.236.0/24", # ucl external "10.0.48.0/20", # amsterdam internal "130.117.76.0/27", # amsterdam external - "2001:978:2:2C::172:0/112", # amsterdam external + "2001:978:2:2c::172:0/112", # amsterdam external "10.0.64.0/20", # dublin internal "184.104.226.96/27", # dublin external "2001:470:1:b3b::/64", # dublin external diff --git a/roles/balerion.rb b/roles/balerion.rb index 56b88cc39..ee5ca2be4 100644 --- a/roles/balerion.rb +++ b/roles/balerion.rb @@ -4,13 +4,14 @@ description "Master role applied to balerion" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "bond0", :role => :external, - :family => :inet, - :address => "138.44.68.134", - :prefix => "30", - :gateway => "138.44.68.133", + :inet => { + :address => "138.44.68.134", + :prefix => "30", + :gateway => "138.44.68.133" + }, :bond => { :slaves => %w[ens14f0np0 ens14f1np1] } diff --git a/roles/bowser.rb b/roles/bowser.rb index 1789c1096..a12c9887e 100644 --- a/roles/bowser.rb +++ b/roles/bowser.rb @@ -4,13 +4,14 @@ description "Master role applied to bowser" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "bond0", :role => :external, - :family => :inet, - :address => "138.44.68.106", - :prefix => "30", - :gateway => "138.44.68.105", + :inet => { + :address => "138.44.68.106", + :prefix => "30", + :gateway => "138.44.68.105" + }, :bond => { :slaves => %w[ens14f0np0 ens14f0np1] } diff --git a/roles/culebre.rb b/roles/culebre.rb index dd29fe29b..c956e456c 100644 --- a/roles/culebre.rb +++ b/roles/culebre.rb @@ -4,11 +4,12 @@ description "Master role applied to culebre" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.9", + :inet => { + :address => "10.0.64.9" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[enp68s0f0 enp68s0f1 enp68s0f2 enp68s0f3] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.105" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::9" + :inet => { + :address => "184.104.226.105" + }, + :inet6 => { + :address => "2001:470:1:b3b::9" + } } } }, diff --git a/roles/draco.rb b/roles/draco.rb index 536e33a63..662172a77 100644 --- a/roles/draco.rb +++ b/roles/draco.rb @@ -4,17 +4,19 @@ description "Master role applied to draco" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "enp3s0f0.2801", :role => :internal, - :family => :inet, - :address => "10.0.0.11" + :inet => { + :address => "10.0.0.11" + } }, - :external_ipv4 => { + :external => { :interface => "enp3s0f0.2800", :role => :external, - :family => :inet, - :address => "193.60.236.12" + :inet => { + :address => "193.60.236.12" + } } } } diff --git a/roles/dribble.rb b/roles/dribble.rb index 4611edced..75c28c4b6 100644 --- a/roles/dribble.rb +++ b/roles/dribble.rb @@ -4,11 +4,12 @@ description "Master role applied to dribble" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.4", + :inet => { + :address => "10.0.48.4" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno5 eno6] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.4" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:4" + :inet => { + :address => "130.117.76.4" + }, + :inet6 => { + :address => "2001:978:2:2c::172:4" + } } } } diff --git a/roles/drogon.rb b/roles/drogon.rb index 2152356dc..2f5921f2b 100644 --- a/roles/drogon.rb +++ b/roles/drogon.rb @@ -10,21 +10,19 @@ default_attributes( :location => "Osijek, Croatia", :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eth0", :role => :external, - :family => :inet, - :address => "161.53.30.107", - :prefix => "27", - :gateway => "161.53.30.97" - }, - :external_ipv6 => { - :interface => "eth0", - :role => :external, - :family => :inet6, - :address => "2001:b68:c0ff:0:221:5eff:fe40:c7c4", - :prefix => "64", - :gateway => "fe80::161:53:30:97" + :inet => { + :address => "161.53.30.107", + :prefix => "27", + :gateway => "161.53.30.97" + }, + :inet6 => { + :address => "2001:b68:c0ff:0:221:5eff:fe40:c7c4", + :prefix => "64", + :gateway => "fe80::161:53:30:97" + } } } } diff --git a/roles/dulcy.rb b/roles/dulcy.rb index bc2512881..5c067440a 100644 --- a/roles/dulcy.rb +++ b/roles/dulcy.rb @@ -4,11 +4,12 @@ description "Master role applied to dulcy" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.9", + :inet => { + :address => "10.0.48.9" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[ens18f0 ens18f1] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.9" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:9" + :inet => { + :address => "130.117.76.9" + }, + :inet6 => { + :address => "2001:978:2:2c::172:9" + } } } }, diff --git a/roles/eddie.rb b/roles/eddie.rb index 0dbe9dd0a..319be0b9d 100644 --- a/roles/eddie.rb +++ b/roles/eddie.rb @@ -4,11 +4,12 @@ description "Master role applied to eddie" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "enp1s0f0.2801", :role => :internal, - :family => :inet, - :address => "10.0.0.10" + :inet => { + :address => "10.0.0.10" + } } } }, diff --git a/roles/equinix-ams.rb b/roles/equinix-ams.rb index 19b106de3..ad835f890 100644 --- a/roles/equinix-ams.rb +++ b/roles/equinix-ams.rb @@ -21,7 +21,7 @@ default_attributes( }, :inet6 => { :prefix => "64", - :gateway => "2001:978:2:2C::172:1", + :gateway => "2001:978:2:2c::172:1", :routes => { "2001:470:1:b3b::/64" => { :type => "unreachable" }, "2001:978:2:2c::/64" => { :type => "unreachable" }, diff --git a/roles/faffy.rb b/roles/faffy.rb index c7b8170d2..9f0a83552 100644 --- a/roles/faffy.rb +++ b/roles/faffy.rb @@ -4,11 +4,12 @@ description "Master role applied to faffy" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.3", + :inet => { + :address => "10.0.48.3" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno5 eno6] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.3" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:3" + :inet => { + :address => "130.117.76.3" + }, + :inet6 => { + :address => "2001:978:2:2c::172:3" + } } } } diff --git a/roles/fafnir.rb b/roles/fafnir.rb index 2851687d4..58876af4b 100644 --- a/roles/fafnir.rb +++ b/roles/fafnir.rb @@ -17,11 +17,12 @@ default_attributes( }, :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.2", + :inet => { + :address => "10.0.64.2" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -29,17 +30,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.98" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::2" + :inet => { + :address => "184.104.226.98" + }, + :inet6 => { + :address => "2001:470:1:b3b::2" + } } } }, diff --git a/roles/firnen.rb b/roles/firnen.rb index eb7895c9b..9d8513f2e 100644 --- a/roles/firnen.rb +++ b/roles/firnen.rb @@ -4,13 +4,14 @@ description "Master role applied to firnen" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "enp6s0", :role => :external, - :family => :inet, - :address => "188.241.28.82", - :prefix => "29", - :gateway => "188.241.28.81" + :inet => { + :address => "188.241.28.82", + :prefix => "29", + :gateway => "188.241.28.81" + } } } } diff --git a/roles/gorwen.rb b/roles/gorwen.rb index 3f9a1f328..c10c6a73d 100644 --- a/roles/gorwen.rb +++ b/roles/gorwen.rb @@ -4,11 +4,12 @@ description "Master role applied to gorwen" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.11", + :inet => { + :address => "10.0.64.11" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 ens1f0 ens1f1] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.107" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::b" + :inet => { + :address => "184.104.226.107" + }, + :inet6 => { + :address => "2001:470:1:b3b::b" + } } } } diff --git a/roles/grindtooth.rb b/roles/grindtooth.rb index 349cc2627..d504a189f 100644 --- a/roles/grindtooth.rb +++ b/roles/grindtooth.rb @@ -4,17 +4,19 @@ description "Master role applied to grindtooth" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "enp3s0f0.2801", :role => :internal, - :family => :inet, - :address => "10.0.0.19" + :inet => { + :address => "10.0.0.19" + } }, - :external_ipv4 => { + :external => { :interface => "enp3s0f0.2800", :role => :external, - :family => :inet, - :address => "193.60.236.15" + :inet => { + :address => "193.60.236.15" + } } } } diff --git a/roles/horntail.rb b/roles/horntail.rb index a4073e988..afaf9460d 100644 --- a/roles/horntail.rb +++ b/roles/horntail.rb @@ -4,11 +4,12 @@ description "Master role applied to horntail" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.10", + :inet => { + :address => "10.0.64.10" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[enp25s0f0 enp25s0f1] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.106" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::a" + :inet => { + :address => "184.104.226.106" + }, + :inet6 => { + :address => "2001:470:1:b3b::a" + } } } } diff --git a/roles/idris.rb b/roles/idris.rb index 276d45ae7..394696cb7 100644 --- a/roles/idris.rb +++ b/roles/idris.rb @@ -4,11 +4,12 @@ description "Master role applied to idris" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.6", + :inet => { + :address => "10.0.64.6" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.102" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::6" + :inet => { + :address => "184.104.226.102" + }, + :inet6 => { + :address => "2001:470:1:b3b::6" + } } } } diff --git a/roles/ironbelly.rb b/roles/ironbelly.rb index e4ea23262..ebde9a26a 100644 --- a/roles/ironbelly.rb +++ b/roles/ironbelly.rb @@ -26,11 +26,12 @@ default_attributes( }, :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.10", + :inet => { + :address => "10.0.48.10" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -38,17 +39,15 @@ default_attributes( :slaves => %w[eth0 eth1] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.10" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:A" + :inet => { + :address => "130.117.76.10" + }, + :inet6 => { + :address => "2001:978:2:2c::172:a" + } } } }, @@ -80,7 +79,7 @@ default_attributes( "193.60.236.0/24", # ucl external "10.0.48.0/20", # amsterdam internal "130.117.76.0/27", # amsterdam external - "2001:978:2:2C::172:0/112", # amsterdam external + "2001:978:2:2c::172:0/112", # amsterdam external "10.0.64.0/20", # dublin internal "184.104.226.96/27", # dublin external "2001:470:1:b3b::/64", # dublin external diff --git a/roles/jakelong.rb b/roles/jakelong.rb index e2e54bd45..1f92c87df 100644 --- a/roles/jakelong.rb +++ b/roles/jakelong.rb @@ -8,11 +8,12 @@ default_attributes( }, :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.12", + :inet => { + :address => "10.0.64.12" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -20,17 +21,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 ens1f0 ens1f1] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.108" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::c" + :inet => { + :address => "184.104.226.108" + }, + :inet6 => { + :address => "2001:470:1:b3b::c" + } } } } diff --git a/roles/karm.rb b/roles/karm.rb index 675a210cf..cc3a425b9 100644 --- a/roles/karm.rb +++ b/roles/karm.rb @@ -4,11 +4,12 @@ description "Master role applied to karm" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.50", + :inet => { + :address => "10.0.48.50" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", diff --git a/roles/kessie.rb b/roles/kessie.rb index 5a3ff94b5..3af961307 100644 --- a/roles/kessie.rb +++ b/roles/kessie.rb @@ -22,19 +22,15 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "enp2s0f0", :role => :external, - :family => :inet, - :address => "178.250.74.36", - :hwaddress => "d8:d3:85:5d:87:5e" - }, - :external_ipv6 => { - :interface => "enp2s0f0", - :role => :external, - :family => :inet6, - :address => "2a02:1658:4:0:dad3:85ff:fe5d:875e", - :hwaddress => "d8:d3:85:5d:87:5e" + :inet => { + :address => "178.250.74.36" + }, + :inet6 => { + :address => "2a02:1658:4:0:dad3:85ff:fe5d:875e" + } } } } diff --git a/roles/konqi.rb b/roles/konqi.rb index a4fc736b7..b23841de2 100644 --- a/roles/konqi.rb +++ b/roles/konqi.rb @@ -4,11 +4,12 @@ description "Master role applied to konqi" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.7", + :inet => { + :address => "10.0.64.7" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.103" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::7" + :inet => { + :address => "184.104.226.103" + }, + :inet6 => { + :address => "2001:470:1:b3b::7" + } } } } diff --git a/roles/longma.rb b/roles/longma.rb index 14a634c9c..23ce9dafb 100644 --- a/roles/longma.rb +++ b/roles/longma.rb @@ -4,11 +4,12 @@ description "Master role applied to longma" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.13", + :inet => { + :address => "10.0.64.13" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[enp68s0f0 enp68s0f1 enp68s0f2 enp68s0f3] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.109" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::d" + :inet => { + :address => "184.104.226.109" + }, + :inet6 => { + :address => "2001:470:1:b3b::d" + } } } }, diff --git a/roles/meraxes.rb b/roles/meraxes.rb index 612344407..3fee32b31 100644 --- a/roles/meraxes.rb +++ b/roles/meraxes.rb @@ -4,21 +4,19 @@ description "Master role applied to meraxes" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "enp1s0f0", :role => :external, - :family => :inet, - :address => "51.15.185.90", - :prefix => "24", - :gateway => "51.15.185.1" - }, - :external_ipv6 => { - :interface => "enp1s0f0", - :role => :external, - :family => :inet6, - :address => "2001:bc8:2d57:100:aa1e:84ff:fe72:e660", - :prefix => "48", - :gateway => "2001:bc8:2::2:258:1" + :inet => { + :address => "51.15.185.90", + :prefix => "24", + :gateway => "51.15.185.1" + }, + :inet6 => { + :address => "2001:bc8:2d57:100:aa1e:84ff:fe72:e660", + :prefix => "48", + :gateway => "2001:bc8:2::2:258:1" + } } } } diff --git a/roles/muirdris.rb b/roles/muirdris.rb index 38ef43f3a..81cb63953 100644 --- a/roles/muirdris.rb +++ b/roles/muirdris.rb @@ -7,11 +7,12 @@ default_attributes( }, :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.15", + :inet => { + :address => "10.0.64.15" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -19,17 +20,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno5 eno6] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.111" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::f" + :inet => { + :address => "184.104.226.111" + }, + :inet6 => { + :address => "2001:470:1:b3b::f" + } } } } diff --git a/roles/naga.rb b/roles/naga.rb index c9b7e00c4..ab310808a 100644 --- a/roles/naga.rb +++ b/roles/naga.rb @@ -4,11 +4,12 @@ description "Master role applied to naga" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.8", + :inet => { + :address => "10.0.64.8" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.104" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::8" + :inet => { + :address => "184.104.226.104" + }, + :inet6 => { + :address => "2001:470:1:b3b::8" + } } } } diff --git a/roles/necrosan.rb b/roles/necrosan.rb index 311246469..c113f451a 100644 --- a/roles/necrosan.rb +++ b/roles/necrosan.rb @@ -4,27 +4,25 @@ description "Master role applied to necrosan" default_attributes( :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "bond0", :mtu => 9000, :role => :external, - :family => :inet, - :address => "45.85.134.91", - :prefix => "31", - :gateway => "45.85.134.90", + :inet => { + :address => "45.85.134.91", + :prefix => "31", + :gateway => "45.85.134.90" + }, + :inet6 => { + :address => "2a05:46c0:100:1004:ffff:ffff:ffff:ffff", + :prefix => "64", + :gateway => "2a05:46c0:100:1004::" + }, :bond => { :slaves => %w[eno1 eno2], :mode => "802.3ad", :lacprate => "fast" } - }, - :external_ipv6 => { - :interface => "bond0", - :role => :external, - :family => :inet6, - :address => "2a05:46c0:100:1004:ffff:ffff:ffff:ffff", - :prefix => "64", - :gateway => "2a05:46c0:100:1004::" } } }, diff --git a/roles/nepomuk.rb b/roles/nepomuk.rb index f57f73921..474a43e83 100644 --- a/roles/nepomuk.rb +++ b/roles/nepomuk.rb @@ -9,21 +9,19 @@ default_attributes( ] }, :interfaces => { - :external_ipv4 => { + :external => { :interface => "eth0", :role => :external, - :family => :inet, - :address => "77.95.65.39", - :prefix => "27", - :gateway => "77.95.65.33" - }, - :external_ipv6 => { - :interface => "eth0", - :role => :external, - :family => :inet6, - :address => "2a03:9180:0:100::7", - :prefix => "64", - :gateway => "2a03:9180:0:100::1" + :inet => { + :address => "77.95.65.39", + :prefix => "27", + :gateway => "77.95.65.33" + }, + :inet6 => { + :address => "2a03:9180:0:100::7", + :prefix => "64", + :gateway => "2a03:9180:0:100::1" + } } } }, diff --git a/roles/nidhogg.rb b/roles/nidhogg.rb index a59cfad38..19535d2de 100644 --- a/roles/nidhogg.rb +++ b/roles/nidhogg.rb @@ -4,27 +4,25 @@ description "Master role applied to nidhogg" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :external => { :interface => "bond0", :role => :external, - :family => :inet, - :address => "194.71.11.111", - :prefix => "25", - :gateway => "194.71.11.1", + :inet => { + :address => "194.71.11.111", + :prefix => "25", + :gateway => "194.71.11.1" + }, + :inet6 => { + :address => "2001:6b0:19:2::111", + :prefix => "64", + :gateway => "2001:6b0:19:2::1" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", :xmithashpolicy => "layer3+4", :slaves => %w[enp68s0f0 enp68s0f1 enp68s0f2 enp68s0f3] } - }, - :external_ipv6 => { - :interface => "bond0", - :role => :external, - :family => :inet6, - :address => "2001:6b0:19:2::111", - :prefix => "64", - :gateway => "2001:6b0:19:2::1" } } }, diff --git a/roles/norbert.rb b/roles/norbert.rb index ae57f844b..9985bbda3 100644 --- a/roles/norbert.rb +++ b/roles/norbert.rb @@ -4,11 +4,12 @@ description "Master role applied to norbert" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.17", + :inet => { + :address => "10.0.48.17" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,19 +17,16 @@ default_attributes( :slaves => %w[enp25s0f0 enp25s0f1] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.17" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:11" + :inet => { + :address => "130.117.76.17" + }, + :inet6 => { + :address => "2001:978:2:2c::172:11" + } } - } }, :planet => { diff --git a/roles/odin.rb b/roles/odin.rb index abce74926..a7f836e18 100644 --- a/roles/odin.rb +++ b/roles/odin.rb @@ -4,11 +4,12 @@ description "Master role applied to odin" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.15", + :inet => { + :address => "10.0.48.15" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.15" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:F" + :inet => { + :address => "130.117.76.15" + }, + :inet6 => { + :address => "2001:978:2:2c::172:f" + } } } }, diff --git a/roles/palulukon.rb b/roles/palulukon.rb index 4826bafaa..0a1adf68f 100644 --- a/roles/palulukon.rb +++ b/roles/palulukon.rb @@ -7,14 +7,15 @@ default_attributes( :allowlist => ["172.31.0.2"] }, :interfaces => { - :external_ipv4 => { + :external => { :interface => "ens5", :role => :external, - :family => :inet, - :address => "172.31.37.101", - :prefix => "20", - :gateway => "172.31.32.1", - :public_address => "3.144.0.72" + :inet => { + :address => "172.31.37.101", + :prefix => "20", + :gateway => "172.31.32.1", + :public_address => "3.144.0.72" + } } } }, diff --git a/roles/pyrene.rb b/roles/pyrene.rb index a004062b3..1b211f033 100644 --- a/roles/pyrene.rb +++ b/roles/pyrene.rb @@ -22,17 +22,15 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eno1", :role => :external, - :family => :inet, - :address => "140.211.167.98" - }, - :external_ipv6 => { - :interface => "eno1", - :role => :external, - :family => :inet6, - :address => "2605:bc80:3010:700::8cd3:a762" + :inet => { + :address => "140.211.167.98" + }, + :inet6 => { + :address => "2605:bc80:3010:700::8cd3:a762" + } } } }, diff --git a/roles/rhaegal.rb b/roles/rhaegal.rb index 6aafb5d33..a16c9e721 100644 --- a/roles/rhaegal.rb +++ b/roles/rhaegal.rb @@ -28,14 +28,15 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eno1", :role => :external, - :family => :inet, - :address => "10.5.0.77", - :prefix => "16", - :gateway => "10.5.0.1", - :public_address => "161.53.248.77" + :inet => { + :address => "10.5.0.77", + :prefix => "16", + :gateway => "10.5.0.1", + :public_address => "161.53.248.77" + } } } } diff --git a/roles/ridley.rb b/roles/ridley.rb index 804aace16..60ebf295c 100644 --- a/roles/ridley.rb +++ b/roles/ridley.rb @@ -18,17 +18,19 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eth0.2800", :role => :external, - :family => :inet, - :address => "193.60.236.19" + :inet => { + :address => "193.60.236.19" + } }, - :internal_ipv4 => { + :internal => { :interface => "eth0.2801", :role => :internal, - :family => :inet, - :address => "10.0.0.3" + :inet => { + :address => "10.0.0.3" + } } } } diff --git a/roles/scorch.rb b/roles/scorch.rb index 86c38424e..0649374f4 100644 --- a/roles/scorch.rb +++ b/roles/scorch.rb @@ -17,21 +17,19 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eth0", :role => :external, - :family => :inet, - :address => "176.31.235.79", - :prefix => "24", - :gateway => "176.31.235.254" - }, - :external_ipv6 => { - :interface => "eth0", - :role => :external, - :family => :inet6, - :address => "2001:41d0:2:fc4f::1", - :prefix => "64", - :gateway => "2001:41d0:2:fcff:ff:ff:ff:ff" + :inet => { + :address => "176.31.235.79", + :prefix => "24", + :gateway => "176.31.235.254" + }, + :inet6 => { + :address => "2001:41d0:2:fc4f::1", + :prefix => "64", + :gateway => "2001:41d0:2:fcff:ff:ff:ff:ff" + } } } } diff --git a/roles/shenron.rb b/roles/shenron.rb index 56e2a3ed3..b2277551f 100644 --- a/roles/shenron.rb +++ b/roles/shenron.rb @@ -25,21 +25,19 @@ override_attributes( :networking => { :dnssec => "false", :interfaces => { - :external_ipv4 => { + :external => { :interface => "eth0", :role => :external, - :family => :inet, - :address => "212.110.172.32", - :prefix => "26", - :gateway => "212.110.172.1" - }, - :external_ipv6 => { - :interface => "eth0", - :role => :external, - :family => :inet6, - :address => "2001:41c9:1:400::32", - :prefix => "64", - :gateway => "fe80::1" + :inet => { + :address => "212.110.172.32", + :prefix => "26", + :gateway => "212.110.172.1" + }, + :inet6 => { + :address => "2001:41c9:1:400::32", + :prefix => "64", + :gateway => "fe80::1" + } } } } diff --git a/roles/smaug.rb b/roles/smaug.rb index 547143452..fd7474714 100644 --- a/roles/smaug.rb +++ b/roles/smaug.rb @@ -4,11 +4,12 @@ description "Master role applied to smaug" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.14", + :inet => { + :address => "10.0.64.14" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno5 eno6] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.110" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::e" + :inet => { + :address => "184.104.226.110" + }, + :inet6 => { + :address => "2001:470:1:b3b::e" + } } } } diff --git a/roles/snap-01.rb b/roles/snap-01.rb index db9b16e74..15db38629 100644 --- a/roles/snap-01.rb +++ b/roles/snap-01.rb @@ -4,11 +4,12 @@ description "Master role applied to snap-01" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.49", + :inet => { + :address => "10.0.48.49" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", diff --git a/roles/snap-02.rb b/roles/snap-02.rb index 68186bf07..8dc70a658 100644 --- a/roles/snap-02.rb +++ b/roles/snap-02.rb @@ -4,11 +4,12 @@ description "Master role applied to snap-02" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "eno1.2801", :role => :internal, - :family => :inet, - :address => "10.0.0.4" + :inet => { + :address => "10.0.0.4" + } } } }, diff --git a/roles/snap-03.rb b/roles/snap-03.rb index 822cb5f63..3bae5690c 100644 --- a/roles/snap-03.rb +++ b/roles/snap-03.rb @@ -4,11 +4,12 @@ description "Master role applied to snap-03" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.50", + :inet => { + :address => "10.0.64.50" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", diff --git a/roles/spike-01.rb b/roles/spike-01.rb index 14f5b3e50..5f048e341 100644 --- a/roles/spike-01.rb +++ b/roles/spike-01.rb @@ -4,11 +4,12 @@ description "Master role applied to spike-01" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.3", + :inet => { + :address => "10.0.64.3" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.99" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::3" + :inet => { + :address => "184.104.226.99" + }, + :inet6 => { + :address => "2001:470:1:b3b::3" + } } } } diff --git a/roles/spike-02.rb b/roles/spike-02.rb index 2c565f1e3..dfded54c3 100644 --- a/roles/spike-02.rb +++ b/roles/spike-02.rb @@ -4,11 +4,12 @@ description "Master role applied to spike-02" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.4", + :inet => { + :address => "10.0.64.4" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.100" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::4" + :inet => { + :address => "184.104.226.100" + }, + :inet6 => { + :address => "2001:470:1:b3b::4" + } } } } diff --git a/roles/spike-03.rb b/roles/spike-03.rb index c9bd54691..f2803fc23 100644 --- a/roles/spike-03.rb +++ b/roles/spike-03.rb @@ -4,11 +4,12 @@ description "Master role applied to spike-03" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.64.5", + :inet => { + :address => "10.0.64.5" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } }, - :external_ipv4 => { + :external => { :interface => "bond0.101", :role => :external, - :family => :inet, - :address => "184.104.226.101" - }, - :external_ipv6 => { - :interface => "bond0.101", - :role => :external, - :family => :inet6, - :address => "2001:470:1:b3b::5" + :inet => { + :address => "184.104.226.101" + }, + :inet6 => { + :address => "2001:470:1:b3b::5" + } } } } diff --git a/roles/spike-06.rb b/roles/spike-06.rb index 50379928c..2e93f41a0 100644 --- a/roles/spike-06.rb +++ b/roles/spike-06.rb @@ -4,11 +4,12 @@ description "Master role applied to spike-06" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.11", + :inet => { + :address => "10.0.48.11" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.11" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:B" + :inet => { + :address => "130.117.76.11" + }, + :inet6 => { + :address => "2001:978:2:2c::172:b" + } } } } diff --git a/roles/spike-07.rb b/roles/spike-07.rb index 0e852a9d5..dc2a449d3 100644 --- a/roles/spike-07.rb +++ b/roles/spike-07.rb @@ -4,11 +4,12 @@ description "Master role applied to spike-07" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.12", + :inet => { + :address => "10.0.48.12" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.12" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:C" + :inet => { + :address => "130.117.76.12" + }, + :inet6 => { + :address => "2001:978:2:2c::172:c" + } } } } diff --git a/roles/spike-08.rb b/roles/spike-08.rb index 823fd9e08..836c0f41b 100644 --- a/roles/spike-08.rb +++ b/roles/spike-08.rb @@ -4,11 +4,12 @@ description "Master role applied to spike-08" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.13", + :inet => { + :address => "10.0.48.13" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.13" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:D" + :inet => { + :address => "130.117.76.13" + }, + :inet6 => { + :address => "2001:978:2:2c::172:d" + } } } } diff --git a/roles/stormfly-03.rb b/roles/stormfly-03.rb index e5ac28ffc..5b60d18b0 100644 --- a/roles/stormfly-03.rb +++ b/roles/stormfly-03.rb @@ -42,20 +42,18 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "bond0", :role => :external, - :family => :inet, - :address => "140.211.167.99", + :inet => { + :address => "140.211.167.99" + }, + :inet6 => { + :address => "2605:bc80:3010:700::8cd3:a763" + }, :bond => { :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } - }, - :external_ipv6 => { - :interface => "bond0", - :role => :external, - :family => :inet6, - :address => "2605:bc80:3010:700::8cd3:a763" } }, :private_address => "10.0.16.200" diff --git a/roles/stormfly-04.rb b/roles/stormfly-04.rb index ade67133a..d16d09fa1 100644 --- a/roles/stormfly-04.rb +++ b/roles/stormfly-04.rb @@ -7,20 +7,18 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "bond0", :role => :external, - :family => :inet, - :address => "140.211.167.100", + :inet => { + :address => "140.211.167.100" + }, + :inet6 => { + :address => "2605:bc80:3010:700::8cd3:a764" + }, :bond => { :slaves => %w[eno1 eno2 eno3 eno4 eno49 eno50] } - }, - :external_ipv6 => { - :interface => "bond0", - :role => :external, - :family => :inet6, - :address => "2605:bc80:3010:700::8cd3:a764" } } }, diff --git a/roles/tabaluga.rb b/roles/tabaluga.rb index 2fde5ad8e..3293268ed 100644 --- a/roles/tabaluga.rb +++ b/roles/tabaluga.rb @@ -8,11 +8,12 @@ default_attributes( }, :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.14", + :inet => { + :address => "10.0.48.14" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -20,17 +21,15 @@ default_attributes( :slaves => %w[eno1 eno2] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.14" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:E" + :inet => { + :address => "130.117.76.14" + }, + :inet6 => { + :address => "2001:978:2:2c::172:e" + } } } } diff --git a/roles/vhagar.rb b/roles/vhagar.rb index cc431679a..304b212db 100644 --- a/roles/vhagar.rb +++ b/roles/vhagar.rb @@ -4,11 +4,12 @@ description "Master role applied to vhagar" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "bond0", :role => :internal, - :family => :inet, - :address => "10.0.48.5", + :inet => { + :address => "10.0.48.5" + }, :bond => { :mode => "802.3ad", :lacprate => "fast", @@ -16,17 +17,15 @@ default_attributes( :slaves => %w[eno1 eno2 eno3 eno4 eno5 eno6] } }, - :external_ipv4 => { + :external => { :interface => "bond0.2", :role => :external, - :family => :inet, - :address => "130.117.76.5" - }, - :external_ipv6 => { - :interface => "bond0.2", - :role => :external, - :family => :inet6, - :address => "2001:978:2:2C::172:5" + :inet => { + :address => "130.117.76.5" + }, + :inet6 => { + :address => "2001:978:2:2c::172:5" + } } } }, diff --git a/roles/viserion.rb b/roles/viserion.rb index a95192902..0b343f691 100644 --- a/roles/viserion.rb +++ b/roles/viserion.rb @@ -13,21 +13,19 @@ default_attributes( }, :networking => { :interfaces => { - :external_ipv4 => { + :external => { :interface => "eth0", :role => :external, - :family => :inet, - :address => "193.198.233.211", - :prefix => "29", - :gateway => "193.198.233.209" - }, - :external_ipv6 => { - :interface => "eth0", - :role => :external, - :family => :inet6, - :address => "2001:b68:4cff:3::3", - :prefix => "64", - :gateway => "2001:b68:4cff:3::1" + :inet => { + :address => "193.198.233.211", + :prefix => "29", + :gateway => "193.198.233.209" + }, + :inet6 => { + :address => "2001:b68:4cff:3::3", + :prefix => "64", + :gateway => "2001:b68:4cff:3::1" + } } } } diff --git a/roles/ysera.rb b/roles/ysera.rb index 703f09ece..f00192ac0 100644 --- a/roles/ysera.rb +++ b/roles/ysera.rb @@ -4,17 +4,19 @@ description "Master role applied to ysera" default_attributes( :networking => { :interfaces => { - :internal_ipv4 => { + :internal => { :interface => "eno1.2801", :role => :internal, - :family => :inet, - :address => "10.0.0.15" + :inet => { + :address => "10.0.0.15" + } }, - :external_ipv4 => { + :external => { :interface => "eno1.2800", :role => :external, - :family => :inet, - :address => "193.60.236.22" + :inet => { + :address => "193.60.236.22" + } } } },