The client should default to using its cached catalog
|Affected Puppet version:||Branch:|
We currently default to the client upgrading its catalog every time, and there’s no straightforward mechanism to change this default. This means that all phased roll-out work must involve working directly on the clients to control catalog updates.
We should instead switch to a model where the client can ask the server if it should update its catalog, and by default uses its existing catalog.
This should probably be done by the client sending the server its catalog version and the server returning a boolean on whether it should be retrieving a new catalog.
Alternatively, it could do something like a ‘HEAD’ request on a new catalog and compare the versions on the client, and decide to upgrade based on that.