[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

unified transaction model proposal



Hi,

Here's something new to throw darts at... a proposal for
a unified transaction model (for target == <candidate> or <running>)
-------------------------------------------------------------------

 <lock>
 <edit-config> +   // 1 or more
 <commit> OR <discard-changes> 
 <unlock>

where:

   commit =
     - if #candidate then 
         attempt commit of <candidate> to <running>  
     - release any 'rollback' resources the agent was using
       for this transaction.  
     - if #distinct-startup then
         copy(running, startup)  

   discard-changes =
     - if #candidate then 
         target is <candidate>
       else 
         target is <running>
     - remove all changes made to the target by this transaction
       since the lock operation completed

--------------------------------------------------------------------------

IMO, this would greatly simplify the transaction model
and make application development easier.  It also makes
network-wide config updates easier on the application.

The changes to the protocol operations are:

  1) <commit> is part of base protocol
     - confirmed-commit still a #candidate extension
       and available if #confirmed-commit present
  2) <discard-changes> is part of the base protocol
     - this is essentially a rollback of multiple
       edit-config operations, which is needed in
       addition to rollback-on-error 
  3) for implementations that have target==<running>,
     a rollback capability is mandatory.  This is a
     big requirement and raises the bar for NETCONF,
     but this will make the protocol easier to use
     for all application developers.  

Andy




--
to unsubscribe send a message to netconf-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>