f5-appsvcs-extension
f5-appsvcs-extension copied to clipboard
3.49 regression, cannot have empty remark on pool member
Environment
- Application Services Version: 3.49.0-6
- BIG-IP Version: 15.1.10.2
Summary
With version 3.48 and older you could have a pool member with "remark" set to an empty string. Starting with version 3.49.0 the same JSON payload results in an error returned from BIG-IP.
Steps To Reproduce
Steps to reproduce the behavior:
- Submit the following declaration:
{"class": "AS3", "action": "deploy", "persist": true, "declaration": {"class": "ADC", "schemaVersion": "3.16.0", "id": "test-declaration-0", "label": "Test Declaration 0", "remark": "Test Declaration for F5 Support Case Apps", "F5_Support_Case_Acpt": {"class": "Tenant", "case_NEW": {"class": "Application", "template": "generic", "vs_case_NEW-acpt-llb.example.com": {"class": "Service_HTTP", "remark": "F5 Support Ticket NEW", "virtualAddresses": ["10.127.0.99"], "virtualPort": 80, "persistenceMethods": [{"bigip": "/Common/cookie_encrypt"}], "fallbackPersistenceMethod": {"bigip": "/Common/source_addr"}, "pool": "case_NEW_acpt_pool", "iRules": []}, "case_NEW_acpt_pool": {"class": "Pool", "monitors": ["tcp"], "members": [{"remark": "", "servicePort": 443, "serverAddresses": ["10.0.0.99"], "priorityGroup": 0, "shareNodes": true, "adminState": "enable"}]}}}}}
You will see a successful application of the declaration.
-
Submit the same declaration a second time.
-
Observe the following error response:
{
"code": 422,
"message": "declaration failed",
"response": "01020066:3: The requested Pool Member (/F5_Support_Case_Acpt/case_NEW/case_NEW_acpt_pool /Common/10.0.0.99 443) already exists in partition F5_Support_Case_Acpt.",
"host": "localhost",
"tenant": "F5_Support_Case_Acpt",
"runTime": 7819
}
Expected Behavior
The JSON payload should either be accepted as it was before or a different type of error message should be generated.
Actual Behavior
The pool is not updated. Error is returned.
@lm-sig please contact me at [email protected] so i can link this bug fix to a customer name
Temporarily adding the untriaged label for workflow debugging.
We are hit with the same issue after upgrade to AS3 3.49 recently. I would much appreciate if this could be prioritized on your side @dstokesf5 @mdditt2000 I believe you know the customer name by now ;-) But I'll send an email as well..
I created a separate case ( #807 ) after all, because I noticed we do not use empty remark on the pool member so the symptom does not exactly match. But the error "pool member already exists" does match one of the two errors we observe after the upgrade to 3.49
Hello,
We are experiencing what seems to be the same problem while trying to post any tenant declaration :
{
"code": 422,
"message": "declaration failed",
"response": "01020066:3: The requested Pool Member (/Common/Shared/partition_name /Common/1.2.3.4 0) already exists in partition Common.",
"host": "localhost",
"tenant": "Common",
"runTime": 5697,
"declarationId": "urn:uuid:2380e52e-9112-4a11-af83-4e5cfbd447b1"
}
We are trying to upgrade AS3 from 3.46 to 3.54. Any news on ways to fix this issue ?
Resolved in AS3-55 "AUTOTOOL-4718"
AS3-55 will be posted in November once we upgrade all packages to remove any known CVEs. Could you message me if you want an early version?
Closing this issue out