Great Circle Associates Network-Automation
(April 2005)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: Re: CLI transactions
From: Juergen Schoenwaelder <j . schoenwaelder @ iu-bremen . de>
Date: Tue, 19 Apr 2005 00:41:31 +0200
To: Daniel Hagerty <hag @ linnaean . org>
Cc: Network Automation List <network-automation @ greatcircle . com>
In-reply-to: <16996.11469.138111.346637@perdition.linnaean.org>
References: <9BD20C9B8D21C04FA661826D202E631F01E2996F@gicorp0.gicorp.mypop2pop.com> <426409C3.5090507@cisco.com> <16996.11469.138111.346637@perdition.linnaean.org>
Reply-to: j . schoenwaelder @ iu-bremen . de
User-agent: Mutt/1.5.8i

On Mon, Apr 18, 2005 at 05:55:25PM -0400, Daniel Hagerty wrote:
 
>     Making an actual rollback operation isn't that hard.  As before,
> it's really a modeling problem.  A good model trivially enables an
> oracle that can produce delta statements for the network pretty
> readily.  As long as you can talk to the device, you can roll it back.
> You may in fact have to wipe the config to do it, but why do you care?
> Your relational database has to do much more evil things within itself
> to make rollback appear on its surface: the user is usually talking
> rows, but the database is talking blocks.

I tend to disagree with your view of the world.

a) Database rollbacks are simple because data objects (at least in the
   pure relational world) just carry data and no side effects. Network
   configuration changes however do impact devices and cause resources
   to be allocated/deallocated. So it is not always trivial to rollback 
   from state B into state A since you have to take such side effects
   into account. (And one not totally uncommon side effect is in fact
   that you loose connectivity.)

b) Reloading whole device configurations because a network-wide 
   transaction failed would be a desaster in some environments.
   Operators love stability and some devices actually take quite
   some noticable time to load an old configuration and some even
   loose dynamic state which you really like to keep.

c) SNMP, the turing machine of network management, requires oracles
   to do anything useful and after more than 15 years of experience
   we know that the lack of proper primitives does make it difficult
   to write smart oracles since the costs of "trivially" coding
   things such as rollback support seem to be non-trivial.

d) Several vendors seem to oppose the idea of making rollback 
   capabilities mandatory in NetConf. This is another indicator
   that the simple programming exercise is not simple at all to
   add if a box was not designed to support such rollbacks.

While in a pure abstract view an oracle can solve all these problems,
I believe that the proper devision of work requires that devices do
their share of work to support robust network wide configuration 
transactions.

/js

-- 
Juergen Schoenwaelder		    International University Bremen
<http://www.eecs.iu-bremen.de/>	    P.O. Box 750 561, 28725 Bremen, Germany


Follow-Ups:
References:
Indexed By Date Previous: Re: CLI transactions
From: Andrew Fort <andrew.fort@gmail.com>
Next: Re: CLI transactions
From: "Min Qiu" <mqiu@pop2pop.com>
Indexed By Thread Previous: Re: CLI transactions
From: Andrew Fort <andrew.fort@gmail.com>
Next: Re: CLI transactions
From: Daniel Hagerty <hag@linnaean.org>

Google
 
Search Internet Search www.greatcircle.com