On 10/15/12 4:37 PM, Erik Moeller wrote:
On Mon, Oct 15, 2012 at 1:44 AM, S Page
<spage(a)wikimedia.org> wrote:
In the promised land, developers use vagrant to
run local VM instances on
laptops that puppet configures to run a production-ish MediaWiki. At Etsy
and Facebook, the day a developer walks in she can make changes in her
personal VM and push them to production (or so they claim in blog posts and
meetups ;-) ).
The new Mozilla Kuma project is a good example for this as well,
and
unlike the aforementioned ones, you can download the VM yourself. See:
https://github.com/mozilla/kuma/
https://github.com/mozilla/kuma/blob/master/docs/installation-vagrant.rst
Relevant blog post about their Vagrant setup:
http://decafbad.com/blog/2011/10/02/putting-clouds-in-boxes
Some design notes:
https://wiki.mozilla.org/Webdev:DevBoxVMImages
We have an awesome and unique infrastructure with Labs for testing and
staging, but for local development, having a pre-packaged dev
environment (probably slightly less ambitious than beta.wmflabs) would
indeed seem very useful. How feasible/useful would it be to build on
the existing work, e.g. Andrew Bogott's MediaWiki class, to provide a
first iteration of such an environment? [1]
Does a single-instance install provide
a sufficient test platform for
80% of the likely patches, or does all of the interesting stuff require
a full-blown cluster?
If single-system servers are truly useful in most cases, then a
prepackaged VM image seems straightforward and handy. Presuming that
the devs are willing/able to run a few git commands before they start
coding, we could potentially leave puppet and Vagrant out of the
equation and just build a one-off image by hand and include strict
instructions to fetch and rebase immediately after opening. It looks
like that's roughly what Mozilla is doing at the moment.
Of course, depending on how easy Vagrant is it might be quicker to build
that image using puppet in the first place... It's not obvious to me
that we would ever want actual consumers to have to deal with puppet.
-Andrew