Catch empty data arrays at start of entropy_provider function
[mirror/dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / entropy_provider.rb
index fe7606b..32c413f 100644 (file)
@@ -6,13 +6,13 @@ module Puppet::Parser::Functions
       fqdn = args[0]
       nodeinfo = args[1]
 
-      localinfo = lookupvar('site::localinfo')
-      allnodeinfo = lookupvar('site::allnodeinfo')
+      localinfo = lookupvar('deprecated::localinfo')
+      allnodeinfo = lookupvar('deprecated::allnodeinfo')
 
       raise Puppet::ParseError, "entropy_provider: Cannot learn fqdn" unless fqdn
-      raise Puppet::ParseError, "entropy_provider: Cannot learn nodeinfo" unless nodeinfo
-      raise Puppet::ParseError, "entropy_provider: Cannot learn localinfo" unless localinfo
-      raise Puppet::ParseError, "entropy_provider: Cannot learn allnodeinfo" unless allnodeinfo
+      raise Puppet::ParseError, "entropy_provider: Cannot learn nodeinfo" unless nodeinfo and nodeinfo.size > 0
+      raise Puppet::ParseError, "entropy_provider: Cannot learn localinfo" unless localinfo and localinfo.size > 0
+      raise Puppet::ParseError, "entropy_provider: Cannot learn allnodeinfo" unless allnodeinfo and allnodeinfo.size > 0
 
       # find where all the entropy keys are
       provider = []