Re: [Netconf] Comments on draft-lhotka-netconf-restconf-transactions-00

Mahesh Jethanandani <mjethanandani@gmail.com> Wed, 11 July 2018 18:41 UTC

Return-Path: <mjethanandani@gmail.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 A09C6130F61 for <netconf@ietfa.amsl.com>; Wed, 11 Jul 2018 11:41:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 IbUF9GAWoQiC for <netconf@ietfa.amsl.com>; Wed, 11 Jul 2018 11:41:29 -0700 (PDT)
Received: from mail-pf0-x244.google.com (mail-pf0-x244.google.com [IPv6:2607:f8b0:400e:c00::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6A7A6130E25 for <netconf@ietf.org>; Wed, 11 Jul 2018 11:41:29 -0700 (PDT)
Received: by mail-pf0-x244.google.com with SMTP id j3-v6so18957262pfh.11 for <netconf@ietf.org>; Wed, 11 Jul 2018 11:41:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=jba3gSBSLaGVgQ218ahFNJ0hJIhelgMXhfxtS5DTc/0=; b=LF+NdKTHRzjMRagHBjZZFtG9wqUFCRCT9jqznc4C0pR5pcINNb139Na3bE382XU62F 01cqs8wHZA24XLBL6xEfgC7yY9WR12pVPbkMDDmuJZaVI+4vTzT4kjP4DHxix1YekRLG ViTrDW2zkf011cG1LcdMhq+wSvDTu1Uz2O9KbCBrEj57X29uZv/R6iZitUd5agaNz0jR AUssppfczK5y5972jWrNNfWxXl6wfJb73CAm1RMBm42ph2Oiwh9tEty8wv0IJkTvpij8 beAU5lgqNxCn1MVEos6h1Oemao8WlkRYcnZ1aWPhiub2ts2Nr4d2JakFo8t3Cbf33XqU ET0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=jba3gSBSLaGVgQ218ahFNJ0hJIhelgMXhfxtS5DTc/0=; b=VtDxk2WkYqAQanWCQ0dXRNp7PB2XO2/GU241lnZcoulqa0ke21TTPm0G8oOZZs2HcA TwXey3fnVhHzDqc0W01AMn7Gh8cGlKEfgD5lN7VkQSxcgmTaL1xwn38l+a+TuHX4wJuz +QLimXQKQeVqVpVMmwe7O9FeKCTat2jo4Yu4cBbF9z6KdyRvyXOkDtCIpyXldN2gkG0m fkxTFyFS0aoidNeUQoCymcOwpToSD1MjwDK+TGi9b5MyoBzpN9MBGqRKLjDTtXEviD0V icYs6plWPZo0gaU44AudY1evXmSbUDWcNswIyPmW3+yFwZLTxYbsq2fwE8Eru69phasm njFw==
X-Gm-Message-State: APt69E1EV8Jc0Fiqj189XoC/t4CSHLLOpzLqQt3dXlqa/RS5Hn+N9vAc 6TmDSDhJr8PNmSU6dlnvd1XizDwrPMM=
X-Google-Smtp-Source: AAOMgpddb2KVfDOhbhgdPPhAbhtZgCdQpbztvrad+CPl9reRIzncVD6Nqk6vtxcPw+OxFsRJkcEx9A==
X-Received: by 2002:aa7:818b:: with SMTP id g11-v6mr31217678pfi.50.1531334488992; Wed, 11 Jul 2018 11:41:28 -0700 (PDT)
Received: from ?IPv6:2601:647:4700:1280:758e:926a:391:f9d6? ([2601:647:4700:1280:758e:926a:391:f9d6]) by smtp.gmail.com with ESMTPSA id g23-v6sm27643275pgv.26.2018.07.11.11.41.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Jul 2018 11:41:28 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.4 \(3445.8.2\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <b26d88fe-2797-a8f8-a2e3-a5aed2fae6d7@cisco.com>
Date: Wed, 11 Jul 2018 11:41:26 -0700
Cc: "netconf@ietf.org" <netconf@ietf.org>, Ladislav Lhotka <lhotka@nic.cz>
Content-Transfer-Encoding: quoted-printable
Message-Id: <755CE201-4550-487A-B0E9-6F0E6C51F2AE@gmail.com>
References: <b26d88fe-2797-a8f8-a2e3-a5aed2fae6d7@cisco.com>
To: Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3445.8.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Bss-FT0dHXogzgw2KEx2fQ-VsMM>
Subject: Re: [Netconf] Comments on 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: Wed, 11 Jul 2018 18:41:32 -0000

WG,

This draft now is on the agenda for the meeting on Monday, afternoon session #I from 13:30-15:30.

Lada, you do have your 15 min.

Mahesh & Kent.

> On Jul 11, 2018, at 9:36 AM, Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org> wrote:
> 
> Hi Lada,
> 
> I've had a read of this draft, and have provided some comments below.
> 
> So, my top level comment is that I don't know whether or not RESTCONF needs this functionality or not.  I've heard some operators state that they think that clients can just construct an "atomic" change, and hence don't have the need for a server side staging area.  Perhaps a good question to ask in Montreal?
> 
> The rest of my comments below, apply to the proposed technical solution, and obviously only apply if this is a needed enhancement. :-)
> 
> 1) Generally, I definitely prefer the idea of per session staging areas (aka private candidates) described in this draft over a shared lockable candidate datastore.  This follows my belief that loosely coupled concurrent systems are more robust than tightly coupled ones (e.g. with shared locking).
> 
> 2) I don't think that this draft needs to mention <intended> at all.  Instead, everywhere you mention <intended> then you should be saying <running>.  I.e. your staging datastores should update <running> on a commit operation, just like a commit of <candidate> updates <running>.  <intended> is always just updated as a side effect of a write to <running>, and as such is a tangential consideration.
> 
> 3) Rather than having clients interact via {+restconf}/data, I think that it would be much better to require NMDA and then have clients interact via {+restconf}/ds/ietf-restconf-transactions:staging, as per draft-ietf-netconf-nmda-restconf-04 section 3.1.  The new staging datastore identity should also be defined in your module to inherit from ietf-datastores:datastore identity.  I think that this probably also more closely aligns to restful principals.
> 
> 4) So, I think that the <staging> datastore itself only contains the proposed changes (additions, modifications, and deletes) to <running> when they are committed.  I think that clients may also want to see the combined configuration of the current contents of <running> with the delta held in <staging> applied.  This could be exposed either as (i) a new RPC, (ii) as an extra query parameter or (iii) As another read-only datastore.  A new RPC has the disadvantage that it probably wouldn't support all the query parameters, so my instinctive preference would be to one of the other two latter options.
> 
> 5) If private candidate datastores are being added to RESTCONF, then should they also be added to NETCONF?  If they are added to both then I think that they should be added in the same way, as much as possible, perhaps both could be updated in a single draft to save repetitive text?  In general, I like (Kent's?) idea of NETCONF WG writing a RFC that describes all the common parts of NETCONF and RESTCONF that the individual protocol docs can then reference rather than writing similar or equivalent text in two places.
> 
> But otherwise, I think that it is an interesting idea, and certainly warrants some WG discussion.
> 
> Thanks,
> Rob
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf

Mahesh Jethanandani
mjethanandani@gmail.com