Test servers

Jeroen van Meeuwen kanarip at kanarip.com
Fri Aug 22 22:55:17 UTC 2008

Mike McGrath wrote:
> So we're in kind of an awkward but probably beneficial spot right now for
> our test server infrastructure.
> Its _ALL_ down right now.  And we need to build it back up.  We've talked
> about another layer of test servers and I think its probably time for that
> so here's what I propose.
> Rebuild our test servers external to PHX.  There is an open ticket for
> this already, we're just going to be doing it finally.
> Create a staging environment in the publictest and test areas in PHX.
> Staging will be identical to our production environment where possible
> with the exception of production data and where new features are being
> implemented and are not in production yet.
> Staging will be in puppet.  All of it.  Just like production is and
> they'll get rebuilt regularly.  We can use puppet's environments to do
> this but I'm going to talk with kanarip about implementation and such.  We
> actually have a very basic testing environment setup in puppet now but its
> not really tested or documented yet.  Staging will be different.

So, a few things on staging environments:

Puppet can stage the following things:

- the manifest to use (e.g. site.pp) for an environment, including all 
imported files (e.g. classes/*.pp etc)
- the modulepath to use

This means that you can split into environments what you use from the 
modules in those environments, but not what is in configs/ right now. 
For what is in configs/ to become staged, it needs to go into modules.

Preferably, we would stage using git branches (development -> testing -> 
production, for example).

A simple plan without too many details:

- What we have right now becomes the production branch (configs/ can 
stay where it is)

- We branch off to development (and testing if desirable), and start 
moving configs/ content into the modules for as far as these are related 
to the modules (e.g. templates, new files, but not "simple" files).

- Changes go into the development branch first, then are pulled into / 
pushed to production.

Any other thoughts?

Kind regards,

Jeroen van Meeuwen

More information about the Fedora-infrastructure-list mailing list