Creating Post-OKD Playbooks¶
The orchestrator is able to execute Ansible playbooks once the OKD software
has been installed. These playbooks are named in your deployment’s
okd.post_okd section. Each playbook named here is expected to exist in
the project’s ansible/post-okd directory.
In order to be recognised by the orchestrator the playbook must comply with the following requirements: -
Provide the playbook file
ansible/post-okd/playbooks/<playbook-name>/deploy.yamlAccept OKD URL and administrator details in the variables
okd_api_hostname,okd_adminandokd_admin_passwordAccept OKD deployment name the variable
okd_deploymentIdeally it will be implemented using an Ansible Role, with the Role located in
ansible/post-okd/roles/<playbook-name>
If you follow the above rules the deploy.yaml playbook for a my-app
playbook, at its simplest, will look like this:
---
- hosts: cli-node
roles:
- my-app
And can then be added to your deployment with the following post_okd
section:
okd:
post_okd:
- play: my-app
The playbook should use the oc command set and should expect the Master
API to be available at okd_api_hostname.
Exposing Playbook Variables¶
If you need to expose variables in your playbook you can set values for them
in your deployment configuration. It’s best practice, when using Roles, to
define your Role variables in your Role’s defaults/main.yaml file.
This way users can quickly see any variables that are available by inspecting
one file.
Once you have defined the variables, setting them is as simple as adding
names and values in your deployment configuration. In the above example,
if your my-app playbook exposes the variables offset and gain,
values for them are defined using a vars list in the post_okd section:
okd:
post_okd:
- play: my-app
vars:
- offset=1.7
- gain=6
The variables are passed to your playbook by the orchestrator using the
--extra-varscommand-line option.