We ran into a situation where we had supervisord stopped, and a typo in one of its services' ini files. Supervisord would fail to start because of the typo, and then puppet would refuse to update the ini file because the service failed to start.
Narrowed it down to this class dependency; supervisor::service has
which means that if supervisor fails to start, the rest of the chain doesn't run, and so it can't self-heal. Narrowing the dependency means it self-heals in two runs.
We ran into a situation where we had supervisord stopped, and a typo in one of its services' ini files. Supervisord would fail to start because of the typo, and then puppet would refuse to update the ini file because the service failed to start.
Narrowed it down to this class dependency; supervisor::service has
and the class dependency of File[$log_dir] means that we really have
which means that if supervisor fails to start, the rest of the chain doesn't run, and so it can't self-heal. Narrowing the dependency means it self-heals in two runs.