This repository delivers a turnkey Ansible automation framework aimed at modernizing legacy F5 BIG-IP platforms by streamlining the migration, upgrade, and restoration of critical configurations across older and newer appliance models. The codebase is organized into distinct folders for standalone (single-node) and high-availability (HA) deployments, and includes a comprehensive roles directory encapsulating reusable functionality such as backup (UCS/crypto), disable tasks, tenant creation, and restoration workflows.
Organizations running older BIG-IP hardware or software versions often face challenges when upgrading to newer F5 platforms such as rSeries, VELOS. Manual migration and restoration processes are error-prone and time-consuming, especially in high-availability (HA) environments.
We provide Playbooks and Roles for F5 BIG-IP Modernization through Automation, which can be implemented using Ansible Automation Platform Controller. There are at examples in each scenario (standalone, HA) containing example variables and provided recommended group_vars and host_var names. Additionally, demonstration videos of the solutions in use are provided at the bottom.
This code is intended for customer/partner use and the primary intent of this codebase is to provide a repeatable, automated solution for migrating and upgrading from Legacy F5 BIG-IP platforms (iSeries, non-iSeries, Viprion, VCMP) to Next-Gen BIG-IP Platforms (rSeries/Velos) in enterprise environments.
-
Requires Python 3.11 or Higher
-
Requires Ansible 2.15 or Higher
-
Users also need to include platform collections as per their requirements. The supported platform collections are:
- If you would like to utilize an existing Execution Environment in your Lab for this EE its located at
- Standalone BIG-IP systems — single appliance or virtual instance.
- High-Availability pairs — supporting both combined and sequential upgrade paths.
To consume this Validated Content from Automation Hub, please ensure that you add the following lines to your ansible.cfg file.
[galaxy]
server_list = automation_hub
[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=<SuperSecretToken>
The token can be obtained from the Automation Hub Web UI.
Once the above steps are done, you can run the following command to install the collection.
ansible-galaxy collection install
Once installed, you can reference the f5-bd-ansible-platform-modernization collection content to import Templates into Ansible Automation Platform Controller to migrate from older F5 BIG-IP platforms to newer ones.
- Executed from Ansible Automation Platform against F5 devices using
httpapiorlocalconnections. - Playbooks and README files are located under:
standalone/high_availability/
- Commonly used to migrate from Legacy BIG-IP 15.x or 16.x Versions to BIG-IP 17.x or 21.x, or to transition from legacy hardware to modern F5 platforms like rSeries and VELOS.
If you want to see an example of the Code in use see https://www.youtube.com/watch?v=V676EF_bq-4
GNU General Public License v3.0 or later
See LICENSE to see the full text.