Added ceph manifests to rjil.

rjil::ceph
  This class Install ceph and does basic configuration,
    which need to be added for both ceph servers and clients

rjil::ceph::mon
  This class setup ceph mon - this only need to be call on ceph mon nodes

rjil::ceph::osd
  This class setup ceph osds.

added ceph health nagios plugin for testing.

Added custom function to convert netmask to cidr.

Added a facter to provide blank or ceph disks, this is used to
  autodetect the hard disks for OSDs.

Added option to autogenerate loopback device disks for testing.

Added appropriate hiera entries in common.yaml.

This profile does below stuffs.

1. Configure ceph system on all storage nodes
2. Configure ceph monitors on subset of storage nodes (minimum 3)
3. Configure ceph osds according to the configurations
  3.a. Configure specific disks per node: in this mode, one need to
        configure all disks per node which supposed to be used as osds.
  3.b. Autodetect: Detect all blank disks which are not in exception list
         and add them as osds
  3.c. Autogenerate: Generate a loopback device with given size ( Minimum 10G is
        required)

Dependancies:

Latest commit to jiocloud/puppet-ceph (c715eb2) (pull request #2) is required
rjil::ntp is required - without ntp, ceph will give warnings.
Could you please bit more elaborate here? I used Facter.value(:blockdevices) to get the value of that fact and loop through them, to derive blank or ceph disks.