Modernizing F5 Platforms with Ansible
I’ve been meaning to publish this article for some time now. Over the past few months, I’ve been building Ansible automation that I believe will help customers modernize their F5 infrastructure. This especially true for those looking to migrate from legacy BIG-IP hardware to next-generation platforms like VELOS and rSeries.
As I explored tools like F5 Journeys and traditional CLI-based migration methods, I noticed a significant amount of manual pre-work was still required. This includes:
- Ensuring the Master Key used to encrypt the UCS archive is preserved and securely handled
- Storing UCS, Master Key and information assets in a backup host
- Pre-configuring all VLANs and properly tagging them on the VELOS partition before deploying a Tenant OS
To streamline this, I created an Ansible Playbook with supporting roles tailored for Red Hat Ansible Automation Platform. It’s built to perform a lift-and-shift migration of a F5 BIG-IP configuration from one device to another—with optional OS upgrades included.
In the demo video below, you’ll see an automated migration of a F5 i10800 running 15.1.10 to a VELOS BX110 Tenant OS running 17.5.0—demonstrating a smooth, hands-free modernization process.
Currently Working
- Velos
- Velos Controller/Partition running (F5OS-C 1.8.1) - which allows Tenant Management IP to be in a different VLAN
- Migrates a standalone F5 BIG-IP i10800 to a VELOS BX110 Tenant OS
- VLAN'ed Source tenant required (Doesn’t support non-vlan tenants)
- rSeries
- Shares MGMT IP with the same subnet as the Chassis Partition.
- Migrates a standalone F5 BIG-IP i10800 to a R5000 Tenant OS
- VLAN'ed Source tenant required (Doesn’t support non-vlan tenants)
- Handles:
- Configuration and crypto backup
- UCS creation, transfer, and validation
- F5OS System VLAN Creation, and Association to Tenant - (Does Not manage Interface to VLAN Mapping)
- F5 OS Tenant provisioning and deployment
- inline OS upgrades during the migration
Roadmap / What's Next
- Expanding Testing to include Viprion/iSeries (Using VCMP) Tenant Testing.
- Supporting hardware-to-virtual platform migrations
- Adding functionality for HA (High Availability) environments
Watch the Demo Video
View the Source Code on GitHub
This project is built for the community—so feel free to take it, fork it, and expand it. Let’s make F5 platform modernization as seamless and automated as possible.