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

NameOverview
Upgrade BIG-IP Device - F5 - BIG-IQUpgrades 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.1

External Dependencies

NameOS VersionAPI Version
F5 BIG-IQ^8.3.0

Adapters

NameVersionConfiguration 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 NameIAP Component Type
Upgrade BIG-IP Device - F5 - BIG-IQWorkflow

Inputs

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

NameTypeRequiredDescriptionExample Value
deviceADataobjectyesSet 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"
}
deviceBDatastringyesSet 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.deviceManagementAddressstringyesIP 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.deviceManagementPortstringyesPort of BIG-IP for license re-activation. If using deviceManagementHostname for license re-activation, leave this value empty as ""
443
deviceAData.deviceManagementHostnamestringyesHostname of BIG-IP for license re-activation. If using deviceManagementAddress and deviceManagementPort for license re-activation, leave this value empty as ""
device_hostname
deviceAData.machineIdFilterPropertystringyesThe property to use to search for BIG-IP machine ID
address
deviceAData.machineIdFilterValuestringyesThe value to use to search for BIG-IP machine Id
1.2.3.4
deviceAData.targetVolumestringyesTarget volume on BIG-IP device to use for upgrade
HD1.2
credentialsFilterValuestringyesValue to use to search for credential used in iHealth task upload. If not performing iHealth task upload, assign value ""
iHealth Credential Name
credentialsFilterPropertystringyesProperty to use to search for credential used in iHealth task upload. If not performing iHealth task upload, assign value ""
displayName
adapterIdstringyesIAP adapter to use to send requests to F5 BIG-IQ for automation
F5-BIG-IQ
deviceBackupLifeTimenumberyesThe number of days to keep backup file on BIG-IQ
30
deviceBackupDescriptionstringyesDescription to associate with device file backup
Backup device before software upgrade
iHealthTaskNamestringyesThe name to give to iHealth task name
Upload Task for Software Upgrade
importDeviceTaskNamestringyesName of task for importing device to BIG-IQ
Rediscover adc_core
softwareUpgradeTaskNamestringyesName of task for software upgrade
Upgrade BIG-IP
softwareImageNamestringyesImage on BIG-IQ to use for software upgrade
BIGIP-14.1.5.4-0.0.2.iso
uploadiHealthTaskbooleanyesValue 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
deviceRebootWaitnumberyesAmount 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:

NameTypeDescriptionExample Value
returnStatusstringThis 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 NameAPI Documentation LinkAPI Link Visibility
F5 BIG-IQ API Referencehttps://clouddocs.f5.com/products/big-iq/mgmt-api/v0.0/ApiReferences/bigiq_public_api_ref/r_public_api_references.htmlPublic

Additional Information

Support

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