461 lines
15 KiB
ReStructuredText
461 lines
15 KiB
ReStructuredText
RDO-Manager Components
|
|
======================
|
|
|
|
.. contents::
|
|
:depth: 2
|
|
|
|
This section contains a list of components that RDO-Manager uses. The components
|
|
are organized in categories, and include a basic description, useful links, and
|
|
contribution information.
|
|
|
|
..
|
|
[Example Category Name]
|
|
-----------------------
|
|
|
|
[Example Component Name]
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
This is short description what the project is about and how RDO-Manager uses
|
|
this project. Three sentences max.
|
|
|
|
**How to contribute**
|
|
|
|
* Instructions to prepare development environment. Should be mostly pointing to
|
|
upstream docs. If upstream docs doesn't exist, please, create one. Add tips
|
|
how to test the feature in RDO-Manager + other useful information.
|
|
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: `link <#>`_
|
|
* Bugs: `link <#>`_
|
|
* Blueprints: `link <#>`_
|
|
|
|
|
|
Shared Libraries
|
|
----------------
|
|
diskimage-builder
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
diskimage-builder is an image building tool. It is used by
|
|
``openstack overcloud image build --all``.
|
|
|
|
**How to contribute**
|
|
|
|
See the diskimage-builder `README.rst
|
|
<https://git.openstack.org/cgit/openstack/diskimage-builder/tree/README.rst>`_
|
|
for a further explanation of the tooling. Submit your changes via
|
|
OpenStack Gerrit (see `OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project Documentation: http://docs.openstack.org/developer/diskimage-builder/
|
|
* Bugs: https://bugs.launchpad.net/diskimage-builder
|
|
* Git repository: https://git.openstack.org/cgit/openstack/diskimage-builder/
|
|
|
|
|
|
dib-utils
|
|
^^^^^^^^^
|
|
|
|
dib-utils contains tools that are used by diskimage-builder.
|
|
|
|
**How to contribute**
|
|
|
|
Submit your changes via OpenStack Gerrit (see `OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Bugs: https://bugs.launchpad.net/diskimage-builder
|
|
* Git repository: https://git.openstack.org/cgit/openstack/dib-utils/
|
|
|
|
|
|
os-\*-config
|
|
^^^^^^^^^^^^
|
|
|
|
The os-\*-config projects are a suite of tools used to configure instances
|
|
deployed via TripleO. They include:
|
|
|
|
* os-collect-config
|
|
* os-refresh-config
|
|
* os-apply-config
|
|
* os-net-config
|
|
|
|
**How to contribute**
|
|
|
|
Each tool uses `tox <https://tox.readthedocs.org/en/latest/>`_ to manage the
|
|
development environment. Submit your changes via OpenStack Gerrit (see
|
|
`OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Bugs:
|
|
|
|
* os-collect-config: https://bugs.launchpad.net/os-collect-config
|
|
* os-refresh-config: https://bugs.launchpad.net/os-refresh-config
|
|
* os-apply-config: https://bugs.launchpad.net/os-apply-config
|
|
* os-net-config: https://bugs.launchpad.net/os-net-config
|
|
|
|
* Git repositories:
|
|
|
|
* os-collect-config: https://git.openstack.org/cgit/openstack/os-collect-config
|
|
* os-refresh-config https://git.openstack.org/cgit/openstack/os-refresh-config
|
|
* os-apply-config https://git.openstack.org/cgit/openstack/os-apply-config
|
|
* os-net-config https://git.openstack.org/cgit/openstack/os-net-config
|
|
|
|
tripleo-image-elements
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
tripleo-image-elements is a repository of diskimage-builder style elements used
|
|
for installing various software components.
|
|
|
|
**How to contribute**
|
|
|
|
Submit your changes via OpenStack Gerrit (see
|
|
`OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Git repository: https://git.openstack.org/cgit/openstack/tripleo-image-elements
|
|
|
|
|
|
Installer
|
|
---------
|
|
|
|
instack
|
|
^^^^^^^
|
|
instack executes diskimage-builder style elements on the current system. This
|
|
enables a current running system to have an element applied in the same way
|
|
that diskimage-builder applies the element to an image build.
|
|
|
|
instack, in its current form, should be considered low level tooling. It is
|
|
meant to be used by higher level scripting that understands what elements and
|
|
hook scripts need execution. Using instack requires a rather in depth knowledge
|
|
of the elements within diskimage-builder and tripleo-image-elements.
|
|
|
|
**How to contribute**
|
|
|
|
Submit patches to gerrithub https://review.gerrithub.io/#/q/project:rdo-management/instack
|
|
|
|
**Useful links**
|
|
|
|
* Bugs: https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Community&component=instack
|
|
|
|
instack-undercloud
|
|
^^^^^^^^^^^^^^^^^^
|
|
instack-undercloud is a TripleO style undercloud installer based around
|
|
instack.
|
|
|
|
**How to contribute**
|
|
|
|
Submit patches to gerrithub https://review.gerrithub.io/#/q/project:rdo-management/instack-undercloud
|
|
|
|
**Useful links**
|
|
|
|
* Bugs: https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Community&component=instack-undercloud
|
|
|
|
tripleo-incubator
|
|
^^^^^^^^^^^^^^^^^
|
|
tripleo-incubator contains various scripts to aid in deploying a TripleO cloud.
|
|
|
|
**How to contribute**
|
|
|
|
Submit your changes via OpenStack Gerrit (see
|
|
`OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Documentation: http://docs.openstack.org/developer/tripleo-incubator/index.html
|
|
* Git repository: https://git.openstack.org/cgit/openstack/tripleo-incubator
|
|
|
|
|
|
Node Management
|
|
---------------
|
|
ironic
|
|
^^^^^^
|
|
|
|
Ironic project is responsible for provisioning and managing bare metal
|
|
instances.
|
|
|
|
For testing purposes Ironic can also be used for provisioning and managing
|
|
virtual machines which act as bare metal nodes via special driver ``pxe_ssh``.
|
|
|
|
**How to contribute**
|
|
|
|
Ironic uses `tox <https://tox.readthedocs.org/en/latest/>`_ to manage the
|
|
development environment, see `OpenStack's Documentation
|
|
<http://docs.openstack.org/developer/ironic/dev/contributing.html>`_,
|
|
`Ironic Developer Guidelines
|
|
<https://wiki.openstack.org/wiki/Ironic/Developer_guidelines>`_
|
|
and `OpenStack Developer's Guide`_ for details.
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: http://docs.openstack.org/developer/ironic/index.html
|
|
* Bugs: https://bugs.launchpad.net/ironic
|
|
* Blueprints: https://blueprints.launchpad.net/ironic
|
|
|
|
* `Specs process <https://wiki.openstack.org/wiki/Ironic/Specs_Process>`_
|
|
should be followed for suggesting new features.
|
|
* Approved Specs: http://specs.openstack.org/openstack/ironic-specs/
|
|
|
|
|
|
ironic inspector (former ironic-discoverd)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Ironic Inspector project is responsible for inspection of hardware properties
|
|
for newly enrolled nodes (see also ironic_).
|
|
|
|
Ironic Inspector was called ironic-discoverd previously, and the RPM packages
|
|
are still based on the old version, so they are using the old name for now.
|
|
|
|
**How to contribute**
|
|
|
|
Ironic Inspector uses `tox <https://tox.readthedocs.org/en/latest/>`_ to manage
|
|
the development environment, see `upstream documentation
|
|
<https://github.com/openstack/ironic-inspector/blob/master/CONTRIBUTING.rst>`_
|
|
for details.
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://github.com/openstack/ironic-inspector
|
|
* PyPI: https://pypi.python.org/pypi/ironic-inspector
|
|
|
|
Also https://pypi.python.org/pypi/ironic-discoverd for the old version which
|
|
RDO Manager currently uses.
|
|
|
|
* Bugs: https://bugs.launchpad.net/ironic-inspector
|
|
* Blueprints: https://blueprints.launchpad.net/ironic-inspector
|
|
|
|
|
|
Deployment Planning
|
|
-------------------
|
|
Tuskar
|
|
^^^^^^
|
|
The Tuskar project is responsible for planning of deployments through the use
|
|
of two main concepts: Role (unit of functionality, e.g. 'Compute') and Plan.
|
|
A given Role is associated with a number of Heat templates and extra
|
|
data files and Tuskar allows the user to provide values for a Role's template
|
|
attributes.
|
|
|
|
Once a Plan is specified in terms of Roles (and any desired
|
|
template attributes have been set) Tuskar can assemble and generate the
|
|
corresponding Heat deployment files and return these to the caller
|
|
(ready to be passed to Heat).
|
|
|
|
**How to contribute**
|
|
|
|
The Tuskar project uses the usual OpenStack code review process with gerrit
|
|
reviews (see links below). Tuskar is a sub-project falling under TripleO
|
|
and as such you can use the #tripleo irc channel (freenode) or the weekly
|
|
TripleO meeting to bring up issues about Tuskar, as well as the openstack-dev
|
|
mailing list of course.
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://github.com/openstack/tuskar
|
|
* PyPI: https://pypi.python.org/pypi/tuskar
|
|
* Bugs: https://bugs.launchpad.net/tuskar
|
|
* Blueprints: https://blueprints.launchpad.net/tuskar
|
|
* REST API http://specs.openstack.org/openstack/tripleo-specs/specs/juno/tripleo-juno-tuskar-rest-api.html
|
|
* Reviews: https://review.openstack.org/#/q/status:open+project:openstack/tuskar,n,z
|
|
|
|
Deployment & Orchestration
|
|
--------------------------
|
|
heat
|
|
^^^^
|
|
|
|
Heat is OpenStack's orchestration tool. It reads YAML files describing
|
|
the OpenStack deployment's resources (machines, their configurations
|
|
etc.) and gets those resources into the desired state, often by
|
|
talking to other components (e.g. Nova).
|
|
|
|
**How to contribute**
|
|
|
|
* Use `devstack with Heat
|
|
<http://docs.openstack.org/developer/heat/getting_started/on_devstack.html>`_
|
|
to set up a development environment. Submit your changes via
|
|
OpenStack Gerrit (see `OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://wiki.openstack.org/wiki/Heat
|
|
* Bugs: https://bugs.launchpad.net/heat
|
|
* Blueprints: https://blueprints.launchpad.net/heat
|
|
|
|
heat-templates
|
|
^^^^^^^^^^^^^^
|
|
|
|
The heat-templates repository contains additional image elements for
|
|
producing disk images ready to be configured by Puppet via Heat.
|
|
|
|
**How to contribute**
|
|
|
|
* Use `devtest with Puppet
|
|
<http://docs.openstack.org/developer/tripleo-incubator/puppet.html>`_
|
|
to set up a development environment. Submit your changes via
|
|
OpenStack Gerrit (see `OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://git.openstack.org/cgit/openstack/heat-templates
|
|
* Bugs: https://bugs.launchpad.net/heat-templates
|
|
* Blueprints: https://blueprints.launchpad.net/heat-templates
|
|
|
|
tripleo-heat-templates
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The tripleo-heat-templates describe the OpenStack deployment in Heat
|
|
Orchestration Template YAML files and Puppet manifests. The templates
|
|
are processed through Tuskar and materialized into an actual
|
|
deployment via Heat.
|
|
|
|
**How to contribute**
|
|
|
|
* Use `devtest with Puppet
|
|
<http://docs.openstack.org/developer/tripleo-incubator/puppet.html>`_
|
|
to set up a development environment. Submit your changes via
|
|
OpenStack Gerrit (see `OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://git.openstack.org/cgit/openstack/tripleo-heat-templates
|
|
* Bugs: https://bugs.launchpad.net/tripleo
|
|
* Blueprints: https://blueprints.launchpad.net/tripleo
|
|
|
|
nova
|
|
^^^^
|
|
TBD
|
|
|
|
puppet-\*
|
|
^^^^^^^^^
|
|
|
|
The OpenStack Puppet modules are used to configure the OpenStack
|
|
deployment (write configuration, start services etc.). They are used
|
|
via the tripleo-heat-templates.
|
|
|
|
**How to contribute**
|
|
|
|
* Use `devtest with Puppet
|
|
<http://docs.openstack.org/developer/tripleo-incubator/puppet.html>`_
|
|
to set up a development environment. Submit your changes via
|
|
OpenStack Gerrit (see `OpenStack Developer's Guide
|
|
<http://docs.openstack.org/infra/manual/developers.html>`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://wiki.openstack.org/wiki/Puppet
|
|
|
|
|
|
tripleo-puppet-elements
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The tripleo-puppet-elements describe the contents of disk images which
|
|
RDO-Manager uses to deploy OpenStack. It's the same kind of elements
|
|
as in tripleo-image-elements, but tripleo-puppet-elements are specific
|
|
for Puppet-enabled images.
|
|
|
|
**How to contribute**
|
|
|
|
* Use `devtest with Puppet
|
|
<http://docs.openstack.org/developer/tripleo-incubator/puppet.html>`_
|
|
to set up a development environment. Submit your changes via
|
|
OpenStack Gerrit (see `OpenStack Developer's Guide`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://git.openstack.org/cgit/openstack/tripleo-puppet-elements
|
|
* Bugs: https://bugs.launchpad.net/tripleo
|
|
* Blueprints: https://blueprints.launchpad.net/tripleo
|
|
|
|
|
|
User Interfaces
|
|
---------------
|
|
tuskar-ui
|
|
^^^^^^^^^
|
|
Tuskar-UI provides a GUI to install and manage OpenStack. It is implemented as
|
|
a plugin to Horizon.
|
|
|
|
**How to contribute**
|
|
|
|
* See `upstream documentation <http://tuskar-ui.readthedocs.org/en/latest/install.html>`_
|
|
for instuctions on how to set up a development environment. Submit your
|
|
changes via OpenStack Gerrit (see `OpenStack Developer's Guide`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: https://git.openstack.org/cgit/openstack/tuskar-ui
|
|
* Documentation: http://tuskar-ui.readthedocs.org
|
|
* Bugs: https://bugs.launchpad.net/tuskar-ui
|
|
* Blueprints: https://blueprints.launchpad.net/tuskar-ui
|
|
|
|
tuskar-ui-extras
|
|
^^^^^^^^^^^^^^^^
|
|
Tuskar-UI extras provides GUI enhancements for Tuskar-UI. It is implemented as
|
|
a plugin to Horizon.
|
|
|
|
**How to contribute**
|
|
|
|
* See `upstream documentation <http://tuskar-ui-extras.readthedocs.org/en/latest/install.html#development-install-instructions>`_
|
|
for instuctions on how to set up a development environment. Submit your
|
|
changes via `Gerrithub <https://review.gerrithub.io/#/q/project:rdo-management/tuskar-ui-extras>`_.
|
|
|
|
**Useful links**
|
|
|
|
* Project: https://github.com/rdo-management/tuskar-ui-extras
|
|
* Documentation: http://tuskar-ui-extras.readthedocs.org
|
|
|
|
python-openstackclient
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
The python-openstackclient is an upstream CLI tool which can manage multiple
|
|
openstack services. It wraps openstack clients like glance, nova, etc. and maps
|
|
them under intuitive names like openstack image, compute, etc.
|
|
|
|
The main value is that all services can be controlled by a single (openstack)
|
|
command with consistent syntax and behaviour.
|
|
|
|
**How to contribute**
|
|
|
|
* python-openstackclient uses `tox <https://tox.readthedocs.org/en/latest/>`_
|
|
to manage the development environment, see `upstream documentation
|
|
<https://github.com/openstack/python-openstackclient/blob/master/README.rst>`_
|
|
for details. Submit your changes via OpenStack Gerrit
|
|
(see `OpenStack Developer's Guide`_).
|
|
|
|
**Useful links**
|
|
|
|
* Upstream Project: http://git.openstack.org/cgit/openstack/python-openstackclient
|
|
* Bugs: https://bugs.launchpad.net/python-openstackclient
|
|
* Blueprints: https://blueprints.launchpad.net/python-openstackclient
|
|
* Human interface guide: http://docs.openstack.org/developer/python-openstackclient/humaninterfaceguide.html
|
|
|
|
python-rdomanager-oscplugin
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
The python-rdomanager-oscplugin is a CLI tool embedded into
|
|
python-openstackclient. It provides functions related to instack
|
|
installation and initial configuration like node discovery, overcloud image
|
|
building and uploading, etc.
|
|
|
|
**How to contribute**
|
|
|
|
* python-rdomanager-oscplugin uses `tox <https://tox.readthedocs.org/en/latest/>`_
|
|
to manage the development environment, see `documentation
|
|
<https://github.com/rdo-management/python-rdomanager-oscplugin/blob/master/CONTRIBUTING.rst>`_
|
|
for details. Submit your changes via
|
|
`Gerrithub <https://review.gerrithub.io/#/q/project:rdo-management/python-rdomanager-oscplugin>`_.
|
|
|
|
**Useful links**
|
|
|
|
* Project: https://github.com/rdo-management/python-rdomanager-oscplugin
|
|
|
|
..
|
|
<GLOBAL_LINKS>
|
|
|
|
.. _OpenStack Developer's Guide: http://docs.openstack.org/infra/manual/developers.html
|