Exercise 4.3: Creating Node Maintenance Workflow

Read this in other languages: uk English, japan 日本語.

Table of Contents

Objective

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.

Guide

Step 1: Prepare Job Templates

Similar to the previous lab, we need to create the following templates by following Lab 4.1:

NAME Playbook
Disable node disable_node.yml
Enable node enable_node.yml
Patch server patch_server.yml
Attach iRule 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 for Patch server. This template will use credential Workshop Credential, and all other templates will be using BIGIP

Parameter Value
NAME  
JOB TYPE Run
INVENTORY Workshop Inventory
PROJECT Workshop Project
PLAYBOOK  
CREDENTIALS  
   

Here is one example templates configured:

job template

Step 2: Create a Workflow Template

  1. Click on the Templates link on the left menu.

  2. Click on the green templates link button. Select the Workflow Template.

  3. Fill out the form as follows:

    Parameter Value
    NAME Node maintenance workflow
    ORGANIZATION Default
    INVENTORY Workshop Inventory
       

    workflow creation

  4. Click on the Save button

Step 3: The Workflow Visualizer

  1. When you click the SAVE button, the WORKFLOW VISUALIZER should automatically open. If not click on the blue WORKFLOW VISUALIZER button.

  2. By default only a green START button will appear. Click on the START button.

  3. The ADD A NODE window will appear on the right.

Step 4: Disable node Template

  1. Select the Disable node Job Template. Use the drop down box to select run. For the Run parameter select Always from the drop down menu.
  2. Click the green SELECT button.

    Disable node

Step 5: Attach iRule Template

  1. Click on the START button, again. The ADD A NODE will appear again.

  2. Select the Attach iRule job template. For the Run parameter select Always from the drop down menu.

  3. Click the green SELECT button.

    attach irule

Step 6: Patch server Template

  1. Hover over the Disable node node and click the green + symbol. The ADD A NODE will appear again.

  2. Select the Patch server job template. For the Run parameter select On Success from the drop down menu.

  3. Click the green SELECT button.

    upgrade server

Step 7: Enable node Template

  1. Hover over the Patch server node and click the green + symbol. The ADD A NODE will appear again.

  2. Select the Enable node job template. For the Run parameter select On Success from the drop down menu.

  3. Click the green SELECT button.

    enable node

Step 8: Detach iRule Template

  1. Hover over the Enable node node and click the green + symbol. The ADD A NODE will appear again.

  2. Select the Detach iRule job template. For the Run parameter select On Success from the drop down menu.

  3. Click the green SELECT button.

    attach irule

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.

  1. Hover over the Attach iRule to virtual server node and click the blue chain symbol.

  2. Now, click on the existing Detach iRule. An ADD LINK window will appear. For the RUN parameter choose Always.

    converge link

  3. Click the green SAVE button to save the new link.
  4. Click the green SAVE button again to save the workflow.

Step 10: Run the Workflow

  1. Return to the Templates window

  2. Click the rocket ship to launch the Node maintenance workflow template.

    workflow job launched

    At any time during the workflow job you can select an individual job template by clicking on the node to see the status.

  3. With the iRule attached to virtual server, users will receive a maintenance page during the server maintenance:

    maintenance page

Takeaways

You have

Complete

You have completed lab exercise 4.3

Click here to return to the Ansible Network Automation Workshop