Best Practices

The roles provided in this collection wrap the tripleoclient actions that are used to deploy and manage an undercloud and overcloud. The point of these roles is to establish a common interface for Ansible based automation.

Ansible Collection Namespace

tripleo-operator-ansible is an Ansible collection. In order to consume the roles and plugins within this repository, it needs to be installed as a collection. This repository provides the tripleo.operator namespace. When writing playbooks, the usage of the collections: keyword is required in order for them to be executed. See the Ansible Collection Documentation for additional details.

Role Naming Convention

To general naming scheme for the roles provide is to take the openstackclient command and replace openstack with tripleo and use underscores instead of spaces. For example, openstack overcloud deploy becomes tripleo_overcloud_deploy. The exception to this rule is when the command itself start with openstack tripleo. Rather than double the tripleo in the role name, we only specify it once. For example openstack tripleo container image prepare is simply tripleo_container_image_prepare.

Variable Naming Convention

The variables used by each role are prefixed with the role name. For example all roles contain a debug variable that can be used to print out the data used when executing the specific commands. For example, tripleo_overcloud_deploy_debug can be used to print out the cli command and the environment data used when the command is executed.