add the mon string in class names

So that they are unique and there is no risk of name clash.

Change-Id: Ie07e00af7b75f5b295e4085f4e2e3e6ff50d4482
Signed-off-by: Loic Dachary <loic@dachary.org>
attach disks when running integration tests

The vagrant instances run for integration tests are attached a 10GB thin
provisioned disk. It will show on /dev/sdb an allow for tests when
creating an OSD on a physical device.

This feature has been added to a fork of rspec-system (
https://gitorious.org/rspec-system/rspec-system/commit/6b1860fc5ab98337aa6e8aafac2ca2679f11ee47
) which is hosted on gitorious instead of github. There is no hope of
getting the patch accepted because rspec-system is retired.

The test instances are renamed (first.vm => first, second.vm => second)
without a dot in their name because it makes it easier to derive a disk
name that does not conflict with the restrictions imposed by vagrant on
disk file names.

Change-Id: I1964c7f6160bd16b92a7e4fd6dc9444c22cfd60b
Signed-off-by: Loic Dachary <loic@dachary.org>
ceph::conf class wrapper for ceph_config

So that scenario_node_terminus can use it.

Change-Id: I65b9e712b98b65f9bea6029853d92c0241acf1d6
Signed-off-by: Loic Dachary <loic@dachary.org>
define ceph::osd

Prepare (i.e. create the file system) and activate (i.e. register the
OSD with the Ceph cluster and run the OSD daemon) a designated device on
the machine. It supports cephx and no authentication. It supports
external journals.

The activate part of the operation is implicit (triggered by udev rules
installed with the Ceph package).

The ensure absent implementation is probably not useful in production,
because it enough to remove the disk and let Ceph deal with the
consequences. It is however useful for integration tests to reset the
device permissions and declare it non existent to the Ceph cluster.

The shell snippets associated with present and absent are larger than
necessary. They will be reduced to oneliners when the features
required of ceph-disk are implemented. The issue tickets associated
idempotency and OSD removal are added as comments in the define
implementation to keep track of the progress of their implementation.

The spec tests are little more than syntax checking. The integration
tests verify ensure present/absent with and without cephx, with and
without an external journal.

Change-Id: I15e170b4e3b144da9c2061c0746411f65a744519
Signed-off-by: Loic Dachary <loic@dachary.org>
osd.pp keyring / key support

Change-Id: I3b8fddfa64d1b861a7a8994255fcc088d3bd0934
Signed-off-by: Loic Dachary <loic@dachary.org>