ConfD User Community

Not allow to delete when the node has some specific dependencies

Hi experts,

I am facing the scenario about deletion validation, and here’s the scenario:

Under the same container X, there are two different lists, say A and B. If someone is going to do a “no A id_A” to delete an entry of A, then we need to check if there exists some B with id_B which meets some validation function. For example, If “valid(id_A, id_B) == False”, then we block that “no” operation. If “valid(id_A, id_B) == False” for all Bs in the cdb, then we allow that “no” operation.

The thing is, if we only use the validation point, then we can only get the new value from the “no” operation which should be 0 to some extends, but what we need is the value before the “no” operation will be applied, which should be “id_A” in the above scenario. However, if we use a subscription, then we will not be able to fetch date from cdb to get all the id_B to make the validation.

So do you have any suggestions on how we can use the “tailf” or maybe some other ways we can get both old value and connections to the cdb when we do the “no operation validation”?

Thanks a lot!

You need to reconsider your view of what validation does - to condense the “Semantic validation” chapter in the User Guide, you should validate the (proposed) new configuration, not the operations that resulted in that configuration. The chapter goes into detail about how attempting to validate the operations has several principal problems.

OK thanks! Will go through that chapter in details.