f5-appsvcs-extension
f5-appsvcs-extension copied to clipboard
Unable to declare Service_Address when there are multiple virtuals using the same IP address
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:
- 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
}
}
}
}
}
- 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,
I believe the functionality you're asking for was added in 3.20.
See here for implementation details.
Thank you @kreynoldsf5