ansible/playbooks

Cluster UUID that created the alert

Used by Task 'ansible-playbooks-local' task.

Runs the provided playbooks in order from the json array. The array contains structured objects with further details about the ansible-playbook action.

Each playbook MUST be stored in either 1. a git location accessible from the machine running the task. 1. a DRP template accessible to the running DRP

The following properties are included in each array entry:

  • playbook (required): name of the playbooks passed into ansible-playbook cli
  • name (required): determines the target of the git clone
  • either (required, mutually exclusive):
    • repo: path related to machine where the playbook can be git cloned from
    • template: name of a DRP template containing a localhost ansible playbook
  • path (optional): if playbooks are nested into a single repo, move into that playbook
  • commit (optional): commit used to checkout a specific commit tag from the git history
  • data (optionalm boolean): if true, use items provided in args
  • args (optional): additional arguments to be passed into the ansible-playbook cli
  • verbosity (optional, boolean): if false, suppresses output from ansiblie using no_log.
  • requirements (optional, string): path name of a requirements file to be used with ansible-galaxy relative to the playbook location
  • extravars (optional, string): name of a template to expand as part of the extra-vars. See below.

For example

[
  {
    "playbook": "become",
    "name": "become",
    "repo": "https://github.com/ansible/test-playbooks",
    "path": "",
    "commit": "",
    "data": false,
    "args": "",
    "requirements": "requirements.yml",
    "verbosity": true
  },
  {
    "playbook": "test",
    "name": "test",
    "template": "ansible-playbooks-test-playbook.yaml.tmpl",
    "path": "",
    "commit": "",
    "data": false,
    "args": "",
    "verbosity": true
  }
]

Using extravars allows pulling data from Digital Rebar template expansion into github based playbooks. These will show up as top level variables. For example:

foo: "{{ .Param "myvar" }}",
bar: "{{ .Param "othervar" }"}