Time to make configuration available after edit-config

Hi,

We had a discussion at our company. It is about creating a configuration.
After sending an to create a specific configuration on a NETCONF device
you get a response. If the operation could be performed and no errors it is:

  <rpc-reply message-id="101"
                xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
       <ok/>
     </rpc-reply>

Now here comes the debate. How long is acceptable to wait before the configuration becomes
available?

Some people say it should be available before ok is sent.
Others say it is ok to send ok reply and then make config available. Delay could be up to 5 seconds.

I know this is not specifically related to ConfD, I don’t even know how it is done for it, but what is the practice for you who work with NETCONF protocol?

Do you wait for notifications to verify if a configuration is available?

I am all ears!!

br,

//mike

If the NETCONF device support ACID transactions for the NETCONF edit-config transaction the configuration must be implemented before the is sent to the NETCONF client.

For example, the NETCONF device applications that subscribe to configuration change notifications from ConfD must have implemented the changes before calling cdb_sync_subscription_socket() if ACID transactions are supported.

…then again, in reality you may not want to hog the transaction lock with your application for a longer period of time (availability suffers). So it may better in some cases to, when done, send a NETCONF notification to say that “the configuration change you committed to the database has now been implemented by the application/system”.
But if possible, the former would be preferred, i.e. delay the until the changes has been implemented by the app/system.
Tradeoff between:

  • availability to accept config changes to the database and application.
  • consistency between the application and the database.