netconf-wg / netconf-next

A repository to collection feature requests for NETCONF
0 stars 1 forks source link

Clarify the meaning of "default-operation replace" in edit-config #7

Open rgwilton opened 3 years ago

rgwilton commented 3 years ago

Sorry, digging up an old thread here.

I agree with the outcome of the referenced thread, but I wonder whether it wouldn’t be helpful to have an errata to clarify the NETCONF RFC, at least so that we fix this text in future?

One of my colleagues read the NETCONF RFC and took “default-operation replace” to be equivalent to a copy-config operation. I also note that some of the references on the web seem to the describe the wrong behaviour.

Specifically, I wonder whether we should change:

     replace:  The configuration data in the <config> parameter
        completely replaces the configuration in the target
        datastore.  This is useful for loading previously saved
        configuration data.

to:

     replace:  The configuration data in the <config> parameter
        replaces the related configuration in the target
        datastore.

Regards, Rob

From: netconf netconf-bounces@ietf.org On Behalf Of Sterne, Jason (Nokia - CA/Ottawa) Sent: 09 March 2020 13:20 To: Ivory, William william.ivory@intl.att.com; netconf@ietf.org Subject: Re: [netconf] Clarification on NETCONF edit-config default-operation replace

Hello William,

There was a discussion about this on the list a few years ago. See the thread with subject:

Clarification request for NETCONF edit-config default-operation replace

An edit-config can't be used as a replacement for a full "replace at root" of the entire config like a copy-config.

Jason

mjethanandani commented 2 years ago

@rgwilton, should this be filed as an Errata?

abierman commented 2 years ago

Not an errata. I worked on the original text. Clearly intended for the to replace the root. The edit-config variant replaces only the nodes present in the config source

[7.3]

Description: Create or replace an entire configuration datastore with the contents of another complete configuration datastore. If the target datastore exists, it is overwritten. Otherwise, a new one is created, if allowed.

7.2 also has this text: The device analyzes the source and target configurations and performs the requested changes. The target configuration is not necessarily replaced, as with the message. Instead, the target configuration is changed in accordance with the source's data and requested operations.

avtobiff commented 1 year ago

Difficult to get the exact behaviour for an action, need to read different documents to get the full picture.

Confusing for a reader. Should be clarified in new documents.

BalazsLengyel commented 1 month ago

Many customers consider this the same as copy-config. If I understand correctly, always one or more full config trees are replaced, but as we might have multiple trees rooted in multiple namespaces only the ones that are present in the edit-config are replaced. This is far from trivial, some explanatory text would be good.