The ceph module is intended to leverage all Ceph has to offer and allow for a wide range of use case. Although hosted on the OpenStack infrastructure, it does not require to sign a CLA nor is it restricted to OpenStack users. It benefits from a structured development process that helps federate the development effort. Each feature is tested with integration tests involving virtual machines to show that it performs as expected when used with a realistic scenario.
The ceph module deploys a Ceph cluster ( MON, OSD ), the Cephfs file system and the RadosGW object store. It provides integration with various environments ( OpenStack ... ) and components to be used by third party puppet modules that depend on a Ceph cluster.
A blueprint contains an inventory of what is desirable. It was decided to start from scratch and implement one module at a time.
We follow the OS compatibility of Ceph. With the release of infernalis this is currently:
git clone https://github.com/openstack/puppet-ceph.git cd puppet-ceph sudo gem install bundler bundle install
The developer documentation of the puppet-openstack project is the reference:
Mailing lists:
IRC channels:
Relies on rspec-beaker and tests are in spec/acceptance. It also requires Vagrant and Virtualbox .
bundle install bundle exec rspec spec/acceptance
The BEAKER_set environment variable contains the resource set of linux distribution configurations for which integration tests are going to be run. Available values are
The default is
BEAKER_set=two-ubuntu-server-1404-x64 \ bundle exec rspec spec/acceptance