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?
Jeroen van Meeuwen
Fedora-infrastructure-list mailing list