]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/networking/libraries/interfaces.rb
Fix munin for internal-only hosts at Bytemark
[chef.git] / cookbooks / networking / libraries / interfaces.rb
index 67b2bd2373176e2fd69ab93697170d2de6025f77..c2f170b9c73a2f56c290d0a0f3cc38110c563eae 100644 (file)
@@ -4,17 +4,16 @@ class Chef
       interfaces = []
 
       networking = construct_attributes[:networking] || {}
-      networking_interfaces = networking[:interfaces] || []
+      networking_interfaces = networking[:interfaces] || {}
 
       networking_interfaces.each_value  do |interface|
-        if options[:role].nil? or interface[:role].to_s == options[:role].to_s
-          if options[:family].nil? or interface[:family].to_s == options[:family].to_s
-            if block.nil?
-              interfaces << interface
-            else
-              block.call(interface)
-            end
-          end
+        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
         end
       end