A set of configuration files (in yaml format) that shows common/component/distribution/origins configurations. All the yaml configuration files could be found in:
- subdirectories of conf/personas/
- Automatically downloading source from git and performing tag/branch checkouts.
- Automatically verifying and translating requirement files to known pypi/rpm packages.
- Automatically installing and building missing dependencies (pypi and rpm) for you.
- Automatically configuring the needed files, symlinks, adjustments, and any patches.
Automatically running each component unit tests.
Starting of the components sub-programs with the needed configuration via the common daemon model.
- Also creates a pid, stderr and stdout file set for debugging/examination.
- Trace files could be found in $HOME/openstack/<component>/traces/
Stopping of the previously started components.
Getting you back to an initial ‘clean’ state:
- Removing installed configuration.
- Undoing of installed files/directories.
- Removing of packages installed.
- Ceating a basic set of packages that matches the components selected.
- Supports automatic injection of dependencies and creation of a changelog from git history.
- Checking the status of the running components sub-programs
dry_run satisfied with any action it turns verbose and all modifying the outside world calls (running external commands, kill, mkdir ......) are not executing.
(thus encouraging re-use by others)
- Components & actions are isolated as individual classes.
- Supports installation personas that define what is to be installed, thus decoupling the ‘what’ from the ‘how’.
Install/start/stop resumption so that when you install you can ctrl+c and resume later (where applicable).
- All commands executed are logged in standard output, all configuration files read/written (and so on).
- Debug mode could be activate with -v option
Package tracking and building¶
- Creation of a single rpm of your installation. This freezes what is needed for that release to a known set of packages and dependencies.
- Automatically building and/or including all needed dependencies.
- Includes application of your distributions native packages (when applicable).