diff --git a/README.md b/README.md index 6a0604134b..af4f5c913d 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,8 @@ ## Overview ----------- -The fuel-library is collection of Puppet modules and related code used by Fuel to deploy OpenStack environments. +The fuel-library is collection of Puppet modules and related code used by Fuel +to deploy OpenStack environments. ## Structure @@ -28,6 +29,7 @@ fuel-library ├── CHANGELOG ├── LICENSE ├── README.md +├── MAINTAINERS ├── debian ├── deployment ├── files @@ -38,19 +40,31 @@ fuel-library ### root -The root level contains important repository documentation and license information. +The root level contains important repository documentation and license +information. + +### MAINTAINERS + +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. ### debian/ -This folder contains the required information to create fuel-library debian packages. +This folder contains the required information to create fuel-library debian +packages. ### deployment/ -This folder contains the fuel-library Puppet code, the Puppetfile for upstream modules, and scripts to manage modules with [librarian-puppet-simple](https://github.com/bodepd/librarian-puppet-simple). +This folder contains the fuel-library Puppet code, the Puppetfile for +upstream modules, and scripts to manage modules with +[librarian-puppet-simple](https://github.com/bodepd/librarian-puppet-simple). ### files/ -This folder contains scripts and configuration files that are used when creating the packages for fuel-library. +This folder contains scripts and configuration files that are used when +creating the packages for fuel-library. ### specs/ @@ -62,34 +76,56 @@ This folder contains our testing scripts for the fuel-library. ### utils/ -This folder contains scripts that are useful when doing development on fuel-library +This folder contains scripts that are useful when doing development on +fuel-library ## Granular Deployment ---------------------- -TODO. +The [top-scope puppet manifests](deployment/puppet/osnailyfacter/modular) +(sometimes also refered as the composition layer) represent the known +deploy paths (aka supported deployment scenarios) for the +[task-based deployment](https://docs.mirantis.com/openstack/fuel/fuel-6.1/reference-architecture.html#task-based-deployment). ## Upstream Modules ------------------- -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](https://github.com/bodepd/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](https://wiki.openstack.org/wiki/Fuel/How_to_contribute#Fuel_library_for_puppet_manifests) of the [Fuel wiki](https://wiki.openstack.org/wiki/Fuel). +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](https://github.com/bodepd/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](https://wiki.openstack.org/wiki/Fuel/How_to_contribute#Fuel_library_for_puppet_manifests) +of the [Fuel wiki](https://wiki.openstack.org/wiki/Fuel). ## Testing ---------- -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](https://github.com/sstephenson/bats) tests for bash scripts and noop tests for testing the module deployment tasks in fuel-library. +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](https://github.com/sstephenson/bats) tests for bash scripts and noop +tests for testing the module deployment tasks in fuel-library. ### Puppet module tests -TODO. +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. ### Bats: Bash Automated Testing System -TODO. +Shell scripts residing in the `./files` directories should be +covered by the [BATS](https://github.com/sstephenson/bats) test cases. +These should be put under the `./tests/bats` path as well. +Here is an [example](https://review.openstack.org/198355) bats tests +written for the UMM feature. +See also the [bats how-to](https://blog.engineyard.com/2014/bats-test-command-line-tools). ### fuel-library noop -TODO. +The Noop testing framework is used for testing of the known deploy paths +with existing modular tasks. For details, see the [README](tests/noop/README.rst) ## Development --------------