openstack-ansible/doc/source/developer-docs/scripts.rst
Kevin Carter 35ec780515 Rename everything for the osad to osa name change
This change updates all fo the names that we were using to the post
openstack migration name for openstack-ansible.

Change-Id: I6524af53ed02e19a0f56908e42a65d2dae8b71e3
2015-09-12 02:31:21 +01:00

2.8 KiB

Included Scripts

The repository contains several helper scripts to manage gate jobs, install base requirements, and update repository information. Invoke these scripts from the top-level directory of the repository. For example:

$ 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.

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_AIO - 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.

run-tempest.sh

The run-tempest.sh script runs Tempest tests from the first utility container. The check-gate-commit.sh script usually invokes this script after it completes the OSA deployment.

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.