68 lines
2.7 KiB
ReStructuredText
68 lines
2.7 KiB
ReStructuredText
.. _features:
|
|
|
|
|
|
========
|
|
Features
|
|
========
|
|
|
|
- A set of configuration files (in yaml format) that shows common/component/distribution configurations.
|
|
- Supports the following *actions* on the various `OpenStack`_ components.
|
|
|
|
* **Installing**:
|
|
|
|
* 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.
|
|
|
|
* **Starting**: 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.
|
|
|
|
* **Stopping**: stopping of the previously started components.
|
|
* **Uninstalling**: getting you back to an initial 'clean' state.
|
|
|
|
* Removing installed configuration.
|
|
* Undoing of installed files/directories.
|
|
* Removing of packages installed.
|
|
|
|
* **Testing**: automatically running each components unit tests.
|
|
* **Packaging**: creating a basic set of packages that matches the components selected.
|
|
|
|
- Supports automatic injection of dependencies and creation of a ``changelog`` from git history.
|
|
|
|
* **Status**: checking the status of the running components sub-programs
|
|
|
|
- Supports **dry-run** mode (to see what *would* happen).
|
|
- Written in **python** so it matches the style of other `OpenStack`_ components.
|
|
- **Code decoupling** (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).
|
|
- Extensive **logging** (and debug mode)
|
|
|
|
* All commands executed are logged, all configuration files read/written (and so on).
|
|
|
|
- **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).
|
|
|
|
.. _epel: http://fedoraproject.org/wiki/EPEL
|
|
.. _forking: http://users.telenet.be/bartl/classicperl/fork/all.html
|
|
.. _screen: http://www.manpagez.com/man/1/screen/
|
|
.. _upstart: http://upstart.ubuntu.com/
|
|
.. _OpenStack: http://openstack.org/
|
|
.. _pypi: http://pypi.python.org/pypi
|
|
.. _daemon: http://en.wikipedia.org/wiki/Daemon_(computing)
|