[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/>