]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/networking/libraries/ipaddresses.rb
Ignore failures starting shorewall
[chef.git] / cookbooks / networking / libraries / ipaddresses.rb
index 5eb54265e02ae8d57e79255a03041bd5bceeb743..67c89d052192e6574df873751e3a44ea63b42d99 100644 (file)
@@ -4,22 +4,26 @@ class Chef
       addresses = []
 
       interfaces(options).each do |interface|
+        address = interface[:public_address] || interface[:address]
+
+        next if address.nil?
+
         if block.nil?
-          addresses << interface[:address]
+          addresses << address
         else
-          block.call(interface[:address])
+          yield address
         end
       end
 
       addresses
     end
 
-    def internal_ipaddress
-      ipaddresses(:role => :internal).first
+    def internal_ipaddress(options = {})
+      ipaddresses(options.merge(:role => :internal)).first
     end
 
-    def external_ipaddress
-      ipaddresses(:role => :external).first
+    def external_ipaddress(options = {})
+      ipaddresses(options.merge(:role => :external)).first
     end
   end
 end