the providers should not generate error output on their own accord.
Debugging messages - sure. Don't collect those during provisioning
;-)
I believe that you do something along the lines of `resources {
'firewall': purge => true }` on the global scope. Move this to a
site-specific firewall wrapper module. Create a special environment
that mirrors production, but replaces this wrapper module with a
stub. This way, nodes can effectively ignore firewalling during
provisioning. You can even remove the puppetlabs-firewall module
from this environment, I believe.
Failing that, you can always fall back to a custom fact that is
false during the initial run, and true afterwards. Wrap any
firewalling resources in queries for this fact value.
HTH,
Felix