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

Unable to declare Service_Address when there are multiple virtuals using the same IP address

Open zongzw opened this issue 3 years ago • 1 comments

Environment

  • Application Services Version: 3.36.1
  • BIG-IP Version: BIG-IP 15.1.5.1

Summary

There will be an error Invalid Virtual Address, the IP address xx.xx.xx.xx already exists, if we let multiple virtuals refer to the same virtual address. See the declaration in "Steps To Reproduce" session.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
{
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.29.0",
        "id": "123abcd",
        "label": "f5_test003",
        "remark": "HTTP application",
        "f5_test003": {
            "class": "Tenant",
            "f5_test001": {
                "class": "Application",
                "template": "generic",
                "app_svc_vip": {
                    "class": "Service_Address",
                    "virtualAddress": "172.16.10.10",
                    "arpEnabled": true
                },
                "app_svc_vs_demo1": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        {"use": "app_svc_vip"}
                    ],
                    "virtualPort": 81
                },
                "app_svc_vs_demo2": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        "172.16.10.10"
                    ],
                    "virtualPort": 82
                }
            },
            "f5_test002": {
                "class": "Application",
                "template": "generic",
                "app_svc_vs_demo1": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        "172.16.10.10"
                    ],
                    "virtualPort": 83
                },
                "app_svc_vs_demo2": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        "172.16.10.10"
                    ],
                    "virtualPort": 84
                }
            }
        }
    }
}

  1. Observe the following error response:
{
  "results": [
    {
      "code": 422,
      "message": "declaration failed",
      "response": "0107176c:3: Invalid Virtual Address, the IP address 172.16.10.10 already exists.",
      "host": "localhost",
      "tenant": "f5_test003",
      "runTime": 1043
    }
  ],
  "declaration": {
    "class": "ADC",
    "schemaVersion": "3.29.0",
    "id": "123abcd",
    "label": "f5_test003",
    "remark": "HTTP application",
    "updateMode": "selective",
    "controls": {
      "archiveTimestamp": "2022-07-17T09:08:25.974Z"
    }
  },
  "code": 422
}

Expected Behavior

You may have noticed this issue or considered as an invalid declaration. If so, please ignore this reporting.

This issue is because of the 2 virtual-address : "app_svc_vip" and "172.16.10.10" are conflict with each other. Is it possible to use the IP Address as the name of virtual Address, although it is declared as "app_svc_vip"? So that there would be no conflict between "app_svc_vip" and "172.16.10.10".

Actual Behavior

See Expected Behavior

zongzw avatar Jul 17 '22 09:07 zongzw

@zongzw,

I believe the functionality you're asking for was added in 3.20.

See here for implementation details.

kreynoldsf5 avatar Jul 18 '22 15:07 kreynoldsf5

Thank you @kreynoldsf5

sunitharonan avatar Sep 06 '22 17:09 sunitharonan