This project is maintained by p-avery
Read this in other languages:
English,
日本語.
Demonstrate anothe use case of Ansible Tower workflow for F5 BIG-IP.
For this exercise, we will create a workflow for server patch management, first to disable the pool members, patch the nodes, and then enable the nodes. In parallel, we also attach an iRule to virtual server, to respond to the users when servers are under maintenance.
Before creating templates, you should create one more credential Server credential beforehand, to be utilized by one of the jobs (Patch server) to access servers.
| Parameter | Value |
|---|---|
| Name | Server Credential |
| Credential type: | Machine |
For this credential, we use the SSH private key instead. Get the private key from Ansible server, copy the output and paste in the SSH PRIVATE KEY box, and click SAVE.
[student1@ansible ~]$ cat ~/.ssh/aws-private.pem

Similar to the previous lab, we would need to prepare the following templates by following Lab 4.1:
| Job template Name | Playbook |
|---|---|
| Disable node | disable_node.yml |
| Enable node | enable_node.yml |
| Patch server | patch_server.yml |
| Attach iRule to virtual server | attach_irule.yml |
| Detach iRule | detach_irule.yml |
Again, we use the same template parameters as Lab 4.1 for each of the above templates, except the parameter of CREDENTAUL.
For CREDENTAUL, the Patch server template will use credential server credential, and all other templates will be using Workshop Credential
| Parameter | Value |
|---|---|
| Name | |
| Job Type | Run |
| Inventory | Workshop Inventory |
| Project | Workshop Project |
| Playbook | |
| Credential | Workshop Credential |
Here is one example of the templates configured:

Click on the Templates link on the left menu.
Click on the green
button. Select the Workflow Template.
Fill out the the form as follows:
| Parameter | Value |
|---|---|
| Name | Node maintenance workflow |
| Organization | Default |
| Inventory | Workshop Inventory |

When you click the SAVE, the WORKFLOW VISUALIZER should automatically open. If not click on the blue WORKFLOW VISUALIZER button.
By default only a green START button will appear. Click on the START button.
The ADD A TEMPLATE window will appear on the right.
Select the Disable node Job Template. Use the drop down box to select run. Click the green SELECT button.

Click on the START button, again. The ADD A TEMPLATE will appear again.
Select the Attach iRule to virtual server job template. For the Run parameter select Always from the drop down menu.
Click the green SELECT button.

Hover over the Disable node node and click the green + symbol. The ADD A TEMPLATE will appear again.
Select the Patch server job template. For the Run parameter select On Success from the drop down menu.
Click the green SELECT button.

Hover over the Patch server node and click the green + symbol. The ADD A TEMPLATE will appear again.
Select the Enable node job template. For the Run parameter select On Success from the drop down menu.
Click the green SELECT button.

Hover over the Enable node node and click the green + symbol. The ADD A TEMPLATE will appear again.
Select the Detach iRule job template. For the Run parameter select On Success from the drop down menu.
Click the green SELECT button.

Lastly, we create a covergence link, which allows the jobs running in parallel to converge. In another word, when both jobs finish, Detach iRule node will trigger.
Hover over the Attach iRule to virtual server node and click the blue chain symbol.
Now, click on the existing Detach iRule. An ADD LINK window will appear. For the RUN parameter choose Always.

Return to the Templates window
Click the rocket ship to launch the Node maintenance workflow workflow template.

At any time during the workflow job you can select an individual job template by clicking on the node to see the status.
Click the green SAVE button.
With iRule attached to virtual server, user will receive a maintenance page during the server maintenance:

You have
You have completed lab exercise 4.3
Click here to return to the Ansible Network Automation Workshop