If you try to test a puppet change in the puppet compiler and the host you run it on happens to include backup::host to have Bacula backups, the compiler run always fails, also before the change.
example:
http://puppet-compiler.wmflabs.org/1560/gallium.wikimedia.org/
also in "production" before the change: http://puppet-compiler.wmflabs.org/1560/gallium.wikimedia.org/prod.gallium.wikimedia.org.err
The error is Failed to parse inline template: undefined method %' for nil:NilClass ` and comes from manifests/role/backup.pp:35
and the line that causes it is: $day = inline_template('<%= @days[[@uniqueid].pack("H*").unpack("L")[0] % 7] -%>')
Note how there is an "%" before the template ends with -%>. That probably breaks it.
Is that escapable? Why does this happen in the compiler but not in real production?