F5 BIG-IP

Configure the OneFuse F5 BIG-IP Pluggable Module for AS3-based load balancer automation

Feature highlights

  • AS3-powered
  • Integrates with OneFuse Naming, IPAM, and DNS modules to provide services directly within AS3 declarations
  • Provisioning and deprovisioning scenarios:
    • Create and destroy a new service (for example, a VIP) at once
    • Create a new service (for example, a VIP) and add or remove members and nodes incrementally. As members and machines are deprovisioned, they are removed from the service, and the last member or machine out deletes the service. For example:
      • The first member or machine matching the Tracking ID or (unique) additive key and tagged with the Policy creates the service
      • Any additional members or machines get added to the service
  • Supports Day 2 operations
  • View F5 supported versions

Prerequisites

  1. Learn about F5 BIG-IP.
    • Visit the F5 Knowledge Center for BIG-IP.
  2. Install and set up F5 BIG-IP.
  3. Install and set up F5 AS3 on F5 BIG-IP.
  4. Create a OneFuse Service Account in F5 BIG-IP.
  5. Learn about F5 Application Services 3 Extension and Composing an AS3 Declaration.
  6. If the OneFuse Appliance does not have an internet connection, follow the instructions in the section below.

OneFuse Appliance without internet connection

Offline setup overview

  1. SSH to the OneFuse Appliance.
  2. Verify that Python and pip are installed.
  3. Perform pip installs.

Verify Python and pip

  1. Verify that Python is installed.

    If Python is not installed, or if you are upgrading, download the latest Python from python.org.

  2. Verify that pip is installed. If it is not, install pip.

  3. Review Python’s Installing Packages documentation.

Install the OneFuse Python Package

The OneFuse Python Module is distributed as a Python Package. Install it using pip.

  1. Open a Command Prompt or Terminal window.
  2. Install the OneFuse Python Package:
    • Option 1, install the latest version: Run pip install onefuse.
    • Option 2, install a specific version: Optionally, list available versions first, then run pip install onefuse==<version>.

Upgrade the OneFuse Python Package

Upgrade to the latest OneFuse Python Package using pip.

  1. Open a Command Prompt or Terminal window.
  2. Run pip install --upgrade onefuse.

Setup overview

  1. Download the Pluggable Module.
  2. Upload the Pluggable Module to OneFuse.
  3. Create a Connection info for the F5 BIG-IP Endpoint.
  4. Create the Module Policy.
  5. Consume the F5 BIG-IP Policy through an Upstream Provider.

Download the OneFuse Pluggable Module

Access the CloudBolt download article to obtain the Pluggable Module ZIP folder.

  1. Log in with your CloudBolt Connect account.
  2. Download the OneFuse Pluggable Module ZIP folder.

Upload the module to OneFuse

For first time uploads and upgrading, perform the following:

  1. Log in to the OneFuse UI with an account that has the OneFuse Super Admin Global role.
  2. Select the wrench icon button on the top left of the Top App Bar to access the Super Admin UI.
  3. Select Pluggable Modules.
  4. Select the Upload button on the top-right of the Pluggable Module Management datatable.
  5. Select Module File (.zip) to select the latest Pluggable Module ZIP folder.
  6. Select Upload.
  7. Upon successful upload, you will be redirected and see the newly uploaded module listed in the Pluggable Module Management datatable.

Create Connection Info

Create and manage Connection Info for the Pluggable Module Endpoint.

Field Description
Connection Name In the sample payloads, the f5_endpoint value (Connection Info Name) is set to F5_BIGIP_14.
Connection Host F5 BIG-IP Appliance in FQDN or IP address format.
Credentials
Authentication Type Select Basic.
Username/Password Credentials for the OneFuse Service Account in F5 BIG-IP.

Access module policies

  1. Log in to the OneFuse UI.
  2. In the Workspace, select Module > F5 BIG-IP (under the Pluggable section) from the left navigation menu.

This area displays all active Module Policies and Deployments. Perform the following actions from the Actions column:

Action Workspace role(s)
View Admins, Members, or Viewers
Edit Admins or Members
Delete Admins or Members

Manage pluggable module policies

Once the Pluggable Module is uploaded by a OneFuse Super Admin, manage OneFuse Pluggable Module Policies.

Module policy form

Field Description
Module Policy Name Enter a name for this Module Policy.
Description Optional description for this Module Policy.
Policy Parameters Provide provisioning and deprovisioning scenarios. See Sample payloads.
Day2 Action Parameters Optional. Provide Day2 Action parameters.

Create a module policy

  1. Access module policies.

  2. Select Create on the top-right of the F5 BIG-IP Policies datatable.

  3. Fill out the Module policy form.

    Refer to the Sample payloads section below for examples.

  4. Input Policy Parameters for provision and/or de-provision scenarios for the Module Policy.

  5. Select Create.

Update a module policy

  1. Access module policies.
  2. Find the Module Policy to update and select the edit icon.
  3. Edit the information on the Module policy form.
  4. Select Update.

Delete a module policy

  1. Access module policies.
  2. Find the Module Policy and select the delete icon.
  3. Select Delete to confirm.

Sample payloads for module policy

See Sample payloads for F5 BIG-IP policy parameter examples.

Optional policy parameters

Parameter name Description
locking_level Select at which level to lock concurrent runs. Options: tracking_id, endpoint (locks everything by Connection Info/Endpoint, similar to Single Threaded Operations on other Module Endpoints), additive_key, none, auto. If no value is provided, it defaults to auto: if additive_key, additive_resource_name or additive_data is not null, locking defaults to additive_key, otherwise endpoint.
wait_seconds_for_prior_transactions Number of seconds to wait for prior transactions. If omitted, defaults to 20 if additive_key, additive_resource_name or additive_data is not null, otherwise 0.

Consume pluggable module with an upstream provider