]> git.openstreetmap.org Git - chef.git/commitdiff
Merge interface families
authorTom Hughes <tom@compton.nu>
Sat, 18 Mar 2023 11:02:29 +0000 (11:02 +0000)
committerTom Hughes <tom@compton.nu>
Sat, 18 Mar 2023 11:02:29 +0000 (11:02 +0000)
Merge separate IPv4 and IPv6 interface definitions into a
single definition with two sets of addresses.

68 files changed:
.kitchen.yml
cookbooks/apache/templates/default/info.conf.erb
cookbooks/apache/templates/default/status.conf.erb
cookbooks/dhcpd/templates/default/dhcpd.conf.erb
cookbooks/logstash/recipes/default.rb
cookbooks/networking/libraries/interfaces.rb
cookbooks/networking/libraries/ipaddresses.rb
cookbooks/networking/recipes/default.rb
cookbooks/networking/templates/default/nftables.conf.erb
cookbooks/prometheus/recipes/server.rb
cookbooks/prometheus/recipes/smokeping.rb
cookbooks/prometheus/templates/default/chef.prom.erb
roles/albi.rb
roles/angor.rb
roles/ascalon.rb
roles/backup.rb
roles/balerion.rb
roles/bowser.rb
roles/culebre.rb
roles/draco.rb
roles/dribble.rb
roles/drogon.rb
roles/dulcy.rb
roles/eddie.rb
roles/equinix-ams.rb
roles/faffy.rb
roles/fafnir.rb
roles/firnen.rb
roles/gorwen.rb
roles/grindtooth.rb
roles/horntail.rb
roles/idris.rb
roles/ironbelly.rb
roles/jakelong.rb
roles/karm.rb
roles/kessie.rb
roles/konqi.rb
roles/longma.rb
roles/meraxes.rb
roles/muirdris.rb
roles/naga.rb
roles/necrosan.rb
roles/nepomuk.rb
roles/nidhogg.rb
roles/norbert.rb
roles/odin.rb
roles/palulukon.rb
roles/pyrene.rb
roles/rhaegal.rb
roles/ridley.rb
roles/scorch.rb
roles/shenron.rb
roles/smaug.rb
roles/snap-01.rb
roles/snap-02.rb
roles/snap-03.rb
roles/spike-01.rb
roles/spike-02.rb
roles/spike-03.rb
roles/spike-06.rb
roles/spike-07.rb
roles/spike-08.rb
roles/stormfly-03.rb
roles/stormfly-04.rb
roles/tabaluga.rb
roles/vhagar.rb
roles/viserion.rb
roles/ysera.rb

index 8f0c0fc41f7bbc4c8fc28e3e7866451f0c6dda2f..ca4895b68b5d0f59c10ace98f5a364436ddd5e8c 100644 (file)
@@ -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]
index f983b9991da32f96eafd5f56268e1095f590333a..a8a303a9fe61e25b697b035c0972d421817cfcd2 100644 (file)
@@ -4,7 +4,7 @@
 
 <Location /server-info>
     SetHandler server-info
-<% node.ipaddresses do |address| -%>
+<% node.ipaddresses.sort.each do |address| -%>
     Require ip <%= address %>
 <% end -%>
     Require ip 127.0.1.1
index 6b8b98ee7f8e19b13b2f6cab289ae46fd2a665b9..f78aa9402b3eecf3aab18c18418baeef8640f962 100644 (file)
@@ -6,7 +6,7 @@ ExtendedStatus On
 
 <Location /server-status>
     SetHandler server-status
-<% node.ipaddresses do |address| -%>
+<% node.ipaddresses.sort.each do |address| -%>
     Require ip <%= address %>
 <% end -%>
     Require ip 127.0.1.1
index 9a33f8d6e0770780a103bd57eeab93a104b4328b..50ffd62d538a6859c23202761b2ddb032fb1555e 100644 (file)
@@ -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" ) {
index e3261d0d12852c7b25d027a0c0628f6d23f05921..126e12866f35e833795d45a6bb807a8bf224a00b 100644 (file)
@@ -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
index c2f170b9c73a2f56c290d0a0f3cc38110c563eae..64aecdeca7fb32b5ea9ebc774f1c3f6ccd46f884 100644 (file)
@@ -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)
index 67c89d052192e6574df873751e3a44ea63b42d99..8efba26de195624e0196e5d61ae9a193ea8f4330 100644 (file)
@@ -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)
index 5d77185082f7015347732a9325db607787b032c6..a7006d436e0897914a2ecb649975ef76e607b357 100644 (file)
@@ -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
 
index 74d104fadae5cf9e38f7f698bd148c8f3d9175c3..7273cff5ec3caf3cb6e12bda90532ca9e530b0fb 100644 (file)
@@ -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 -%>
   }
index ffc951e065880d4cf877f961c7fd2f5ed5ad1103..9066c2ec8c91c4df4e0154d661f2ad4adb071087 100644 (file)
@@ -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],
index 4f9906d32cff7d8d43752373348eb703f013f90c..27b0c6dd66f5b1cc191af7ad4996926ff47d1bc1 100644 (file)
@@ -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
index fd8089f4b195c932db57e349693bface5d00d5f8..8d6506eae49c2c716f34dde8a0a79b171aef6839 100644 (file)
@@ -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
index ea0a2a9194abab926ab9c071b23d1e6372972478..8608554e56ecfeaad718f354f561f55a9325aec7 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 6ae63081be7a34cdf6fcaa88dae2b4372422f6e2..50a090194e3a47e06879e48b76407377a2b25b91 100644 (file)
@@ -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"
+        }
       }
     }
   },
index d7b698e59682accfbf627faec9d5a105524796cb..b00e22c5f5f3cc84a925cf0480ead1ff66a10521 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 3e1b44cf388f95f2f861a5e99d837b52a6e4ea1d..c67956e171fa39c64636f44c4c9ead83b3819a1b 100644 (file)
@@ -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
index 56b88cc39198b8c3c34245874a563e0298028047..ee5ca2be40e9eaca3f49b309de930dcd72fc99d1 100644 (file)
@@ -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]
         }
index 1789c10966b371d78bd7222191f5985aa8272672..a12c9887e06dd0e6081c3460c465d11f4233be52 100644 (file)
@@ -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]
         }
index dd29fe29b801e93e8ce600f179a78a7c1a2d1e63..c956e456c93958393aea30a4de278f2f33b369f3 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 536e33a632a8b3603c903301374bc1da68f61add..662172a77087d64b2d07857e442159c39372102d 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 4611edced9adfc65fa7af304846c314f85cf7245..75c28c4b6b1603b9f87411b6dbcabcde982ca6be 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 2152356dca3ebadbe3441f6436582d3aea53904f..2f5921f2bfff2842fe86c1298369b501b1ae280c 100644 (file)
@@ -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"
+        }
       }
     }
   }
index bc251288181b27ebac5f51e650db2acc17dce4b7..5c067440a01091a4b2372fa35beb60fb72c5273e 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 0dbe9dd0a7e9fec6dc0aebe123773674868b6ac1..319be0b9d7a5e3405c33d206a57d9126b2f529c8 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 19b106de39d37d7f31b383599462f1b997e78016..ad835f89030bb7cf3a38d6dc39380e52d66b35ad 100644 (file)
@@ -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" },
index c7b8170d2b5ffd4212caee79cd66196feb511e6f..9f0a83552e4d18ff1de472414a7730222a310e4f 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 2851687d47a7148bf929db1cac2d8a20f88461bc..58876af4b5b43b286e044e9adc76266fb583e17f 100644 (file)
@@ -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"
+        }
       }
     }
   },
index eb7895c9b1f9b8bb4c23e4451999afad3c7b3fb4..9d8513f2e2193c39d8095dbd5373edfe94d7bc8a 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 3f9a1f3284e79155b48bc396fc39de44ab25a824..c10c6a73d246cb8b03e10bd79e247cc707e958df 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 349cc2627caf79c49bf7876cec547f7db75c4620..d504a189f10c43e0e0e7bca4a3de5d417b770bf1 100644 (file)
@@ -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"
+        }
       }
     }
   }
index a4073e988190ac722d1b055f5570a381591718af..afaf9460d07e3238220b08091618e8e85423ca9c 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 276d45ae7019dab646617edaf8979718d54f66c7..394696cb78eba36c0a8a0d62e5253be7e7aecd20 100644 (file)
@@ -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"
+        }
       }
     }
   }
index e4ea23262cad50674630caf5cd9d547d5b7f4482..ebde9a26a1066fa1239aec3b1b2d9195bb58e835 100644 (file)
@@ -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
index e2e54bd450fb2b9baeace8ca020264fcc6f560f4..1f92c87df3c0c3682c04efb39362117dab7242a4 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 675a210cf366deece90d769c4e969f3cbcceea92..cc3a425b9d254d2ed0193a4fe055ebad224fa92b 100644 (file)
@@ -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",
index 5a3ff94b51c027c9429431c6c1486108982a5497..3af9613075e5d49bb37c00bcf128f55cc62a86cf 100644 (file)
@@ -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"
+        }
       }
     }
   }
index a4fc736b7ca8b4856e87cc2bb63bc2cce4bfecad..b23841de21f8a159eacd06ddee4e1d678149d4b3 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 14a634c9c34ef4e0d161f00fe189c0d8f7714f27..23ce9dafb36de17276569786b23af2c56d9931d3 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 6123444078d303e71a2c20e51a33b9de3071b7e3..3fee32b314a923933fd9a63eaed76287ec11bd88 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 38ef43f3a9100f39aeb460248fbafd2304ee11fc..81cb6395367c8b980852cb4645c1e2a895ab839d 100644 (file)
@@ -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"
+        }
       }
     }
   }
index c9b7e00c4b8bf8e8277394f5da8787307985e888..ab310808a3f038575bd5c9a9c97c4f00802f5d0c 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 3112464698a57d4c42675f30f5cfd64983b13789..c113f451a78092a36696ef8be2016d3b5f06993c 100644 (file)
@@ -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::"
       }
     }
   },
index f57f73921ab17a97a47184afca84e779abaf9f45..474a43e83220dfa6a268abd16b9f3f1a175d70d1 100644 (file)
@@ -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"
+        }
       }
     }
   },
index a59cfad38f3c67ba206aa4347686b0d055367043..19535d2de6c46d9e33a79cdb0f6117731bd92950 100644 (file)
@@ -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"
       }
     }
   },
index ae57f844bf0d85e831a6e4b630edce24b4ecc255..9985bbda306ebd275d6946dcb81b85bafd67ac9f 100644 (file)
@@ -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 => {
index abce74926bbb19d62fc273a556e5e2221d353ccb..a7f836e18fc186bf6b53f6dfe47de3e57001732a 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 4826bafaaa72a5217c17d04ffaaaa3c03ed5a835..0a1adf68f2d87c96f14ea1fde94ebe7240d4c0eb 100644 (file)
@@ -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"
+        }
       }
     }
   },
index a004062b375caa335cd832e086844047af3c0482..1b211f033b5088ca5526eea6db32ca18576d1898 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 6aafb5d33f0c90d358e5f93140ac5e7ed3bd176f..a16c9e72162fb03ac8e4205c7313e42be3156f98 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 804aace16007a3b213a04de8f3714ed756b6e908..60ebf295c5fb78a4eed6b28be285f4897033e910 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 86c38424ef63bec8f719bce2c0e8ab589ad28c73..0649374f4980841f4ce9f4525c5350d850f406b9 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 56e2a3ed3afa845f0fbb727c8e3b5a8c0fb18f43..b2277551f3b0624c984332618a85a9bb3b9a2e85 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 5471434527f8830abbb55e35215619c2f5f90cb0..fd747471439445457def9c813998e7b94246e424 100644 (file)
@@ -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"
+        }
       }
     }
   }
index db9b16e7420a6b6c258fe1b9c9d9bb3fc6330dee..15db38629854a6d205ab05380e84f82c379d2363 100644 (file)
@@ -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",
index 68186bf0739b0405862dac38acd61dc62e0e6aa7..8dc70a658c5f535e8173a5401fd9efd641b6feac 100644 (file)
@@ -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"
+        }
       }
     }
   },
index 822cb5f63e23e372b6805f672e786d3414c00c5b..3bae5690cae86eee0674d5d1df7fbce0b22dcd21 100644 (file)
@@ -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",
index 14f5b3e500d2fd7675b9496c97ae6c7786ebf91e..5f048e341a6c26209fc534cea19a5a1aa6e3328e 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 2c565f1e3d32d72d90ecad496c86a74377242b71..dfded54c3a07cc66121e00811c09cb6c15e8a7c5 100644 (file)
@@ -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"
+        }
       }
     }
   }
index c9bd546913bcdb5f90880c6024d9f0388e860184..f2803fc23d1f78ddd9b66f73dfc18c501232aebc 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 50379928c1b2d1a47f0c471e1cf119c40cd4d9e8..2e93f41a004e639b3fc32ec2bd4b80ef1471cc38 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 0e852a9d5af69e6783a9d742ff05f262c3028e07..dc2a449d3c79ec381bd2e4503025b3ed4ae28dbd 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 823fd9e087454e1edd359835e58f1e94d1a91e41..836c0f41bc872bda5aae0fdc1fed43062fb69428 100644 (file)
@@ -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"
+        }
       }
     }
   }
index e5ac28ffc21f946895d013137c69633ba4195c7a..5b60d18b0793819b3d24fcfa175c505e53d4df51 100644 (file)
@@ -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"
index ade67133a9331fd758a4e094db7ad6eb3e9b9c9a..d16d09fa12fa57197df03be96ee4d41bce8b7a2d 100644 (file)
@@ -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"
       }
     }
   },
index 2fde5ad8e2a1cd216e3f39747f7067e87e0b2077..3293268edbf715324ba8be186ea5a9f788b5c951 100644 (file)
@@ -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"
+        }
       }
     }
   }
index cc431679af373330f7a3229225fe2f3482a86ca5..304b212db76383d71f2720878e6f46c18ad9e375 100644 (file)
@@ -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"
+        }
       }
     }
   },
index a951929020dd9fddc68178d7182afdf5c1739264..0b343f6910372f03c7337277a4944e309db8080e 100644 (file)
@@ -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"
+        }
       }
     }
   }
index 703f09ecef6a4bcf74c080f626ccf0ed0c7f0aca..f00192ac062a675781620987f4839159f5074d71 100644 (file)
@@ -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"
+        }
       }
     }
   },