Re: [Netconf] {+restconf}/data vs <running>

Ladislav Lhotka <lhotka@nic.cz> Wed, 26 September 2018 12:39 UTC

Return-Path: <lhotka@nic.cz>
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 DF471130E95 for <netconf@ietfa.amsl.com>; Wed, 26 Sep 2018 05:39:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 khpKNMtOekRJ for <netconf@ietfa.amsl.com>; Wed, 26 Sep 2018 05:39:39 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B1743120072 for <netconf@ietf.org>; Wed, 26 Sep 2018 05:39:38 -0700 (PDT)
Received: from birdie (unknown [IPv6:2001:718:1a02:1::404]) by mail.nic.cz (Postfix) with ESMTPSA id 054D6601FC; Wed, 26 Sep 2018 14:39:37 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1537965577; bh=tJEHs66P3bQHZiOIA4neiW6G8vfBUnUetwZejKc1FLM=; h=From:To:Date; b=gSSaO6erVirxm2axT9d6EJuuNnmoMghzBTkFwYyaJoyJXnFjx4J+Fa39mbCeNWC/k rKHUBKOOoakqV+ReTjIr/Zjss/fBuLUREZRHPYJrmOD9o7+Ci+X6MjAWJ7jADUYOEr MRiOPV+VQYOXzvCQSG6Cf+CQd6GLWJ2j8/qzAJAQ=
Message-ID: <52dd97d5adf40040d8b707c882dc6081a2a8965a.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: netconf@ietf.org
Date: Wed, 26 Sep 2018 14:39:36 +0200
In-Reply-To: <20180926.142450.596442494013109121.mbj@tail-f.com>
References: <59d2b505319a874964436ab8c488a6d4f3a59fe9.camel@nic.cz> <20180926.133242.469987738646017624.mbj@tail-f.com> <6972ffe5927fe9665d8c1e5fcf0837be55a07c99.camel@nic.cz> <20180926.142450.596442494013109121.mbj@tail-f.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.30.1
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/cs0E5IoIz8gOP0iUwcbeHyq3Jfc>
Subject: Re: [Netconf] {+restconf}/data vs <running>
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 26 Sep 2018 12:39:42 -0000

On Wed, 2018-09-26 at 14:24 +0200, Martin Bjorklund wrote:
> Ladislav Lhotka <lhotka@nic.cz> wrote:
> > On Wed, 2018-09-26 at 13:32 +0200, Martin Bjorklund wrote:
> > > Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > > On Wed, 2018-09-26 at 13:04 +0200, Martin Bjorklund wrote:
> > > > > Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > draft-ietf-netconf-nmda-restconf is silent about the relationship
> > > > > > between the {+restconf}/data and the <running> datastore, and it
> cannot
> > > > > > be deduced from RFC 8040 either, because it only says in sec. 3.3.1:
> > > > > > 
> > > > > >    This mandatory resource [{+restconf}/data] represents the
> combined
> > > > > >    configuration and state data resources that can be accessed by a
> > > > > >    client.
> > > > > > 
> > > > > > I think this is a serious omission.
> > > > > 
> > > > > draft-ietf-netconf-nmda-restconf doesn't change {+restconf}/data.  It
> > > > > works as before.  See RFC 8040 section 1.4 for relationship to
> > > > > <running>.
> > > > 
> > > > Sec. 1.4 is about coexistence with NETCONF, whereas draft-lhotka-
> netconf-
> > > > restconf-transactions facilitates the use of RESTCONF *without* NETCONF.
> > > 
> > > As I wrote in my reply to the adoption poll, I think that a staging
> > > datastore would be useful also for NETCONF.  As such, I think it would
> > > be unfortunate to do a solution that is just for RESTCONF, and even
> > > worse, doesn't work if the RESTCONF server is co-located with a
> > > NETCONF server.
> > 
> > Section 1.4 assumes only two options for client's edits: either to <running>
> > (with :writable-running) or to <candidate>. The staging datastore adds a new
> > option that is essentially incompatible with those two.
> > 
> > I support adding the staging datastore to NETCONF as well but the datastore
> > relationships need to be clarified.
> 
> Agreed.
> 
> > Specifically, I don't see any reason why
> > sec. 1.4 of RFC 8040 cannot be updated to say:
> > 
> >    Otherwise, if the device supports :staging, all edits to
> >    configuration nodes in {+restconf}/data are performed in the
> >    staging configuration datastore.
> 
> But your draft also requires the client to send an additional "commit"
> rpc, which means that an old client that communicates with a server
> that happens to implement staging won't work as expected.

This is true. One way to work around this (Rob's suggestion) is to require the
user to explicitly start the "staging mode" with an operation (such as "clone"
or "checkout"). Until then, all edits would be as specified in Sec. 1.4.

Lada

> 
> 
> 
> /martin
> 
> 
> 
> > 
> > Lada
> > 
> > > 
> > > > > > Regarding draft-lhotka-netconf-restconf-transactions-00, I received
> a
> > > > > > lot of criticism for changing the semantics of
> > > > > > {+restconf}/data. However, I don't think it was the case: according
> to
> > > > > > the above definition, it seems perfectly OK if {+restconf}/data
> > > > > > represents combined configuration **from <staging>** and state data.
> > > > > 
> > > > > This would violate section 1.4 of RFC 8040, at least if the RESTCONF
> > > > > server is co-located with a NETCONF server.
> > > > 
> > > > In fact, the use of the staging datastore makes sense only if <running>
> is
> > > not
> > > > writable and <candidate> not supported (or not used, at least).
> Moreover,
> > > > NETCONF server needn't be present at all.
> > > 
> > > 
> > > /martin
> > > 
> > > 
> > > > 
> > > > Lada 
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > /martin
> > > > > 
> > > > > 
> > > > > > 
> > > > > > Lada
> > > > > > 
> > > > > > -- 
> > > > > > Ladislav Lhotka
> > > > > > Head, CZ.NIC Labs
> > > > > > PGP Key ID: 0xB8F92B08A9F76C67
> > > > > > 
> > > > > > _______________________________________________
> > > > > > Netconf mailing list
> > > > > > Netconf@ietf.org
> > > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > > > > 
> > > > -- 
> > > > Ladislav Lhotka
> > > > Head, CZ.NIC Labs
> > > > PGP Key ID: 0xB8F92B08A9F76C67
> > > > 
> > -- 
> > Ladislav Lhotka
> > Head, CZ.NIC Labs
> > PGP Key ID: 0xB8F92B08A9F76C67
> > 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67