As part of the validation check, we use maapi_diff_iterate to see all the leaves that were changed. We met some strange behavior on the leaves with default value.
YANG:
container simple {
leaf a {
type int64;
default 42;
}
leaf b {
type int64;
}
}
First set /simple/b with some value, then delete the simple container on CLI. We get the below diff changes:
op=delete path= /simple/b op=set path= /simple/a value= 42
But for the same container in other yang modules, we only get one operation:
op=delete path= /simple/b
confd.conf
/confdConfig/defaultHandlingMode='explicit'
Do you know the reasons behind this strange behavior?
Unfortunately, I do not know ConfD internals.
I think you should try to isolate the behavior into small example - two small YANG files, small application with val. point, so you make sure it is issue on ConfD side. If yes, then it can be reported as an error.
Plus it might be worth checking latest accessible ConfD version and its changelog, just in case there were some default values related bugfixes that you might be hitting with older version…