Runs an Ansible playbook YML YAML file. This operation takes a name or path of the specific playbook file as well as any desired arguments and runs the playbook.
...
Input Name | Input Code | Required | Description |
---|---|---|---|
Ansible Home | FDANS_INP_ANSIBLE_HOME | No | Absolute directory path where Ansible is installed. |
Ansible Playbook | FDANS_INP_PLAYBOOK | Yes | Absolute or relative path to Ansible playbook YML YAML file. Relative path will be looked in temp and artifact directory. Absolute Path Example: /home/ubuntu/ansibleTest/testPlaybook.yml Relative Path Example: ansibleTest/testPlaybook.yml |
Inventory File | FDANS_INP_INVENTORY | No | Absolute path to the inventory file to use with the playbook invocation. (CLI arg: -i) |
Become Method | FDANS_INP_BECOME_METHOD | No | Privilege escalation method to use. (CLI arg: --become-method) valid choices: [ sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | machinectl ] If privilege escalation method is selected -b CLI argument will be passed. |
Become User | FDANS_INP_BECOME_USER | No | Run operations as. (CLI arg: --become-user) If value is provided -b CLI argument will be passed. |
Extra Variables | FDANS_INP_EXTRA_VARS | No | Additional variables as key=value, JSON text, or a JSON/YML YAML file. Formatted as key=value. If passing a JSON/YML YAML file you must use an @ before the file name. One pair per line (CLI arg: -e) Key/Value Example: var1=val1 var2=val1" JSON Example: {"version":"1.23.45","other_variable":"foo"} JSON/YML YAML File Example: @some_file.json |
Parallel Processes | FDANS_INP_FORKS | No | Number of parallel processes to use. (CLI arg: -f) |
Host Limit | FDANS_INP_LIMIT | No | Limiting of the selected hosts to an additional pattern. Outputs a list of matching hosts. If more than one the different tags must be separated by a comma.(CLI arg: -l) Multiple Hosts Example: host1,host2 |
Skip Tags | FDANS_INP_SKIPPED_TAGS | No | Only run plays and tasks whose tags do not match these values. If more than one the different tags must be separated by a comma. (CLI arg: --skip-tags) Multiple Tags Example: configuration,packages |
Start at Task | FDANS_INP_START_AT_TASK | No | Start the playbook at the task matching this name. (CLI arg: --start-at-task) |
Run Tags | FDANS_INP_TAGS | No | Only run plays and tasks tagged with these values. If more than one the different tags must be separated by a comma. (CLI arg: -t) Multiple Tags Example: configuration,packages |
Outputs
Output Name | Description |
---|---|
Artifacts
This operation delegates consumes artifacts from the artifacts repository/produces artifacts decision to the workflow developer. Check Consumes Artifacts on the workflow step editor if this operation requires artifacts to be delivered prior to execution of the script. Check Produces Artifacts on the workflow step editor if this operation creates artifacts. The artifacts folder is available via the FD_ARTIFACTS_DIR
variable.
Endpoint Selection
This operation will select delegates endpoint selection to the workflow developer. The workflow editor will default the selection to "All", which selects all available endpoints associated to the environment /instance. Ansible instance. Selecting a specific resource will result in selection of endpoints associated to the environment instance which have that resource defined. Ansible must be installed on any endpoint that executes this plugin. The user can use the LOCALHOST endpoint if Ansible is installed on the FlexDeploy server.
Endpoint Execution
This operation delegates endpoint execution to the workflow developer. The workflow editor will default to "Any", which will execute on any one of the selected endpoints, which will be randomly picked from selected endpoints or a specific endpoint where previous step may have executed. Changing this value to "All" to will result in execution on all selected endpoints. This operation will execute on any one of the selected endpoints and will be random in the determination of which one.
...
Below is the hosts inventory file that is saved in /home/ubuntu/ansibleTest
Code Block | ||
---|---|---|
| ||
[apachewebservers] dkrlp01 ansible_ssh_host=dkrlp01.flexagon ansible_ssh_user=ubuntu ansible_ssh_pass=welcome1 [all:vars] ansible_sudo_pass=welcome1www1.example.com www2.example.com [dbservers] db0.example.com db1.example.com |