]> git.openstreetmap.org Git - chef.git/commitdiff
Bond interfaces on pummelzacken
authorTom Hughes <tom@compton.nu>
Fri, 29 May 2020 16:21:01 +0000 (17:21 +0100)
committerTom Hughes <tom@compton.nu>
Fri, 29 May 2020 16:21:01 +0000 (17:21 +0100)
cookbooks/networking/recipes/default.rb
roles/pummelzacken.rb

index 6648998f054f9a5d540778164a18d2b6833d84bf..5c73c5cc3197be9d99e10ecf32d0377f33d1fab0 100644 (file)
@@ -48,10 +48,12 @@ node[:networking][:interfaces].each do |name, interface|
       node.normal[:networking][:interfaces][name][:zone] = role[:zone]
     end
 
-    prefix = node[:networking][:interfaces][name][:prefix]
+    if interface[:address]
+      prefix = node[:networking][:interfaces][name][:prefix]
 
-    node.normal[:networking][:interfaces][name][:netmask] = (~IPAddr.new(interface[:address]).mask(0)).mask(prefix)
-    node.normal[:networking][:interfaces][name][:network] = IPAddr.new(interface[:address]).mask(prefix)
+      node.normal[:networking][:interfaces][name][:netmask] = (~IPAddr.new(interface[:address]).mask(0)).mask(prefix)
+      node.normal[:networking][:interfaces][name][:network] = IPAddr.new(interface[:address]).mask(prefix)
+    end
 
     interface = node[:networking][:interfaces][name]
 
@@ -77,7 +79,9 @@ node[:networking][:interfaces].each do |name, interface|
                    }
                  end
 
-    deviceplan["addresses"].push("#{interface[:address]}/#{prefix}")
+    if interface[:address]
+      deviceplan["addresses"].push("#{interface[:address]}/#{prefix}")
+    end
 
     if interface[:mtu]
       deviceplan["mtu"] = interface[:mtu]
index 97f2af508a82f70beeb000ad9e07621643071fc6..7b346bf6f5f4492712e518d25f75aa31d5915bca 100644 (file)
@@ -4,14 +4,20 @@ description "Master role applied to pummelzacken"
 default_attributes(
   :networking => {
     :interfaces => {
+      :bond => {
+        :interface => "bond0",
+        :bond => {
+          :slaves => %w[em1 p5p1]
+        }
+      },
       :internal_ipv4 => {
-        :interface => "em1.2801",
+        :interface => "bond0.2801",
         :role => :internal,
         :family => :inet,
         :address => "10.0.0.20"
       },
       :external_ipv4 => {
-        :interface => "em1.2800",
+        :interface => "bond0.2800",
         :role => :external,
         :family => :inet,
         :address => "193.60.236.18"