Re: [Netconf] WG adoption poll for draft-lhotka-netconf-restconf-transactions-00

Martin Bjorklund <mbj@tail-f.com> Mon, 13 August 2018 07:40 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 75597130E64 for <netconf@ietfa.amsl.com>; Mon, 13 Aug 2018 00:40:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5CfBnco2LIeT for <netconf@ietfa.amsl.com>; Mon, 13 Aug 2018 00:40:15 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id A98491294D0 for <netconf@ietf.org>; Mon, 13 Aug 2018 00:40:15 -0700 (PDT)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id D27AA1AE0144; Mon, 13 Aug 2018 09:40:12 +0200 (CEST)
Date: Mon, 13 Aug 2018 09:40:12 +0200
Message-Id: <20180813.094012.406317912835677937.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <6e80b426e3e85b52d4ce2b52362504144d4d2725.camel@nic.cz>
References: <F9C9F795-FA36-48A9-9020-4D3812457628@gmail.com> <20180808.093646.6873295121240790.mbj@tail-f.com> <6e80b426e3e85b52d4ce2b52362504144d4d2725.camel@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zAfWKiso65lKvzLWYP2jSXa-EMc>
Subject: Re: [Netconf] WG adoption poll for draft-lhotka-netconf-restconf-transactions-00
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Aug 2018 07:40:18 -0000

Ladislav Lhotka <lhotka@nic.cz> wrote:
> Hi Martin,
> 
> Rob had similar comments in Montreal, so these issues will certainly
> be discussed. I am somewhat concerned that exposing the client to
> various combinations of other datastores will considerably increase
> the complexity. For example, it is not clear to me how <staging>
> would interact with <candidate>, if an implementation supports the
> latter.

Yes this needs to be addressed.  (The solution might be that both
cannot be used at the same time)

> It is true that the transaction can be mostly prepared on the client
> side - this is basically the mode of operation of git. However:
> 
> 1. When the final changes are sent to the server, a conflict may arise, caused
> by another client concurrently editing the target datastore (as with "git
> push"). This needs to be addressed in any case.

Agreed.

> 2. This approach is not suitable for simple clients such as shell scripts or
> client-side web applications.

Maybe I wasn't clear - my comment was supposed to support the
introduciotn of this new staging capability; I meant that even in the
case that the client prepares a single message with all changes, this
new staging capability can be useful.


/martin


> 
> Lada
>  
> On Wed, 2018-08-08 at 09:36 +0200, Martin Bjorklund wrote:
> > Hi,
> > 
> > I like the idea of having a "private candidate" or "staging"
> > datastore.  However, I don't think the solution in this draft is
> > adequate.  Specifically, I don't think we can change the semantics of
> > the existing {+restconf}/data resource.
> > 
> > I think a better solution would be to introduce "staging" as a proper
> > NMDA datastore, with associated rpcs (similar to the ones in this
> > draft (*)).  This has the advantage that "staging" becomes available
> > not only for RESTCONF, but also for NETCONF.
> > 
> > (*) I think that maybe some other operations on "staging" might be
> > useful as well, such as validate and confirmed-commit.
> > 
> > 
> > When this draft was presented in Montreal, someone made a comment that
> > clients often construct a single message with all changes and send it
> > in one go.  This is my experience as well, but even in such
> > environments this capability can be useful for orchestration of
> > network-wide transactions.
> > 
> > 
> > FWIW, we have a "transaction" capability for NETCONF that has turned
> > out to be very useful (it's been used at least since 2007).  It is
> > consists of rpcs to start a transaction towards any datastore, and
> > then it exposes std two-phase commit operations via NETCONF rpcs.
> > This is stateful (tied to the session), so it doesn't work that well
> > for RESTCONF.  I would love to see a standard solution that could
> > replace this, and also work for RESTCONF.
> > 
> > 
> > 
> > /martin
> > 
> > 
> > 
> > 
> > Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
> > > In the NETCONF 102 WG meeting, Robert presented the following document on
> > > behalf of Lada, and asked for WG adoption.
> > > 
> > > https://tools.ietf.org/html/draft-lhotka-netconf-restconf-transactions-00 <
> > > https://tools.ietf.org/html/draft-lhotka-netconf-restconf-transactions-00>
> > > 
> > > This starts an adoption poll for the above draft. Please indicate your
> > > support or objection to the adoption poll. If objecting, please state your
> > > reasons by responding on this thread.
> > > 
> > > Thanks.
> > > 
> > > Mahesh & Kent.
> > > 
> > > 
> > 
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> -- 
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>