[p2pu-dev] Introducing Marvin

Dirk Uys dirk at p2pu.org
Tue Jun 18 16:39:46 UTC 2013

Posted at http://info.p2pu.org/2013/06/18/introducing-marvin/

[image: Image CC-BY-SA John

Image CC-BY-SA John Greenaway <http://www.flickr.com/photos/johngreenaway/>

At the start of the year we spent some time on behind the scenes work. We
had a long overdue software upgrade that we needed to perform on our main
server. At the same time we took the opportunity to improve how we maintain
the systems to run the tools we use for P2PU.

Maintaining a server requires a lot of work. Someone needs to know what
software is required, then install and update the software in questions,
edit configuration files, remember what services to stop and start again,
pick good passwords and remember them, etc!

Instead of having someone slaving away at a command line and trying
remember what to do each time, we decided to automate the process. It is
almost like writing down a recipe and handing it to a robotic cook with all
the ingredients!

We named our robotic cook Marvin, after Marvin the Paranoid
the “Hitchhikers Guide to the Galaxy”. Almost everything that is
needed to get P2PU up and running can be found in this github

You may stop reading at this point if you wish to skip the technical
details and incomprehensible abbreviations [image: :)]

We chose to use Ansible <http://www.ansibleworks.com/> to implement Marvin.
Ansible uses YAML configuration files called playbooks to describe the
tasks needed to setup and configure a server. These tasks are then executed
over SSH on the remote host. The advantage of this is that it’s easy to
bootstrap a system – you just need to know what operating system you are
targeting and setup SSH access.

The Marvin repository contains the playbooks to setup
lernanta<https://github.com/p2pu/lernanta>running at
p2pu.org, badges <https://github.com/p2pu/badges> running at
badges.p2pu.organd Etherpad
Lite <https://github.com/ether/etherpad-lite> running at pad.p2pu.org.

There is still potential to improve and better organize these playbooks. If
you would like to give them a test drive, you can install Ansible, setup a
virtual machine and run the playbooks! See the
repository<https://github.com/p2pu/marvin/>for more instructions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p2pu.org/pipermail/p2pu-dev/attachments/20130618/a6e1a414/attachment.html>

More information about the p2pu-dev mailing list