RavinderReddyF5 / terraform-provider-bigip-version0.12

Terraform resources that can configure F5 BIGIP products
Mozilla Public License 2.0
0 stars 0 forks source link

Feature request: Ability to Sync F5 pair after applying F5 config #135

Open RavinderReddyF5 opened 4 years ago

RavinderReddyF5 commented 4 years ago

Issue by blakesherry Monday May 06, 2019 at 21:42 GMT Originally opened as https://github.com/terraform-providers/terraform-provider-bigip/issues/104


Currently I don't see the capability to create pools, nodes, and health monitors to an F5 pair. provider "bigip" { address = "${var.url}" only allows a single host and I don't see a way to sync F5's also, if I was able to list multiple F5 hosts

RavinderReddyF5 commented 4 years ago

Comment by dannyk81 Monday May 06, 2019 at 22:35 GMT


I'm assuming you are not using automatic sync?

If you use Terragrunt you can add an After-Hook to run a Sync command.

Additionally you can setup provider aliases to point to different bigip nodes and invoke that provider in the resources block as required.

For example:

provider "bigip" {
  alias    = "bigip01"
  address  = "${var.bigip01_url}"
  username = "${var.bigip_username}"
  password = "${var.bigip_password}"
}

provider "bigip" {
  alias    = "bigip02"
  address  = "${var.bigip02_url}"
  username = "${var.bigip_username}"
  password = "${var.bigip_password}"

Using the above you can reference the provider alias in any resource, e.g.:

resource "bigip_net_vlan" "bigip01_app_vlan" {
  name = "${format("/%s/%s", var.bigip_app_partition, var.bigip_vlan_names["app"])}"
  tag = "${var.app_vlan_id}"
  interfaces = {
    vlanport = "${var.bigip_trunk_name}",
    tagged = true
  }

  provider = "bigip.bigip01"
}

This method however will require doubling each resource to configure it on both bigip nodes (if they are an HA pair).

RavinderReddyF5 commented 4 years ago

Comment by blakesherry Tuesday May 14, 2019 at 15:13 GMT


currently we do not auto sync F5 pairs. I will look into Terragrunt and add an After-Hook to run a Sync command.