[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] MirageOS Puppet module



As mentioned a few days ago, I've just pushed an initial release of a
Puppet module to install OCaml, OPAM and Mirage.

https://github.com/garethr/garethr-mirageos
https://forge.puppetlabs.com/garethr/mirageos

This currently supports Ubuntu 12.04 and 14.04. If you have Puppet
installed then getting setup with Mirage is as simple as 'include
mirageos'. More details in the README for those interested.

Some folks might just be interested in the testing approach, as it's
applicable to any method of installation and could be extracted from
the module.

I've used Test Kitchen (http://kitchen.ci/) here, which supports
multiple backends. I didn't find a Xen backend, but the current
example uses the Vagrant backend, and I think you could use the
Vagrant Xen provider to get there. The tests themselves use both
ServerSpec (http://serverspec.org) and Bats
(https://github.com/sstephenson/bats).

The general approach is:

* Test Kitchen spin up virtual machines (one per supported OS)
* Install Puppet
* Use the module to install OCaml, OPAM, Mirage, etc.
* Run some tests verifying packages have been installed and mirage and
opam are working
(https://github.com/garethr/garethr-mirageos/blob/master/test/integration/default/serverspec/mirageos_spec.rb)
* Run some tests that configure and build a unix unikernel, run the
resulting binary and test that it works
(https://github.com/garethr/garethr-mirageos/blob/master/test/integration/default/bats/mirageos.bats)

(Only the install and run puppet steps are specific to Puppet. You
could use the same config to run a shell provisioner and test a shell
script if you wanted.)

I don't have Travis running the tests at the moment, but the easiest
way of doing that would be to use a different Test Kitchen backend
spinning up remote machines (I tend to use Digital Ocean as it's very
cost effective for short jobs).

I'll try and write a blog post about it when I get a moment but if
anyone has an questions, or wants a hand getting it up and running,
let me know.

Cheers

Gareth



-- 
Gareth Rushgrove
@garethr

devopsweekly.com
morethanseven.net
garethrushgrove.com

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.