- Overview - What is the fuel-library?
- Structure - What is in the fuel-library?
- Granular Deployment - What is the granular deployment for Fuel?
- Upstream Modules - How to work with librarian.
- Testing - How to run fuel-library tests.
- Development
- Core Reviers
- Contributors
The fuel-library is collection of Puppet modules and related code used by Fuel to deploy OpenStack environments.
fuel-library
├── CHANGELOG
├── LICENSE
├── README.md
├── MAINTAINERS
├── debian
├── deployment
├── files
├── specs
├── tests
└── utils
The root level contains important repository documentation and license information.
This is repository level MAINTAINERS file. One submitting a patch should contact the apropriate maintainer or invite her or him for the code review. Note, core reviewers are not the maintainers. Normally, cores do reviews after maintainers.
This folder contains the required information to create fuel-library debian packages.
This folder contains the fuel-library Puppet code, the Puppetfile for upstream modules, and scripts to manage modules with librarian-puppet-simple.
This folder contains scripts and configuration files that are used when creating the packages for fuel-library.
This folder contains our rpm spec file for fuel-library rpm packages.
This folder contains our testing scripts for the fuel-library.
This folder contains scripts that are useful when doing development on fuel-library
The top-scope puppet manifests (sometimes also refered as the composition layer) represent the known deploy paths (aka supported deployment scenarios) for the task-based deployment.
In order to be able to pull in upstream modules for use by the fuel-library, the deployment folder contains a Puppetfile for use with librarian-puppet-simple. Upstream modules should be used whenever possible. For additional details on the process for working with upstream modules, please read the Fuel library for Puppet manifests of the Fuel wiki.
Testing is important for the fuel-library to ensure changes do what they are supposed to do, regressions are not introduced and all code is of the highest quality. The fuel-library leverages existing Puppet module rspec tests, bats tests for bash scripts and noop tests for testing the module deployment tasks in fuel-library.
Puppet rspec tests should be provided for an every module's directory included.
All of the discovered tests will be automatically executed by the
rake spec
command issued from the repository root path.
Shell scripts residing in the ./files
directories should be
covered by the BATS test cases.
These should be put under the ./tests/bats
path as well.
Here is an example bats tests
written for the UMM feature.
See also the bats how-to.
The Noop testing framework is used for testing of the known deploy paths with existing modular tasks. For details, see the README