How to set some nodes on pause/hold/noop?

Solution 1:

A common approach is to use an external node classifier to attach classes and/or attributes to nodes using your own business logic. It is documented on https://puppet.com/docs/puppet/latest/nodes_external.html

If you want to avoid applying anything on your file, you can add something like this in site.pp:

if $noop == true {
  fail('noop, I don't do anything!')
}

A bit more advanced. If you want puppet to avoid applying your manifests if /etc/noop exists on the system, you could create a custom fact:

Facter.add('noop') { setcode { File.exists? '/etc/noop' } }

then use in site.pp:

if $::noop == true {
  fail('noop, I don't do anything!')