Forum Discussion
Big-IQ AS3 - Invalid Node, the IP address X.X.X.X already exists
We are in the process of implementing automation through AS3 and Big-IQ. I am currently running into an issue where I have multiple tenants that use the same pool member IP addresses, but different ports for each tenant application. When I declare the second Tenant, I receive an error that states the IP address already exists. Is there any way I can reuse pool members with different AS3 tenants?
{
"msg": [
"The AS3 declaration returned an error.",
{
"status": 422,
"response": {
"results": [
{
"message": "Failed to send declaration: status:422, body:{\"results\":[{\"message\":\"declaration failed\",\"response\":\"0107176c:3: Invalid Node, the IP address X.X.X.X%1 already exists.\",\"code\":422,\"host\":\"localhost\",\"tenant\":\"DEV_APP02\",\"runTime\":1177}],\"declaration\":{\"remark\":\"HTTPS with predictive-node pool\",\"label\":\"DEV_APP02\",\"id\":\"2d30988f-8379-48cc-b239-48c31c0534ba\",\"schemaVersion\":\"3.0.0\",\"class\":\"ADC\",\"updateMode\":\"selective\",\"controls\":{\"archiveTimestamp\":\"2019-09-16T19:15:30.558Z\"}},\"code\":422}",
"code": 422,
"host": "localhost",
"tenant": "DEV_APP02",
"runTime": 11557
}
],
"declaration": {
"updateMode": "selective",
"remark": "HTTPS with predictive-node pool",
"target": {
"address": "X.X.X.X"
},
"class": "ADC",
"controls": {
"archiveTimestamp": "2019-09-16T19:15:33.914Z"
},
"label": "DEV_APP02",
"schemaVersion": "3.0.0",
"id": "xxxx-xxxx-xxxx"
}
}
}
],
"changed": false,
"_ansible_no_log": false
}
Thanks,
Brian Burns
Sounds like you should be able to use the following in your pool member section:
"shareNodes": true
This will create the Nodes in the Common partition, but be aware that those nodes in that Common partition will show up in all of the other tenants even if they are not using it.
so for example my node declarations look like this.
...
"app1_pool": {
"class": "Pool",
"monitors": [
"http"
],
"loadBalancingMode": "least-connections-member",
"members": [
{
"adminState": "enable",
"shareNodes": true,
"servicePort": 80,
"serverAddresses": [
"2.2.2.2"
],
"hostname": "vmmsjontestp01"
},
{
"adminState": "enable",
"shareNodes": true,
"servicePort": 80,
"serverAddresses": [
"3.3.3.3"
],
"hostname": "vmmsjontestp02"
}
{
"adminState": "enable",
"shareNodes": true,
"servicePort": 80,
"serverAddresses": [
"4.4.4.4"
],
"hostname": "vmmsjontestp03"
}
- cookiemonsterAltostratus
Sounds like you should be able to use the following in your pool member section:
"shareNodes": true
This will create the Nodes in the Common partition, but be aware that those nodes in that Common partition will show up in all of the other tenants even if they are not using it.
so for example my node declarations look like this.
...
"app1_pool": {
"class": "Pool",
"monitors": [
"http"
],
"loadBalancingMode": "least-connections-member",
"members": [
{
"adminState": "enable",
"shareNodes": true,
"servicePort": 80,
"serverAddresses": [
"2.2.2.2"
],
"hostname": "vmmsjontestp01"
},
{
"adminState": "enable",
"shareNodes": true,
"servicePort": 80,
"serverAddresses": [
"3.3.3.3"
],
"hostname": "vmmsjontestp02"
}
{
"adminState": "enable",
"shareNodes": true,
"servicePort": 80,
"serverAddresses": [
"4.4.4.4"
],
"hostname": "vmmsjontestp03"
}
- Brian_BurnsNimbostratus
Thanks CookieMonster! That worked perfectly!
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com