Vagrant is a command-line tool for automatically provisioning virtual machines according to scripted specifications. The mediawiki-vagrant project bundles together specifications for quickly and easily provisioning a virtual machine running MediaWiki, suitable for development work.
I announced it a few months ago, when I had something nominally useful to share. Some people found it useful, but it was something I had cobbled together in a hacky way as I was learning Vagrant, and I wasn't very happy with the end result. In the intervening months, I got a lot of useful suggestions, and became more proficient in writing Vagrant and Puppet configurations, so I decided to do things over.
There's a lot more work to do (better profiling tools!), but I think it works quite well now, so I would appreciate some testing and feedback from others.
Installation instructions are available here: http://www.mediawiki.org/wiki/Vagrant
I hope you check it out, and that you find it useful. Feedback would be much appreciated.
I'd also like to publicly thank Yurik for testing this extensively on Windows and providing detailed logs when things broke. Thanks, Yurik!
-- Ori Livneh
This is awesome, I've used it as a total MediaWiki noob to poke around at the internals. One suggestion I'd have is to include a script that populates some sample data in the db (pages, users, edits, etc.). Does anyone have such a thing, should we dump a particularly active test setup from somewhere, or would we need to make something new?
On Thu, Mar 28, 2013 at 2:18 AM, Ori Livneh ori@wikimedia.org wrote:
Vagrant is a command-line tool for automatically provisioning virtual machines according to scripted specifications. The mediawiki-vagrant project bundles together specifications for quickly and easily provisioning a virtual machine running MediaWiki, suitable for development work.
I announced it a few months ago, when I had something nominally useful to share. Some people found it useful, but it was something I had cobbled together in a hacky way as I was learning Vagrant, and I wasn't very happy with the end result. In the intervening months, I got a lot of useful suggestions, and became more proficient in writing Vagrant and Puppet configurations, so I decided to do things over.
There's a lot more work to do (better profiling tools!), but I think it works quite well now, so I would appreciate some testing and feedback from others.
Installation instructions are available here: http://www.mediawiki.org/wiki/Vagrant
I hope you check it out, and that you find it useful. Feedback would be much appreciated.
I'd also like to publicly thank Yurik for testing this extensively on Windows and providing detailed logs when things broke. Thanks, Yurik!
-- Ori Livneh
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Thu, Mar 28, 2013 at 7:18 AM, Ori Livneh ori@wikimedia.org wrote:
I hope you check it out, and that you find it useful. Feedback would be much appreciated.
I have tried it at two Mac machines, it worked without any problems.
Željko
I tried it out on my Windows XP, and on `vagrant up` it promptly took all the 1.5 GB of free space on disk C: and crashed (I purposefully keep my system partition small).
Is it possible to make it write the big files (the downloaded OS image and the virtual disk) into somewhere else than %userprofile%? I know VirtualBox can do that, as I have two VMs set up in this way.
Ori, thanks for the great dev environment :)
As mentioned in another email, I would like to have the following added to default vagrant installation. Having default dev environment would allow us to quickly get new developers up to speed almost without any walk-through steps.
* redirect from / to /w/index.php * xdebug to debug from host's IDE * unit testing frameworks, and maybe even some scripts to run php and other unit tests * easy way to add extensions - menu driven would be nice, or at least git clone and add the "required()" :) * SQL access - either phpMyAdmin, or routing SQL ports to host's tools, or both, or ... * "reset" script to quickly restart apache/memcached/etc (is it possible to do it from host?) * Direct root access to the client's file system from the host (in windows -- \precsie64\root...) * "php update.php" - is it possible to do it from host? "vagrant mwupdate" ?
Thanks!!!
On Thu, Mar 28, 2013 at 4:15 PM, Bartosz Dziewoński matma.rex@gmail.comwrote:
I tried it out on my Windows XP, and on `vagrant up` it promptly took all the 1.5 GB of free space on disk C: and crashed (I purposefully keep my system partition small).
Is it possible to make it write the big files (the downloaded OS image and the virtual disk) into somewhere else than %userprofile%? I know VirtualBox can do that, as I have two VMs set up in this way.
-- Matma Rex
______________________________**_________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/**mailman/listinfo/wikitech-lhttps://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Thursday, March 28, 2013 at 4:41 PM, Yuri Astrakhan wrote:
As mentioned in another email, I would like to have the following added to default vagrant installation. Having default dev environment would allow us to quickly get new developers up to speed almost without any walk-through steps.
- redirect from / to /w/index.php
This is already set up. Is it not working for you?
- xdebug to debug from host's IDE
Installation of Xdebug is also already in, but not the IDE integration and URL trigger that you described to me the other day. I'll look into it. Tracking here: https://bugzilla.wikimedia.org/show_bug.cgi?id=46677
- unit testing frameworks, and maybe even some scripts to run php and other
unit tests
phpunit is also already installed. A helper script for running unit tests from the host environment would make sense.
- easy way to add extensions - menu driven would be nice, or at least git
clone and add the "required()" :)
Punting on this one. It'll be a headache to maintain. Adding the require_once( .. ) call by hand is not too much work, no?
- SQL access - either phpMyAdmin, or routing SQL ports to host's tools, or
both, or ...
- "reset" script to quickly restart apache/memcached/etc (is it possible
to do it from host?)
OK, can do.
- Direct root access to the client's file system from the host (in windows
-- \precsie64\root...)
- "php update.php" - is it possible to do it from host? "vagrant mwupdate"
?
I'll look into making this easier.
Vagrant provides hooks for plug-ins to add subcommands. Having a MediaWiki plug-in that allows a set of maintenance tasks to be run from the host sounds promising.
Tracking here: https://bugzilla.wikimedia.org/show_bug.cgi?id=46676
On Thu, Mar 28, 2013 at 4:15 PM, Bartosz Dziewoński <matma.rex@gmail.com (mailto:matma.rex@gmail.com)>wrote:
I tried it out on my Windows XP, and on `vagrant up` it promptly took all the 1.5 GB of free space on disk C: and crashed (I purposefully keep my system partition small).
Is it possible to make it write the big files (the downloaded OS image and the virtual disk) into somewhere else than %userprofile%? I know VirtualBox can do that, as I have two VMs set up in this way.
Yes, this should be handled better. Thanks for the report. Tracking it here: https://bugzilla.wikimedia.org/show_bug.cgi?id=46675
-- Ori Livneh
Quick question. If I'm correct, Vagrant is supposed to be for setting up development environments. Under this assumption, why is the mediawiki git repository only fetched with a depth of 1? Isn't is pretty useless to have a development VM you can't push or pull from?
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
On Friday, March 29, 2013 at 2:32 AM, Tyler Romeo wrote:
Quick question. If I'm correct, Vagrant is supposed to be for setting up development environments. Under this assumption, why is the mediawiki git repository only fetched with a depth of 1? Isn't is pretty useless to have a development VM you can't push or pull from?
You can use a shallow clone to pull new changes. As far as committing, 'git review -s' will actually trigger fetching the entire history. So this way the bandwidth costs of pulling the entire history are deferred until you are ready to commit a patch, which shortens the time it takes to get a functional MediaWiki instance.
In the course of investigating this, I realized that the current version does not configure a remote, which is perhaps why git pull didn't work for you (if you tried it). I'll fix that.
Ori
On Sun, Mar 31, 2013 at 3:12 AM, Ori Livneh ori@wikimedia.org wrote:
You can use a shallow clone to pull new changes. As far as committing, 'git review -s' will actually trigger fetching the entire history. So this way the bandwidth costs of pulling the entire history are deferred until you are ready to commit a patch, which shortens the time it takes to get a functional MediaWiki instance.
In the course of investigating this, I realized that the current version does not configure a remote, which is perhaps why git pull didn't work for you (if you tried it). I'll fix that.
Aha, OK. I tried running git pull and it gave me some weird indexing error. If git-review works, though, then that's fine.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerromeo@gmail.com
wikitech-l@lists.wikimedia.org