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
3.6 KiB
Home 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:
$ scripts/<script_name>.shBootstrapping
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 ofansible-role-requirements.ymlfile.
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:
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 toopenstack_tempest_gate.shscript, defined in theos_tempestrole. Defaults toscenario 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 toyes.BOOTSTRAP_ANSIBLE- Boolean (yes/no) to run Ansible bootstrip script. Defaults toyes.RUN_TEMPEST- Boolean (yes/no) to run Tempest tests. Defaults toyes.
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.