https://github.com/memes/f5-bigip-ha-replace-edition
Examples and instructions for changing the deployed BIG-IP edition (PAYG vs. BYOL, Good/Better/Best, Throughput) while maintaining service to origins
https://github.com/memes/f5-bigip-ha-replace-edition
Last synced: about 1 year ago
JSON representation
Examples and instructions for changing the deployed BIG-IP edition (PAYG vs. BYOL, Good/Better/Best, Throughput) while maintaining service to origins
- Host: GitHub
- URL: https://github.com/memes/f5-bigip-ha-replace-edition
- Owner: memes
- License: apache-2.0
- Created: 2023-03-21T15:26:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T21:20:48.000Z (over 1 year ago)
- Last Synced: 2025-03-12T22:26:15.373Z (over 1 year ago)
- Language: Python
- Size: 39.8 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Replace F5 BIG-IP edition in an HA pair


[](CODE_OF_CONDUCT.md)
This repo is a guide to changing the BIG-IP edition of a production HA pair in
Google Cloud with minimal disruption to traffic and preserving your infrastructure-as-code
state so it matches actual infrastructure resources for each stage of the process.
For example, you can upgrade from Good to Best+ edition, or transition VEs from
PAYG to perpetual licenses (BYOL), or vice-versa.
While the examples are specific to GCP the general technique should be equally
applicable to other private and public cloud deployments.
> NOTE: These techniques cannot be used to **change** the BIG-IP version of the
> deployment - *ConfigSync* continues to manage cluster state and thus requires
> that the base BIG-IP versions are identical for all devices in the group.
## Scenarios in this repo
|Upstream F5 Solution|Upstream version|Linked scenario(s)|Notes|
|-----------------|----------------|-------|-----|
|[GDM v1 via-API, 3nic, PAYG]|v4.3.0|[Throughput change(25Mbps -> 1Gbps)](GDMv1/supported/failover/same-net/via-api/3nic/existing-stack/payg/)||
## Approach taken
All the scenarios follow the basic steps:
### Step 0: Starting point

* *BIG-IP VE 1* and *BIG-IP VE 2* are an existing HA pair deployed using one of
F5's supported or community repositories
* The cluster is in a known-good state
### Step 1: Expand the cluster
The first step is to add new VEs running target edition
> NOTE: This step is specific to your starting point; in order to preserve
> IaC state and avoid future issues follow the directions in **step-1-expand**
> folder for your scenario.
* [GDM v1 via API, 3nic, PAYG](GDMv1/supported/failover/same-net/via-api/3nic/existing-stack/payg/)

* Two new BIG-IP VEs are added to GCP; *BIG-IP VE 3* and *BIG-IP VE 4*
* *BIG-IP VE 3* and *BIG-IP VE 4* are functionally standalone
* All four VEs should be running the same set of extensions (e.g. DO, AS3,
CFE - if applicable, etc.) and the same release versions of the extensions
### Step 2: Extend BIG-IP HA configuration to new VEs
Good news! These steps are common to all the examples and could serve as a
starting point if your specific scenario is not in this repo. A detailed
walkthrough can be found in [Modifying HA].
a. Extend *device trust* to include the new VEs

b. **Force Offline** the new VEs

c. Extend the *failover group* to the new VEs

d. Release Offline and force failover to a new VE

e. Reduce failover group to exclude the original VEs

f. Reduce device trust to exclude the original VEs

### Step 3: Remove the original VEs from deployment
> NOTE: This step is specific to your starting point; in order to preserve
> IaC state and avoid future issues follow the directions in **step-3-reduce**
> folder for your scenario.
* [GDM v1 via API, 3nic, PAYG](GDMv1/supported/failover/same-net/via-api/3nic/existing-stack/payg/)

[GDM v1 via-API, 3nic, PAYG]: https://github.com/F5Networks/f5-google-gdm-templates/tree/v4.3.0/supported/failover/same-net/via-api/3nic/existing-stack/payg
[Modifying HA]: Modifying_HA.md