Puppet manifests can fail for a variety of reasons. The compiler can fail to produce a catalog if a syntax error appears. It can also fail if the manifest is inconsistent, with duplicate declarations of the same resource somewhere or other errors. Even if the compilation succeeds, the catalog itself might not apply to all systems cleanly. In this case, you often end up with a partial configuration, because one or more resources fail to sync and all their dependencies are skipped as a result.
Note
This problem is relevant to Puppet agents outside of the cloud as well. However, in your data center, it is usually not a problem to intervene manually in the case of problems. In the cloud, this should be strictly avoided.
Writing Puppet manifests is a form of programming, after all. Producing errors is commonplace. Changes need to be tested properly, and issues require debugging. In the cloud, latent manifest issues are especially annoying, because you might frequently...