Table of Contents

Overview

The oar-vagrant project aims at using Vagrant to test the different flavors of installation of OAR.

For now, you can test the installation of OAR's packages (rpm, dev) on VMs running Centos 6, Centos 7, Debian 7 (wheezy) and Debian 8 (jessie), with mysql or postgresql as the database backend.

Prepare

Vagrant is a multi-platform tool, available for Linux, MacOS X and MS Windows.

Before anything, you must install Vagrant (preferably the last version). If the Debian package is outdated, you can look at what is provided at: http://www.vagrantup.com/downloads.html.

You also need to install Virtualbox (remember: Vagrant is just a tool which instruments VM engines, with Virtualbox being well supported).

Vagrant boxes are registered on https://app.vagrantup.com/. Search for oar-team.

Note about Linked clone VM disks:

To speed-up the VM startup, and for disk space concerns, you can enable the use of VirtualBox “linked clone VMs”.

If the Vagrant version you are using is 1.8 or newer, this should work out of the box.

If not, you can enable the tricks we had in place before Vagrant 1.8 went out:

Pull and build

Once done, pull oar-vagrant from: https://github.com/oar-team/oar-vagrant

Change directory to one of the subdirectory where you will find a Vagrantfile and a provisioning script. Those directories are different flavors of installation with a choice of distribution among Debian and Centos versions, and of database backend (Mysql or PostgreSQL). E.g.:

Vagrant is quite greedy on disk space, so by default you will only get one node. You might change that by exporting the OARVAGRANT_NODES_COUNT shell environment variable (warning: changing the node count requires to destroy and up again everything).

By default, OAR packages that will be used are the stable (or backports, for Debian) package for the distribution. If you want to use testing package, you can use the OAR_FTP_DISTRIB environment variable. For Debian, you can also use the DEBIAN_EXTRA_DISTRIB environment variables to use packages from Debian unstable or testing distribution.

Examples for Debian

See http://oar-ftp.imag.fr/oar/2.5/debian/dists/ to list oar-ftp distributions.

Examples for Centos 6 or 7

Once ready, just execute:

$ vagrant up

And your virtual cluster should be up and runnng.

Play

You can then play with you virtual cluster:

$ vagrant ssh frontend -- -l user1
frontend $ oarsub -I

You should have your job id #1 ! :-)

Monika, drawgantt-svg as welle as OAR API should be available:

Each flavor of installation use a different network prefix. Look at the system to find out the network.

For example, centos7 use 192.168.31.

URLs are (OAR 2.5.6 rc3):

Other tweaks

You can also:

Supported OAR versions

OAR-vagrant main branch (master) will be maintained to support OAR's last version.

Older versions might not work out of the box by just changing OAR repository setting (e.g. OAR ≤ 2.5.2 lacks drawgantt-svg and OAR ≤ 2.5.3 lacks oar_resources_add). Provision scripts for older versions of OAR might however be provided in other branches (e.g. see branch “oar-2.5.2”).

Post Scriptum: provision scripts

If you are new to OAR, mind looking at the provision.sh script, as an example of how to install a OAR cluster !

Please note that since this script uses some bash machinery lines to fit well in vagrant mechanism, a pretty printer can be caller to display a pruned version of the script, e.g.:

oar-vagrant/deb_debian8_pgsql$ ../misc/bin/provision-prettyprinter

or to open the output in vim to get syntax coloring:

oar-vagrant/deb_debian8_pgsql$ ../misc/bin/provision-prettyprinter | vim -R -

NB: if you sourced ../misc/env.sh, provision-prettyprinter should be in your PATH