f5-appsvcs-extension icon indicating copy to clipboard operation
f5-appsvcs-extension copied to clipboard

AS3 Declaration Fails to Update IP Addresses for Pool Members in F5 Configuration

Open ppieprzycki opened this issue 1 year ago • 4 comments

Environment

  • Application Services Version: f5-appsvcs-3.50.2-3.noarch
  • BIG-IP Version: BIG-IP 16.1.4.2 Build 0.0.3 Point Release 2

Summary

Unable to change IP address for backend pool with AS3 declaration.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:

    {
        "test-tenant1": {
            "APP_inttest1": {
                "POOL_inttest1": {
                    "class": "Pool",
                    "members": [
                        {
                            "priorityGroup": 20,
                            "servers": [
                                {
                                    "address": "10.11.11.10",
                                    "name": "nodes.webserver1.networks.intern.ipv4"
                                },
                                {
                                    "address": "10.11.11.11",
                                    "name": "nodes.webserver2.networks.intern.ipv4"
                                }
                            ],
                            "servicePort": 80
                        }
                    ],
                    "monitors": [
                        {
                            "bigip": "/Common/tcp"
                        }
                    ]
                },
                "SA_inttest1": {
                    "arpEnabled": true,
                    "class": "Service_Address",
                    "icmpEcho": "enable",
                    "routeAdvertisement": "always",
                    "spanningEnabled": false,
                    "trafficGroup": "none",
                    "virtualAddress": "10.10.1.1"
                },
                "SRV_inttest1": {
                    "class": "Service_HTTPS",
                    "label": "inttest1",
                    "pool": "POOL_inttest1",
                    "profileHTTP": {
                        "bigip": "/Common/http"
                    },
                    "serverTLS": {
                        "bigip": "/Common/test_cert"
                    },
                    "snat": "none",
                    "virtualAddresses": [
                        {
                            "use": "SA_inttest1"
                        }
                    ],
                    "virtualPort": 443
                },
                "class": "Application",
                "label": "inttest1",
                "template": "generic"
            },
            "class": "Tenant",
            "defaultRouteDomain": 0
        },
        "schemaVersion": "3.50.0"
    }
    
  2. Then submit the following change to use different IP addresses for pool members:

    ~ as3_json = jsonencode(
        ~ {
            ~ declaration = {
                ~ test-tenant1 = {
                    ~ APP_inttest1 = {
                        ~ POOL_inttest1 = {
                            ~ members = [
                                ~ {
                                    ~ servers = [
                                        ~ {
                                            ~ address = "10.11.11.10" -> "10.11.21.10"
                                            name = "nodes.webserver1.networks.intern.ipv4"
                                        },
                                        ~ {
                                            ~ address = "10.11.11.11" -> "10.11.21.11"
                                            name = "nodes.webserver2.networks.intern.ipv4"
                                        },
                                    ]
                                },
                            ]
                        }
                    }
                }
            }
        }
    )
    
  3. Observe the following error response: No error visible for update.

Declaration on the device shows new IP addresses values for backend pools. However, this is not reflected in the F5 configuration: https://loadbalancer/mgmt/shared/appsvcs/declare/test-tenant1

Expected Behavior

IP addresses for pool members should be changed.

Actual Behavior

IP addresses in F5 configuration still point to old values. IP addresses should be updated or member recreated.

ppieprzycki avatar Jun 18 '24 16:06 ppieprzycki

Got the same issue...

mivsmirnov avatar Jun 25 '24 16:06 mivsmirnov

Thank you for reaching out. We have created a internal product backlog for this item, in order for us to prioritize please reach out to us at [email protected]

sunitharonan avatar Jul 08 '24 19:07 sunitharonan

Same issue

Tobse95 avatar Oct 21 '24 17:10 Tobse95

Same issue on AS3 3.53.0-7

This is a breaking issue as incorrect configuration gets applied with no error message.

ee-github avatar May 29 '25 20:05 ee-github

Putting in Github issue into AS5-56 post October Sprint

mdditt2000 avatar Sep 17 '25 21:09 mdditt2000

Issue slipped AS3.55. Please open a F5 Service Request to prioritize. GitHub has no SLA.

mdditt2000 avatar Oct 29 '25 15:10 mdditt2000