Open adityoari opened 1 month ago
Chances are this is stemmed on how iControl REST presents the virtual-address objects in BIG-IP by URL encoding the %
character to %25
.
I reckon AS3 would search for the literal value of virtualAddresses
element (e.g. 10.1.100.1%1
), but since the iControl REST server indexes the object with the URL encoding 10.1.100.1%251
it would return Not Found error.
Sample REST output showing the URL encoding in the selfLink
property:
[admin@ip-10-1-1-4:Standby:In Sync] tmp # curl -sku rest: 'http://localhost:8100/mgmt/tm/ltm/virtual-address/~Common~10.1.100.1%251' | jq .
{
"kind": "tm:ltm:virtual-address:virtual-addressstate",
"name": "10.1.100.1%1",
"partition": "Common",
"fullPath": "/Common/10.1.100.1%1",
"generation": 4024,
"selfLink": "https://localhost/mgmt/tm/ltm/virtual-address/~Common~10.1.100.1%251?ver=16.1.4.1",
"address": "10.1.100.1%1",
"arp": "enabled",
<!--- snipped for brevity --->
}
This means that the ideal fix would need to cater for such URL encoding during object name search, in at least one of the following scenarios:
%
character (and perhaps other characters which require URL encoding) in bigip
property valuevirtualAddresses
element value (and perhaps other similar properties e.g. sourceAddress
) AUTOTOOL-4448 has been created and added to our backlog, mentioned the same in the escalation raised for this issue.
Environment
Summary
Using
bigip
pointer invirtualAddresses
object to reference pre-exising virtual-address with %RD prefix in Common partition results in 422 error response "Unable to find /Common/10.1.100.1%1 for /Tenant01/A1/vs1/virtualAddresses/0"Steps To Reproduce
Steps to reproduce the behavior:
Have a virtual-address with %RD in Common partition
Submit the following declaration:
Observe the following error response:
Using TMSH to create VS works fine:
Expected Behavior
AS3 is able to create the VS with pre-existing virtual-address having %rRD suffix
Actual Behavior
Declaration fails with code 422 and error message "Unable to find /Common/10.1.100.1%1 for /Tenant01/A1/vs1/virtualAddresses/0"
Additional Notes
Using Service_Address in AS3 or creating the virtual-address manually using non-literal address is currently not feasible for the customer due to BIG-IP Bug ID1589133