f5-appsvcs-extension
f5-appsvcs-extension copied to clipboard
The requested Pool Member already exists in partition <name> when using shareNodes
Environment
- Application Services Version: 3.52.0
- BIG-IP Version: 17.1.1.1
Summary
When creating a pool with a member that is defined in "servers" property, it results in an error message saying that the node exists in the Partition relating to the pool itself.
Steps To Reproduce
Steps to reproduce the behavior:
- Submit the following declaration:
{
"class": "AS3",
"action": "deploy",
"persist": true,
"declaration": {
"class": "ADC",
"schemaVersion": "3.52.0",
"id": "id",
"label": "WebApp",
"IAM": {
"class": "Tenant",
"Shared": {
"class": "Application",
"template":"shared"
},
"PROD": {
"class": "Application",
"myPool": {
"class": "Pool",
"label": "Pool for myVS",
"members": [{"servers": [{"address": "1.1.1.1", "name": "localGateway"}], "servicePort": 161, "shareNodes": true}],
"remark": "Pool for myVS"
},
}
}
}
}
- Submit the declaration a 2nd time
- Observe the following error response:
"The operation for IAM has returned code: 422 with the following message: 01020066:3: The requested Pool Member (/IAM/PROD/myPool /Common/localGateway 161) already exists in partition IAM."}
Expected Behavior
I have several other pools using this methodology using FQDN nodes and it doesn't cause issues. For example, replace the pool with
"myPool2": {
"class": "Pool",
"members": [{"hostname": "slp-fram-003.stholdco.com", "servicePort": 8443, "addressDiscovery": "fqdn", "autoPopulate": true, "shareNodes": true}]
}
If using this, you can re-issue the declaration and it will work.
Actual Behavior
You get the error from #3.
Work around
You can avoid this if you are okay with not naming your nodes. For example, if using "serverAddresses"
"myPool": {
"class": "Pool",
"members": [{"serverAddresses": ["1.1.1.1"], "servicePort": 161, "addressDiscovery": "static", "shareNodes": true}],
}