This patch does the following: - Move the CONTRIBUTING doc content into the developer documentation - Move the development-stack doc content into the developer documentation - Rename all instances of 'OpenStack Ansible' to 'OpenStack-Ansible' - Implements a simpler navigation index for the bottom of the page - Implements a navigation index at the bottom of all developer docs - Updates the README to reflect where to get documentation and further information - Adds more information into the 'scripts' developer doc - Updates the 'Additional Resources' Appendix with Ansible information Change-Id: Ic08ba072f3b3d1e4e446d1e81c20c0cdf01833de
118 lines
3.6 KiB
ReStructuredText
118 lines
3.6 KiB
ReStructuredText
`Home <index.html>`_ OpenStack-Ansible Developer Documentation
|
|
|
|
Included Scripts
|
|
================
|
|
|
|
The repository contains several helper scripts to manage gate jobs,
|
|
install base requirements, and update repository information. Execute
|
|
these scripts from the root of the respository clone. For example:
|
|
|
|
.. code:: bash
|
|
|
|
$ scripts/<script_name>.sh
|
|
|
|
Bootstrapping
|
|
^^^^^^^^^^^^^
|
|
|
|
bootstrap-aio.sh
|
|
----------------
|
|
|
|
The ``bootstrap-aio.sh`` script prepares a host for an *all-in-one* (AIO)
|
|
deployment for the purposes of development and gating. Create the necessary
|
|
partitions, directories, and configurations. Configurable via environment
|
|
variables to work with Jenkins.
|
|
|
|
bootstrap-ansible.sh
|
|
--------------------
|
|
|
|
The ``bootstrap-ansible.sh`` script installs Ansible including core and extras
|
|
module repositories and Galaxy roles.
|
|
|
|
Configurable environment variables:
|
|
|
|
* ``ANSIBLE_GIT_RELEASE`` - Version of Ansible to install.
|
|
* ``ANSIBLE_ROLE_FILE`` - Galaxy roles to install. Defaults to
|
|
contents of ``ansible-role-requirements.yml`` file.
|
|
|
|
The script also creates the ``openstack-ansible`` wrapper tool that provides
|
|
the variable files to match ``/etc/openstack_deploy/user_*.yml`` as
|
|
arguments to ``ansible-playbook`` as a convenience.
|
|
|
|
Development and Testing
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
run-playbooks.sh
|
|
----------------
|
|
|
|
The ``run-playbooks`` script is designed to be executed in development and
|
|
test environments and is also used for automated testing. It executes actions
|
|
which are definitely **not** suitable for production environments and must
|
|
therefore **not** be used for that purpose.
|
|
|
|
In order to scope the playbook execution there are several ``DEPLOY_``
|
|
environment variables available near the top of the script. These are used
|
|
by simply exporting an override before executing the script. For example,
|
|
to skip the execution of the Ceilometer playbook, execute:
|
|
|
|
.. code-block:: bash
|
|
|
|
export DEPLOY_CEILOMETER='no'
|
|
|
|
run-tempest.sh
|
|
--------------
|
|
|
|
The ``run-tempest.sh`` script runs Tempest tests from the first utility
|
|
container. This is primarily used for automated gate testing, but may also be
|
|
used through manual execution.
|
|
|
|
Configurable environment variables:
|
|
|
|
* ``TEMPEST_SCRIPT_PARAMETERS`` - Defines tests to run. Values are passed to
|
|
``openstack_tempest_gate.sh`` script, defined in the ``os_tempest`` role.
|
|
Defaults to ``scenario heat_api cinder_backup``.
|
|
|
|
Gating
|
|
^^^^^^
|
|
|
|
gate-check-commit.sh
|
|
--------------------
|
|
|
|
The ``gate-check-commit.sh`` script executes a suite of tests necessary for
|
|
each commit to the repository. By default, the script runs the bootstrap
|
|
scripts, builds an *all-in-one* deployment of OSA, and runs various Tempest
|
|
tests on it.
|
|
|
|
Configurable environment variables:
|
|
|
|
* ``BOOTSTRAP_AIO`` - Boolean (yes/no) to run AIO bootstrap script. Defaults
|
|
to ``yes``.
|
|
* ``BOOTSTRAP_ANSIBLE`` - Boolean (yes/no) to run Ansible bootstrip script.
|
|
Defaults to ``yes``.
|
|
* ``RUN_TEMPEST`` - Boolean (yes/no) to run Tempest tests. Defaults to
|
|
``yes``.
|
|
|
|
gate-check-docs.sh
|
|
------------------
|
|
|
|
The ``gate-check-docs.sh`` script invokes Sphinx to build the HTML
|
|
documentation from RST source.
|
|
|
|
gate-check-lint.sh
|
|
------------------
|
|
|
|
The ``gate-check-lint.sh`` script executes a suite of tests necessary for each
|
|
commit to the repository to verify correct YAML and Python syntax.
|
|
|
|
All files that begin with a Python shebang pass through *flake8* which ignores
|
|
the following rules due to Ansible conventions:
|
|
|
|
* F403 - 'from ansible.module_utils.basic import \*'
|
|
* H303 - No wildcard imports
|
|
|
|
Ansible playbooks pass through ``ansible-playbook --syntax-check``
|
|
and ``ansible-lint``.
|
|
|
|
--------------
|
|
|
|
.. include:: navigation.txt
|