f5-declarative-onboarding
f5-declarative-onboarding copied to clipboard
DO does not remove DbVariables from TMOS when a DB var is removed from the declaration
Environment
- Declarative Onboarding Version: 1.31
- BIG-IP Version: 15.1.5.1
Summary
DO does not remove DbVariables from TMOS when a DB var is removed from the declaration.
Steps To Reproduce
Steps to reproduce the behavior:
- Observe current db var value:
(tmos)# list sys db merged.method
sys db merged.method {
value "fast_merge"
}
Then Submit the following declaration:
"dbvars": {
"class": "DbVariables",
"setup.run": false,
"kernel.pti": "disable",
"provision.1nicautoconfig": "disable",
"provision.extramb": 2048,
"provision.tomcat.extramb": 20,
"restjavad.useextramb": true,
"merged.method": "slow_merge",
"ui.advisory.enabled": true,
"ui.advisory.color": "red",
"ui.system.preferences.recordsperscreen": "250",
"ui.advisory.text": "{{ inventory_hostname }} - ext_ip:{{ hostvars[inventory_hostname].ipv4_extaddress }} int_ip:{{ hostvars[inventory_hostname].ipv4_intaddress }} - Managed by Automation!"
}
- Declaration is successful. DB var change can be confirmed via TMSH:
(tmos)# list sys db merged.method
sys db merged.method {
value "slow_merge"
}
- Submit declaration with DB var merged.method removed:
"dbvars": {
"class": "DbVariables",
"setup.run": false,
"kernel.pti": "disable",
"provision.1nicautoconfig": "disable",
"provision.extramb": 2048,
"provision.tomcat.extramb": 20,
"restjavad.useextramb": true,
"ui.advisory.enabled": true,
"ui.advisory.color": "red",
"ui.system.preferences.recordsperscreen": "250",
"ui.advisory.text": "{{ inventory_hostname }} - ext_ip:{{ hostvars[inventory_hostname].ipv4_extaddress }} int_ip:{{ hostvars[inventory_hostname].ipv4_intaddress }} - Managed by Automation!"
}
Expected Behavior
Declaration successful and DB var merged.method is reverted to value "fast_merge".
Actual Behavior
Declaration successful and DB var merged.method is still modified value "slow_merge".
The DB var should get reverted to the TMOS default value.
I did notice if the entire class "DbVariables" is removed from the declaration (along with all db vars)- all db vars revert to TMOS default values. It seems they will get rolled back properly, but only when the entire class is removed.
It seems the behavior is that the declaration looks at the class
level and not and sub-levels.
According to the F5 Docs, these variables should be set to default if not declared. See comment on related issue: https://github.com/F5Networks/f5-declarative-onboarding/issues/328#issuecomment-1293905910
Important: No matter what you send in a subsequent declaration, BIG-IP Declarative Onboarding will never unlicense a BIG-IP device, it will never delete a user, and it never break the device trust once it has been established.
It does not mention dbvars.
Jira AUTOTOOL-3547