[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: unified transaction model proposal
On Fri, Apr 23, 2004 at 01:00:53AM -0700, Andy Bierman wrote:
> 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
Perhaps this should then be named "rollback" (or "commit" be changed
to "apply-changes" ;-).
> 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.
Just for clarification: I assume correctly that commit/rollback
only applies to changes created via <edit-config> and not to any
other changes (e.g. <copy-config> or <delete-config) that may be
made since the lock was established.
/js
--
Juergen Schoenwaelder International University Bremen
<http://www.eecs.iu-bremen.de/> P.O. Box 750 561, 28725 Bremen, Germany
--
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/>