F5 vendor logo

Vendor

F5

Product

BIG-IQ

OS Versions:

^8.3.0

Method

REST

Project Type

Workflow Project


View Repository
Workflow

F5 BIG-IQ - Modular Automations

Overview

This contains modular workflows that operate when integrated with F5 BIG-IQ. Once installed teams will be able to quickly automate common manual tasks like software upgrade of managed BIG-IP devices, saving a significant amount of time and effort. This library can be used as modular components with other libraries and automations to build comprehensive end-to-end orchestrated workflows with Itential's low-code platform.

Workflows

Name Overview
Upgrade BIG-IP Device - F5 - BIG-IQ Upgrades BIG-IP device over F5 BIG-IQ

For further technical details on how to install and use this Workflow Project, please click the Technical Documentation tab.

Table of Contents

Getting Started

This section is helpful for deployments as it provides you with pertinent information on prerequisites and properties.

Helpful Background Information

Workflows often include logic that varies from business to business. As a result, we often find that our Workflow Projects are more useful as modular components that can be incorporated into a larger process. In addition, they often can add value as a learning tool on how we integrate with other systems and how we do things within the Itential Automation Platform.

While these can be utilized, you may find more value in using them as a starting point to build around.

Prerequisites

Itential Workflow Projects are built and tested on particular versions of IAP. In addition, Workflow Projects are often dependent on external systems and as such, these Workflow Projects will have dependencies on these other systems. This version of F5 - BIG-IQ - REST has been tested with:

  • IAP 2023.2

External Dependencies

Name OS Version API Version
F5 BIG-IQ ^8.3.0

Adapters

Name Version Configuration Notes
adapter-f5_bigiq ^0.4.6

How to Install

To install the Workflow Project:

  • Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the Supported IAP Versions section in order to install the Example Project.
  • Import the Example Project in Admin Essentials.

Testing

Cypress is generally used to test all Itential Example Projects. While Cypress is an opensource tool, at Itential we have internal libraries that have been built around Cypress to allow us to test with a deployed IAP.

When certifying our Example Projects for a release of IAP we run these tests against the particular version of IAP and create a release branch in GitLab. If you do not see the Example Project available in your version of IAP please contact Itential.

While Itential tests this Example Project and its capabilities, it is often the case the customer environments offer their own unique circumstances. Therefore, it is our recommendation that you deploy this Example Project into a development/testing environment in which you can test the Example Project.

Using this Workflow Project

Workflow Projects contain 1 or more workflows. Each of these workflows have different inputs and outputs.

Upgrade BIG-IP Device - F5 - BIG-IQ

Upgrades BIG-IP device over F5 BIG-IQ

Capabilities include:

  • Upgrades F5 BIG-IP device over BIG-IQ API
  • Provides option to upload iHealth task before and after upgrade
  • Verify sufficient disk space exists on BIG-IP for upgrade
  • Verifies license key and provides form input for license key inputs if license re-activation needed and performs license re-activation
  • Performs rollback to volume prior to upgrade if upgrade fails
  • Performs device discovery and import after upgrade
  • Supports upgrade of HA pair of devices as well as upgrade of single device
  • Updates device upgrade task to include private keys
  • Checks BIG-IP device version compared to target software image version prior to upgrade
  • Checks active volume compared to target volume of BIG-IP device during rollback to see if different and to perform reboot if so

Entry Point IAP Component

The primary IAP component to run Upgrade BIG-IP Device - F5 - BIG-IQ is listed below:

IAP Component Name IAP Component Type
Upgrade BIG-IP Device - F5 - BIG-IQ Workflow

Inputs

The following table lists the inputs for Upgrade BIG-IP Device - F5 - BIG-IQ:

Name Type Required Description Example Value
deviceAData object yes Set of values for device A in HA pair to upgrade
{
  "deviceManagementAddress": "1.2.3.4",
  "deviceManagementPort": "443",
  "deviceManagementHostname": "",
  "machineIdFilterProperty": "address",
  "machineIdFilterValue": "5.6.7.8",
  "targetVolume": "HD1.2"
}
deviceBData string yes Set of values for device B in HA pair to upgrade. If no second device, leave values as empty string
{
  "deviceManagementAddress": "",
  "deviceManagementPort": "",
  "deviceManagementHostname": "hostname",
  "machineIdFilterProperty": "address",
  "machineIdFilterValue": "9.8.7.6",
  "targetVolume": "HD1.3"
}
deviceAData.deviceManagementAddress string yes IP address of BIG-IP for license re-activation. If using deviceManagementHostname for license re-activation, leave this value empty as ""
1.2.3.4
deviceAData.deviceManagementPort string yes Port of BIG-IP for license re-activation. If using deviceManagementHostname for license re-activation, leave this value empty as ""
443
deviceAData.deviceManagementHostname string yes Hostname of BIG-IP for license re-activation. If using deviceManagementAddress and deviceManagementPort for license re-activation, leave this value empty as ""
device_hostname
deviceAData.machineIdFilterProperty string yes The property to use to search for BIG-IP machine ID
address
deviceAData.machineIdFilterValue string yes The value to use to search for BIG-IP machine Id
1.2.3.4
deviceAData.targetVolume string yes Target volume on BIG-IP device to use for upgrade
HD1.2
credentialsFilterValue string yes Value to use to search for credential used in iHealth task upload. If not performing iHealth task upload, assign value ""
iHealth Credential Name
credentialsFilterProperty string yes Property to use to search for credential used in iHealth task upload. If not performing iHealth task upload, assign value ""
displayName
adapterId string yes IAP adapter to use to send requests to F5 BIG-IQ for automation
F5-BIG-IQ
deviceBackupLifeTime number yes The number of days to keep backup file on BIG-IQ
30
deviceBackupDescription string yes Description to associate with device file backup
Backup device before software upgrade
iHealthTaskName string yes The name to give to iHealth task name
Upload Task for Software Upgrade
importDeviceTaskName string yes Name of task for importing device to BIG-IQ
Rediscover adc_core
softwareUpgradeTaskName string yes Name of task for software upgrade
Upgrade BIG-IP
softwareImageName string yes Image on BIG-IQ to use for software upgrade
BIGIP-14.1.5.4-0.0.2.iso
uploadiHealthTask boolean yes Value used to determine whether or not to do iHealth upload. If true, performs iHealth upload before and after upgrade and if false, skips both iHealth upload steps.
true
deviceRebootWait number yes Amount of time in seconds to wait for device to reboot in the event a rollback is performed
300

Outputs

The following table lists the outputs for Upgrade BIG-IP Device - F5 - BIG-IQ:

Name Type Description Example Value
returnStatus string This value is assigned "SUCCESS" if the device upgrade succeeded and is assigned "FAILED" if any step of the device upgrade failed
SUCCESS

Query Output

The following items show how to query successful results from the output of Upgrade BIG-IP Device - F5 - BIG-IQ:

Result of Device Upgrade

returnStatus

Example Inputs and Outputs

Example 1

Input:

{
  "deviceAData": {
    "deviceManagementAddress": "1.2.3.4",
    "deviceManagementPort": "443",
    "deviceManagementHostname": "",
    "machineIdFilterProperty": "address",
    "machineIdFilterValue": "5.6.7.8",
    "targetVolume": "HD1.2"
  },
  "deviceBData": {
    "deviceManagementAddress": "",
    "deviceManagementPort": "",
    "deviceManagementHostname": "hostname",
    "machineIdFilterProperty": "address",
    "machineIdFilterValue": "9.8.7.6",
    "targetVolume": "HD1.3"
  },
  "softwareImageName": "BIGIP-14.1.5.5-0.0.2.iso",
  "softwareUpgradeTaskName": "Upgrade-BIG-IP",
  "credentialsFilterValue": "iHealth Name",
  "credentialsFilterProperty": "displayName",
  "adapterId": "F5-BIG-IQ",
  "deviceBackupLifeTime": 30,
  "deviceBackupDescription": "Backup Device",
  "importDeviceTaskName": "Rediscover adc_core",
  "iHealthTaskName": "Upload iHealth task",
  "uploadiHealthTask": true,
  "deviceRebootWait": 300
} 

Output:

{
  "returnStatus": "SUCCESS"
} 
Example 2

Input:

{
  "deviceAData": {
    "deviceManagementAddress": "1.2.3.4",
    "deviceManagementPort": "443",
    "deviceManagementHostname": "",
    "machineIdFilterProperty": "address",
    "machineIdFilterValue": "5.6.7.8",
    "targetVolume": "HD1.2"
  },
  "deviceBData": {
    "deviceManagementAddress": "",
    "deviceManagementPort": "",
    "deviceManagementHostname": "",
    "machineIdFilterProperty": "",
    "machineIdFilterValue": "",
    "targetVolume": ""
  },
  "softwareImageName": "BIGIP-14.1.5.5-0.0.2.iso",
  "softwareUpgradeTaskName": "Upgrade-BIG-IP",
  "credentialsFilterValue": "",
  "credentialsFilterProperty": "",
  "adapterId": "F5-BIG-IQ",
  "deviceBackupLifeTime": 30,
  "deviceBackupDescription": "Backup Device",
  "importDeviceTaskName": "Rediscover adc_core",
  "iHealthTaskName": "",
  "uploadiHealthTask": false,
  "deviceRebootWait": 300
} 

Output:

{
  "returnStatus": "SUCCESS"
} 

API Links

API Name API Documentation Link API Link Visibility
F5 BIG-IQ API Reference https://clouddocs.f5.com/products/big-iq/mgmt-api/v0.0/ApiReferences/bigiq_public_api_ref/r_public_api_references.html Public

Additional Information

Support

Please use your Itential Customer Success account if you need support when using this Workflow Project.