I'm writing to report on progress with Mediawiki-Vagrant, and to tell you a bit about how it could be useful to you. If you've looked at MediaWiki-Vagrant in the past and thought, 'big deal -- I know how to configure MediaWiki', this e-mail is for you.
But first, a small snippet to whet your appetite:
# == Class: role::mobilefrontend # Configures MobileFrontend, the MediaWiki extension which powers # Wikimedia mobile sites. class role::mobilefrontend { include role::mediawiki include role::eventlogging
mediawiki::extension { 'MobileFrontend': settings => { wgMFForceSecureLogin => false, wgMFLogEvents => true, } } }
MW-V has evolved to become a highly organized and consistent Puppet code base for describing MediaWiki development environments. Puppet, you'll recall, is the same configuration management and software automation tool that TechOps uses to run the cluster. Puppet provides a domain-specific language for articulating software configuration in a declarative way. You tell Puppet what resources are configured on your machine and what relationships inhere among them, and Puppet takes your description and executes it.
MW-V uses Puppet to automate the configuration of MediaWiki & related bits of software. But MW-V goes a bit further, too: it exploits the flexibility of Puppet's syntax and semantics to give MediaWiki developers a set of affordances for describing their own development setup. The description takes the concrete form of a Puppet 'role'. These can be submitted as patches against the MW-V repo and thus shared with others. The combination of Vagrant / Puppet / VirtualBox make it quite easy to select and swap machine roles.
Roles can be toggled by adding or removing a line, 'include role::<name>', from puppet/manifests/site.pp. The current set of roles are listed here: https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/vagrant.git;a=blob;f=puppe...
They include a VisualEditor role that is powered by a local Parsoid instance, and roles for Selenium testing, Echo, MobileFrontend, GettingStarted, and EventLogging.
If you're interested in checking it out: 0. Delete any old instances. 1. Download & install VirtualBox: https://www.virtualbox.org/wiki/Downloads 2. Download & instal Vagrant: http://downloads.vagrantup.com/tags/v1.2.2 3. git clone https://gerrit.wikimedia.org/r/p/mediawiki/vagrant.git 4. Edit puppet/manifests/site.pp and uncomment the role you want to check out. 5. Run 'vagrant up' from the repository's root directory.
Finally: wait! The first run takes an obnoxiously long time (15-20 minutes). Subsequent runs are much faster (~5 seconds if there are no major configuration changes.)
The documentation on MediaWiki.org is still meager, but it is concentrated here: http://www.mediawiki.org/wiki/Mediawiki-Vagrant
If you're interested in using MW-V to document and automate your development setup, get in touch -- I'd be happy to help. I'm 'ori-l' on IRC, and I'll be at the Amsterdam Hackathon later this month too.
Finally, if you're interested in how this relates to Labs (short answer: the use-cases are largely complementary), Andrew Bogott and I have an open submission for a Wikimania talk on this subject: https://wikimania2013.wikimedia.org/wiki/Submissions/Turnkey_Mediawiki_Test_...
On Mon, May 13, 2013 at 3:20 PM, Ori Livneh ori.livneh@gmail.com wrote:
If you're interested in using MW-V to document and automate your development setup, get in touch -- I'd be happy to help. I'm 'ori-l' on IRC, and I'll be at the Amsterdam Hackathon later this month too.
I have left a few comments at bug 46920[1]. I am probably doing something wrong. It would be great if you could help me before Amsterdam, but we can try debugging the problem there.
Željko -- 1: https://bugzilla.wikimedia.org/show_bug.cgi?id=46920
On Mon, May 13, 2013 at 3:20 PM, Ori Livneh ori.livneh@gmail.com wrote:
If you're interested in using MW-V to document and automate your development setup, get in touch -- I'd be happy to help. I'm 'ori-l' on IRC, and I'll be at the Amsterdam Hackathon later this month too.
I just wanted to say thanks to Ori. Mediawiki-Vagrant is now ready to run Selenium tests[1].
Željko -- 1: https://github.com/wikimedia/mediawiki-vagrant/tree/master/puppet/modules/br...
This is an awesome news! Just to through some magic dust into gears - has anyone succeeded in running it under windows? Alternativelly, I wouldn't mind having a vagrant VM that includes GUI & a browser so that no host interaction is needed.
On Wed, May 29, 2013 at 9:37 AM, Željko Filipin zfilipin@wikimedia.orgwrote:
On Mon, May 13, 2013 at 3:20 PM, Ori Livneh ori.livneh@gmail.com wrote:
If you're interested in using MW-V to document and automate your development setup, get in touch -- I'd be happy to help. I'm 'ori-l' on IRC, and I'll be at the Amsterdam Hackathon later this month too.
I just wanted to say thanks to Ori. Mediawiki-Vagrant is now ready to run Selenium tests[1].
Željko
1:
https://github.com/wikimedia/mediawiki-vagrant/tree/master/puppet/modules/br... _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Fri, May 31, 2013 at 9:51 AM, Yuri Astrakhan yastrakhan@wikimedia.orgwrote:
This is an awesome news! Just to through some magic dust into gears - has anyone succeeded in running it under windows? Alternativelly, I wouldn't mind having a vagrant VM that includes GUI & a browser so that no host interaction is needed.
The tests run on Firefox / X11 on the guest VM. To invoke them from a 'vagrant ssh' session, though, you need an X display server. Graphical Linuxes have all the prerequisites installed, and on OS X you just need to install XQuartz. On Windows, people have good things to say about NoMachine (http://www.nomachine.com/download-client-windows.php) but I haven't tested it myself and while the client is free as in beer, it is not open source.
There is another alternative that you'll probably find simpler: edit your Vagrantfile and find these two lines:
# To boot the VM in graphical mode, uncomment the following line: # vb.gui = true
Uncomment the second line and do a vagrant halt / vagrant up. You'll then be able to run the browser tests on an X display server running on the guest VM.
I so wish there was a way not to mess with files under git's control. Can that option be exposed through the local user config file? On May 31, 2013 6:59 PM, "Ori Livneh" ori@wikimedia.org wrote:
On Fri, May 31, 2013 at 9:51 AM, Yuri Astrakhan <yastrakhan@wikimedia.org
wrote:
This is an awesome news! Just to through some magic dust into gears - has anyone succeeded in running it under windows? Alternativelly, I wouldn't mind having a vagrant VM that includes GUI & a browser so that no host interaction is needed.
The tests run on Firefox / X11 on the guest VM. To invoke them from a 'vagrant ssh' session, though, you need an X display server. Graphical Linuxes have all the prerequisites installed, and on OS X you just need to install XQuartz. On Windows, people have good things to say about NoMachine (http://www.nomachine.com/download-client-windows.php) but I haven't tested it myself and while the client is free as in beer, it is not open source.
There is another alternative that you'll probably find simpler: edit your Vagrantfile and find these two lines:
# To boot the VM in graphical mode, uncomment the following line: # vb.gui = true
Uncomment the second line and do a vagrant halt / vagrant up. You'll then be able to run the browser tests on an X display server running on the guest VM. _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Fri, May 31, 2013 at 4:16 PM, Yuri Astrakhan yastrakhan@wikimedia.orgwrote:
I so wish there was a way not to mess with files under git's control. Can that option be exposed through the local user config file?
Yep. Create 'Vagrantfile-extra.rb' in the same directory as the Vagrantfile and add these lines:
Vagrant.configure('2') do |config| config.vm.provider :virtualbox do |vb| vb.gui = true end end
I added this to https://www.mediawiki.org/wiki/MediaWiki-Vagrant/Customizing , please add to it if you have real-world experience
On Fri, May 31, 2013 at 4:41 PM, Ori Livneh ori@wikimedia.org wrote:
On Fri, May 31, 2013 at 4:16 PM, Yuri Astrakhan yastrakhan@wikimedia.orgwrote:
I so wish there was a way not to mess with files under git's control. Can that option be exposed through the local user config file?
Yep. Create 'Vagrantfile-extra.rb' in the same directory as the Vagrantfile and add these lines:
Vagrant.configure('2') do |config| config.vm.provider :virtualbox do |vb| vb.gui = true end end
-- =S Page software engineer on E3
On Sat, Jun 1, 2013 at 1:41 AM, Ori Livneh ori@wikimedia.org wrote:
Yep. Create 'Vagrantfile-extra.rb' in the same directory as the Vagrantfile and add these lines:
Vagrant.configure('2') do |config| config.vm.provider :virtualbox do |vb| vb.gui = true end end
Is there a way to enable browsertests role in a similar way, without touching files that are under git?
Thanks,
Željko
On Thu, Jun 20, 2013 at 7:42 AM, Željko Filipin zfilipin@wikimedia.orgwrote:
Is there a way to enable browsertests role in a similar way, without touching files that are under git?
This is now implemented in https://gerrit.wikimedia.org/r/#/c/72343/. It needs a lot of testing, especially on Windows.
On Sun, Jul 7, 2013 at 6:35 AM, Ori Livneh ori@wikimedia.org wrote:
This is now implemented in https://gerrit.wikimedia.org/r/#/c/72343/. It needs a lot of testing, especially on Windows.
Thanks, I will test it on a Mac, I do not have a Windows machine.
Željko
On Sun, Jul 7, 2013 at 6:35 AM, Ori Livneh ori@wikimedia.org wrote:
This is now implemented in https://gerrit.wikimedia.org/r/#/c/72343/. It needs a lot of testing, especially on Windows.
It works great on my Mac machine. I have tested it with browsertests role.
Željko
wikitech-l@lists.wikimedia.org