f5-appsvcs-extension
f5-appsvcs-extension copied to clipboard
GSLB_Server class does not delete out of band changes
Environment
- Application Services Version: 3.51.0
- BIG-IP Version: 15.1.x
Summary
GSLB_Server class does not detect or delete out of band changes.
((Semi-Related background information)) I came across this BZ while trying to make an out-of-band change to an AS3 object (GTM server -> Virtual Server) and then make that same change in AS3 schema to bring the current configuration in-line with AS3 desired configuration. AS3 should detect the out-of-band change on the Big-IP, and then see that it matches AS3 desired state so there would be no change. This works as expected for classes such as Data_Group or Policy_WAF. Instead, class GSLB_Server does NOT detect the out of band change and wants to re-create the change that was already performed out of band.
Example of this, is adding a net-new GTM server -> Virtual server OOB, then add the same entity to AS3 state, and then POST AS3. AS3 should come back with no change (like it does for class Data_Group) however its trying to make the same change of adding a GTM server -> Virtual server.
A more practical example of this issue is that class GSLB_Server does not delete out-of-band changes, so I focused this git issue on that, with hopes that it also gives me the behavior I want for handing OOB changes.
Steps To Reproduce
Steps to reproduce the behavior:
- Submit the following declaration:
{
"class": "ADC",
"schemaVersion": "3.25.0",
"id": "GSLB_Sample",
"Common": {
"class": "Tenant",
"Shared": {
"class": "Application",
"template": "shared",
"testDataCenter": {
"class": "GSLB_Data_Center"
},
"testServer": {
"class": "GSLB_Server",
"dataCenter": {
"use": "testDataCenter"
},
"devices": [
{
"address": "1.2.3.7"
}
],
"virtualServers": [
{
"address": "1.2.3.8",
"port": 5050
},
{
"address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"port": 5051
},
{
"address": "1.2.3.9",
"port": 5050
}
]
},
"testDomain": {
"class": "GSLB_Domain",
"domainName": "OTHER.edu",
"resourceRecordType": "A"
}
}
}
}
-
Add a virtual server to the GTM object out of band:
tmsh modify gtm server testServer virtual-servers add { 5 { destination 1.2.3.12:5050 } } -
Re-POST same AS3 as step # 1
Expected Behavior
AS3 response of 200 Success and the out of band change is removed on Big-IP. AS3 state is enforced.
Actual Behavior
AS3 response of 200 no change. The out-of-band change is still present on Big-IP. AS3 state is not enforced.
@megamattzilla i will repo this tomorrow.
Thanks Mark! Let me know if you have any issues with repro or would like me to demo.