Differences in parsing order of configuration between northbound and confd_cli


we have a big configuration to feed to confd.
In some cases we feed it from a northbound interface and in some cases we feed it from confd_cli.
In both cases we use ‘replace’ action and it will always fail to load because it doesn’t agree with the rules in the yangs/fxs’s.

The question is this: Will the order with which the configuration will be parsed be different between confd_cli and the northbound interface? We seem to have different error messages coming from confd_cli and the netconf interface.

UPDATE: After turning on logs and trying a few more times I have noticed this in netconf.trace: A replace is contained in each one of the top level nodes. Does this somehow affect the order with which the changes are then committed resulting in a different error being noticed first compared to when trying from confd_cli?



An example of the file you are loading over the CLI / NETCONF and the commands you use would be helpful here.

The general rule of transactions is that the changes in the transaction may come in any order and the system must be able to handle that. This is the “C” for “Consistency” in the ACID properties of a transaction

From the ConfD Kick Start Guide:

Consistency: Transactions are instantaneous, i.e. the actions within a transaction are all logically happening at the same time. Transaction T1 containing actions A and B is identical to transaction T2 containing actions B and A. The transaction manager must treat T1 and T2 exactly the same, or else it does not fulfil the ACID properties, i.e. the system does not support transactions.

Hi cohult,

many thanks for response.
I cannot share the configuration verbatim here.
If time allows at some point I will try and come up with an anonymised version and try to reproduce with that and get back to you.