]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/networking/libraries/interfaces.rb
Fix error when a host has no interfaces declared
[chef.git] / cookbooks / networking / libraries / interfaces.rb
index 67b2bd2373176e2fd69ab93697170d2de6025f77..029cb4f32425242b3ace2a6a844df9c8e7cb3cdc 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
+          block.call(interface)
         end
       end