`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: .. code:: bash $ scripts/.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