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 throw warnings and can cause
intermittent issues in the cluster.
Merge pull request #77 from bodepd/dev

Dev
Merge pull request #64 from hkumarmk/ceph

Added ceph manifests to rjil.
Fail if autidisk_size is less than 10GB

The disk size must be at least 10GB for ceph to work smoothly.
The reasons for minimum 10GB are:

* Ceph OSD journal need at least 2GB, otherwise journal creation fail
* OSD need at least 7-8GB to hold default and pools for openstack,
    otherwise data write to the pools will fail.
Support ceph storage cluster less than 3 nodes

By default ceph cluster need at least three nodes to be in the
cluster to store data in it, as default number of object replicas
is 3.
Adding a parameter to change number of object replicas of all pools,
so that anyone need less than 3 nodes in cluster can specify appropriate
replication factor (1 or 2) to make the cluster up.
Update roles in site manifest

1. remove roles that we are not going to deploy.

We have plenty of roles to maintain without making up new ones.

2. don't deploy ceph profiles on controllers

b/c it doesn't work yet

3. add the actual storage roles

- st (osd only)
- stmon (osd + mon)
- stmonleader (osd + mon leader)
Merge pull request #83 from bodepd/fix_site_manifest

Update roles in site manifest
Don't anchor end of hostnames

Because they might end with a project id.
Fix issue with pull request merging

Previously, the merge of puppet requests was failing.

This commit ensures that a valid user/email is configured
and that pull request merging is non-interactive.
Merge pull request #86 from bodepd/remove_dc_end_anchor

Don't anchor end of hostnames
Let's all use the same environment
Add Glance to consul
Use consul names by default and let envs override
Remove superfluous overrides from hiera

Add a production.yaml to show what sort of stuff /should/ be overridden.
remove all traces of dan env

It was a temporary thing used for testing that does not
need to exist anymore
Update rjil::keystone::public_address

It was set to the load balancer address, but it is actually
the bind address that local keystone services are bound to.

I updated the default to set it to 0.0.0.0 and added the env
specific overrides.
Added bind_addr param to consul classes

Previously it only worked if you wanted to bind
it to eth0 (or whatever happens to be the first
interface).

This patch adds a param to all consul classes so
that it can be set.

It also adds hiera data to set it for virtual-box.
Add service blocker

Adds the service blocker class which blocks catalog application
until the specified service name resolves to at least one address.

This is intended to block parts of the catalog on external
dependencies.
Ensure that consul refreshed before we start blocking

To avoid deadlock.
Merge pull request #88 from bodepd/consul_work

Consul work