Ceph Puppet Module
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tobias Urdin e157497a3e Remove Unknown variable warning 1 month ago
doc Follow the new PTI for document build 1 year ago
examples Change default version to Ceph Nautilus 3 months ago
lib/puppet Set lowercase for ceph_config values 2 years ago
manifests Remove Unknown variable warning 1 month ago
releasenotes Release 3.0.0 2 months ago
spec Support Ceph Nautilus release in puppet-ceph 2 months ago
.gitignore Dissuade .gitignore references to personal tools 9 months ago
.gitreview OpenDev Migration Patch 2 months ago
.zuul.yaml Make p-o-i jobs voting again for puppet-ceph 2 months ago
Gemfile Move to opendev 2 months ago
LICENSE Add project files 5 years ago
README.md Fix Repository 2 months ago
Rakefile Re-boostrap beaker tests 3 years ago
USECASES.md Remove Puppetfile in favor of metadata.json 3 years ago
bindep.txt Add Puppet package to bindep, for module build 1 year ago
metadata.json Release 3.0.0 2 months ago
setup.cfg Change openstack-dev to openstack-discuss 7 months ago
setup.py Prepare puppet-ceph for 1.0.0 3 years ago
tox.ini Move to opendev 2 months ago


Team and repository tags

Team and repository tags


Table of Contents

  1. Overview - What is the ceph module?
  2. Module Description - What does the module do?
  3. Setup - The basics of getting started with ceph
  4. Implementation - An under-the-hood peek at what the module is doing
  5. Limitations - OS compatibility, etc.
  6. Use Cases - Examples of how to use this module
  7. Development - Guide for contributing to the module
  8. Beaker Integration Tests - Apply the module and test results
  9. Contributors - Those with commits
  10. Release Notes - Notes on the most recent updates to the module
  11. Repository - Repository for the module


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.

Module Description

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:

  • CentOS 7 or later
  • Debian Jessie 8.x or later
  • Ubuntu Trusty 14.04 or later
  • Fedora 22 or later

Use Cases


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:

  • irc.freenode.net#puppet-openstack
  • irc.oftc.net#ceph-devel

Beaker Integration Tests

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

  • two-centos-70-x64
  • centos-70-x64
  • two-ubuntu-server-1404-x64
  • ubuntu-server-1404-x64

The default is

BEAKER_set=two-ubuntu-server-1404-x64 \
bundle exec rspec spec/acceptance


Developer documentation for the entire puppet-openstack project.


Release Notes