Test instance of our infrastructure
We are running a multitude of services.
Our usual approach to these services is that we fix things when they
break, test our client code against the live instance (with perhaps a
special area of the database - eg the `experimental' suite). I have
found writing server-side software in this environment is awkward. My
own service has a test suite which sets up a stunt environment, but
inevitably stunt environments in test suites are much less like the
real thing than a staging instance.
Should we not have public test instances of all these things ?
I suggest we should declare (perhaps as a DEP?) a systematic scheme
which recommends to infrastructure operators answers to the following
questions:
- how to address the test instance of each service
- relationships between test instances of different services
- access control
- availability policy
- usual contents of a test instance
- hosting arrangements
My starting points for answers to these questions are something like
this:
* Most of our services are addressed via domain names,
*.debian.org or *.debian.net. Test instance of a service are
correspondingly at *.infratest.debian.{org,net}.
* Test instances should talk to the test instances of other
services. For example bugs.infratest.debian.org should track
package data from ftp.infratest.debian.org.
* Access control should be identical to the live service by default,
but enhanced access will be available on a much more relaxed basis
(depending on the service). Passwords to access, and secret keys
held by, test instances will be different.
* Test instances should normally be up, but may be down or broken
or something when they are being worked on.
* Test instances will get a copy of the corresponding real instance
copied to them on a monthly basis. We will filter the data to make
it more manageable, on the basis of package names and/or dates.
Any confidential data will not be copied.
* I don't know about hosting arrangements. We should ask DSA's
opinion. I think that test instances should run on a different
host to the live instance, so that security bugs in test instances
are not so much of a concern.
If we wrote some of this down then infrastructure operators (like me,
wrt the dgit git server) can start to think about implement it. I
think it will be work at first but make a lot of things easier.
Ian.
--
Ian Jackson <ijackson@chiark.greenend.org.uk> These opinions are my own.
If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.
Reply to: