9334bf41cb
Developers run all sorts of different tools within Git repositories, any of which can leave their own special trashfiles all over the place. We can't every hope to catalog them all, so better to recommend developers simply configure a global core.excludesfile to filter the irrelevant files which tend to get created by their personal choice of tools. Add a comment block explaining this, for clarity, and remove the one current editor-specific entry present. We can, and should of course, continue to list files created by the tools recommended by our workflow (test frameworks, documentation and packaging builds, et cetera). This change is a port of Ib58a57267b064e4142686de6c37a70dbff04b9a7 from the openstack-dev/cookiecutter repository. Change-Id: I818e0bdeb949c6e0adf062951c0716635fecf555 |
||
---|---|---|
doc | ||
examples | ||
lib/puppet | ||
manifests | ||
releasenotes | ||
spec | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
bindep.txt | ||
Gemfile | ||
LICENSE | ||
metadata.json | ||
Rakefile | ||
README.md | ||
setup.cfg | ||
setup.py | ||
tox.ini | ||
USECASES.md |
Team and repository tags
ceph
Table of Contents
- Overview - What is the ceph module?
- Module Description - What does the module do?
- Setup - The basics of getting started with ceph
- Implementation - An under-the-hood peek at what the module is doing
- Limitations - OS compatibility, etc.
- Use Cases - Examples of how to use this module
- Development - Guide for contributing to the module
- Beaker Integration Tests - Apply the module and test results
- Contributors - Those with commits
- Release Notes - Notes on the most recent updates to the module
Overview
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.
Setup
Implementation
A blueprint contains an inventory of what is desirable. It was decided to start from scratch and implement one module at a time.
Limitations
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
- I want to try this module, heard of ceph, want to see it in action
- I want to operate a production cluster
- I want to run benchmarks on three new machines
Development
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
Development
Developer documentation for the entire puppet-openstack project.