This Puppet 5.4.0 error message wraps up the situation in a pretty tidy package:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: > Server Error: Evaluation Error: Error while evaluating a Function Call, > Cannot have code outside of a class/node/define because 'freeze_main' is > enabled (file: > /etc/puppetlabs/code/environments/production/manifests/defaults-firewall.pp, > line: 14, column: 3) on node redacted.machine.xxx > The freeze_main setting is documented <https://puppet.com/docs/puppet/5.5/configuration.html#freezemain> to trap code other than classes, defined type, and node definitions appearing at top scope, *other than in the site manifest*. The error message is complaining about a manifest in its environment's site manifest directory, which would not be evaluated at all if Puppet were not treating it as part of the site manifest. So why is Puppet complaining? Is this just a straight-up bug, or is there more to it? John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/dade9942-184a-4ec6-aa5d-68bb88c295d3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.