Best practices

Best practices we've developed using cpacman over years. Most of them are common sense, some of them are tied into cpacman. Helpful when you don't know if what you're doing is right.

Errata updates

Waves

We do errata updates in Waves. First wave goes out to servers of lesser importance each wave reaching servers of more critical value than previous until we update all machines.

Staging

To be able to proceed with Waves we have to make sure we're fetching updates from upstream only once and until the last "wave" reached it's destination we don't do any further synchronizations with upstream. Which is the essence of Staging

Package deployments

Building and deploying RPMs is another thing where we've got some unclarities in the past. To summarize how we do those:

Devel-Testing-Production

  1. after building some testing package put it into one of the "testing" cpacman repositories (like testing.as3 or masked.as3) doing so ensures that it could be deployed only to systems that of "testing" class.
  2. after it's confirmed that package works fine in "testing" (production-like environment) we move package into production repository (like custom.as3 or upgradeable.as3 etc.)