Catch empty data arrays at start of entropy_provider function
authorPeter Palfrader <peter@palfrader.org>
Tue, 15 Oct 2019 11:01:10 +0000 (13:01 +0200)
committerPeter Palfrader <peter@palfrader.org>
Tue, 15 Oct 2019 11:01:10 +0000 (13:01 +0200)
modules/puppetmaster/lib/puppet/parser/functions/entropy_provider.rb

index 5c8c6fe..32c413f 100644 (file)
@@ -10,9 +10,9 @@ module Puppet::Parser::Functions
       allnodeinfo = lookupvar('deprecated::allnodeinfo')
 
       raise Puppet::ParseError, "entropy_provider: Cannot learn fqdn" unless fqdn
       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 = []
 
       # find where all the entropy keys are
       provider = []