In testing I did quite a while back, the environme...
# puppet
c
In testing I did quite a while back, the environment caching did give us a substantial performance gain. Also, a
git pull
isn't atomic either. Also, we have multiple servers behind a load balancer, and that can cause issues for non-atomic updates when different servers update at different times: a server with newer code can compile a catalog which specifies a file (via
source => 'puppet:///...'
) which other servers do not yet have. I think that if I can make the environments idea work, then I can extend that to solve this issue as well. What I would need to do would be to delay the specification of the new environment by the ENC until all servers are expected to have updated. • When updates are working properly, then all servers will have the new environment ready to serve files before any one server starts using the new environment. • If a server is failing to update in time, then at least this approach will fail safe: the client will receive a 404 rather than potentially the wrong file content.