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

RE: Second Example in section 7.2 of netconf-proto



Hi Andy,

Ah, I see - NETCONF really is limited to configuring routers,
and is not meant to be a general replacement for configuration
of network elements using SNMP/CMIP/etc?

Not a very lofty goal, IMHO.

Cheers,
- Ira

Ira McDonald (Musician / Software Architect)
Blue Roof Music / High North Inc
PO Box 221  Grand Marais, MI  49839
phone: +1-906-494-2434
email: imcdonald@sharplabs.com

> -----Original Message-----
> From: Andy Bierman [mailto:ietf@andybierman.com]
> Sent: Thursday, March 09, 2006 12:29 PM
> To: McDonald, Ira
> Cc: Martin Bjorklund; schishol@nortel.com; netconf@ops.ietf.org
> Subject: Re: Second Example in section 7.2 of netconf-proto
> 
> 
> McDonald, Ira wrote:
> > Hi Andy,
> >
> > Email messages from two years ago aside, this is a pernicious
> > and foolish definition of 'replace' that collides with the
> > common semantics of 'replace' in all good quality software.
> >
> > Silently 'replacing' something that isn't there is just plain
> > wrong.
> >   
> 
> Look in the archives for the threads about the create and 
> delete operations.
> Remember that NETCONF comes from Junoscript which comes from CLI.
> NE CLI has established semantics for merge and replace.
> NETCONF preserves those semantics.
> 
> For those applications which want pickier semantics
> (i.e., create only if doesn't exist and delete only if exists)
> we added the create and delete values to the operation attribute.
> 
> It is unfortunate that the term 'replace' in the router world doesn't
> meet your expectations. In that world, replace the running config
> with this other config means "make the new config happen regardless
> of what was there before".  NETCONF applies that term to the
> individual data elements as well as the entire config, which 
> may be awkward.
> 
> 
> > Cheers,
> > - Ira
> >   
> 
> Andy
> 
> >
> > Ira McDonald (Musician / Software Architect)
> > Blue Roof Music / High North Inc
> > PO Box 221  Grand Marais, MI  49839
> > phone: +1-906-494-2434
> > email: imcdonald@sharplabs.com
> >
> >   
> >> -----Original Message-----
> >> From: owner-netconf@ops.ietf.org 
> [mailto:owner-netconf@ops.ietf.org]On
> >> Behalf Of Andy Bierman
> >> Sent: Thursday, March 09, 2006 9:40 AM
> >> To: Martin Bjorklund
> >> Cc: schishol@nortel.com; netconf@ops.ietf.org
> >> Subject: Re: Second Example in section 7.2 of netconf-proto
> >>
> >>
> >> Martin Bjorklund wrote:
> >>     
> >>> "Sharon Chisholm" <schishol@nortel.com> wrote:
> >>>   
> >>>       
> >>>> hi
> >>>>
> >>>> In section 7.2, the second example indicates it will add 
> >>>>         
> >> an interface,
> >>     
> >>>> but uses the operator of replace. The definition of 
> >>>>         
> >> replace does not
> >>     
> >>>> actually say that if the entry does not exist, it is created.
> >>>>     
> >>>>         
> >>> If it doesn't exist and you try to 'replace', it's an 
> error. This is
> >>> not clearly defined in 7.2, but in the description of the error
> >>> 'data-missing' it says:
> >>>
> >>>    Tag:         data-missing
> >>>    Error-type:  application
> >>>    Severity:    error
> >>>    Error-info:  none
> >>>    Description: Request could not be completed because 
> the relevant
> >>>                 data model content does not exist.  For example,
> >>>                 a 'replace' or 'delete' operation was attempted on
> >>>                 data which does not exist.
> >>>
> >>>
> >>> 'create' creates an non-existing; it's an error if it exists.
> >>> 'replace' replaces an existing; it's an error if it doesn't exist.
> >>> 'merge' creates if it doesn't exist, and modifies if it exists.
> >>> 'delete' deletes an existing; it's an error if it doesn't exist.
> >>>
> >>> So the example text is a bit unclear.
> >>>   
> >>>       
> >> This error text is wrong.
> >> Replace does not cause an error if the data does not exist.
> >> That was the reason we added create. 
> >>
> >> Merge and replace do not care about existing data.
> >>
> >> Create on data that already exists is an error.
> >>
> >> Delete on data that does not exist is an error.
> >>
> >> Replace foo with nothing is not an error.
> >>
> >> Merge foo with nothing is not an error.
> >>
> >> Replace nothing with foo is not an error.
> >>
> >> Merge nothing with foo is not an error.
> >>
> >>
> >>     
> >>> /martin
> >>>   
> >>>       
> >> 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/>
> >>
> >>     
> >
> > --
> > 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/>
> >
> >
> >   
> 

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