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>