site-modules/profile/manifests/base.pp is:
class profile::base {
notify { 'This is the base profile. It should be included on all nodes.': }
}
notify resources report a change on every agent run, and both shipped roles include profile::base, so any node classified with a role out of the box reports a changed run forever — non-idempotent by definition, and it trains users to ignore "changed" runs. The unit tests only assert compilation, so they can't catch it.
Fix: make the class body a comment-only placeholder (the comment already explains its purpose), or use a compile-time notice() instead of a notify resource.
site-modules/profile/manifests/base.ppis:notifyresources report a change on every agent run, and both shipped roles includeprofile::base, so any node classified with a role out of the box reports a changed run forever — non-idempotent by definition, and it trains users to ignore "changed" runs. The unit tests only assert compilation, so they can't catch it.Fix: make the class body a comment-only placeholder (the comment already explains its purpose), or use a compile-time
notice()instead of anotifyresource.