Re: [netconf] [Technical Errata Reported] RFC8040 (6342)

Martin Björklund <mbj+ietf@4668.se> Mon, 23 November 2020 13:36 UTC

Return-Path: <mbj+ietf@4668.se>
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 793433A0B0D for <netconf@ietfa.amsl.com>; Mon, 23 Nov 2020 05:36:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.779
X-Spam-Level: *
X-Spam-Status: No, score=1.779 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_NAKED_TO_NUMERO=1.999, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=4668.se header.b=ID5HFn3V; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=LrFAqMvj
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 hfw5l6kr4xr2 for <netconf@ietfa.amsl.com>; Mon, 23 Nov 2020 05:36:52 -0800 (PST)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 57D723A0B08 for <netconf@ietf.org>; Mon, 23 Nov 2020 05:36:52 -0800 (PST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 79FD25C0079; Mon, 23 Nov 2020 08:36:51 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 23 Nov 2020 08:36:51 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4668.se; h=date :message-id:to:cc:subject:from:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=fm3; bh= 793djWB2z9FEBaNN5h7esbnZ2LQmoOb6TNFyheGdBzE=; b=ID5HFn3VYZVmkO/W R/CGNDhJiYdLiPiertZcZqva5Xrq/JA8NI5EDz0vvE4ZV6dCkEF+/mhP5HwQOY2e WTs5OcN3AwhBIqbSAL4iHOZ9YAeAiprWYOH6a5794qUkfbgEoY2lSWV+qHdxvOb8 diWDa8d53+0azgDQ0xKcUHlRHXbXtV6pGV39Yv9sqf60O01MdcswxwlBzrN03IOa KvKEISTin5hauhGnB2gcjHk+u0qYWEGKdyXrgirZFCUieDuu9vMdyrsCh9qCftbz QsR+POOvim3reeGYopez/s6vTsY/vjV05B8rH3FPn9GPBui2pWKdsjAe59Kb8kFw 8qG+7A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=793djWB2z9FEBaNN5h7esbnZ2LQmoOb6TNFyheGdB zE=; b=LrFAqMvjEt/OUZYkWUeSvY9cmHDdvY9ku86pGJtcq/qn2AOVaqolL+S8G Fc44Py+FhOje1q1TVzHGMI4bGdZafjJt7NR+wlo74uZAYRM5KD2eBiSre6z5det7 peV/+JbkyA+5Hd9o+FIqaAH8vvhsyUtmK0vAEHDO0NHRwywaWvjHdPCmIM8+A1fV Q2CEql8imxvOVAYo8HF+awMKHZAQNQVprqr/6CGUPBFE+s+JVZ5jsTVnDACOOgWF f2DUQIucpaO5dZWK2mD0pihF40dKdmyAqk18emsmJQNF8O4YqlQYmnTz4u37PryN bSa1KLjKL7ExMfpBsuTvmGl/ynDvg==
X-ME-Sender: <xms:8bq7X7z4Kvn573gSdZhlze5zHOutrBu-vshLTLtF5AdJjBEePG6Kjg> <xme:8bq7XzTsClB7eHYPYjIUYoAsx-5rTzmFCyAw6HpMU4Di7VBYC-3gTpipHsTt2dPg5 wlle-BG9-Dbj5lrA58>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudegiedgheehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffkffvuffhjghfofggtgfgsehtqh ertdertddunecuhfhrohhmpeforghrthhinhcuuehjnphrkhhluhhnugcuoehmsghjodhi vghtfhesgeeiieekrdhsvgeqnecuggftrfgrthhtvghrnhepvdefudeggefhvdffuddtgf ekhfelvdevtdefvdejgffhhfekveejveejfeejfeegnecuffhomhgrihhnpeduhhhoshht vgigrghmphhlvgdrtghomhdpohhuthhlohhokhdrtghomhdprhhftgdqvgguihhtohhrrd horhhgpddvpdhivghtfhdrohhrghenucfkphepudehkedrudejgedrgedrvdduheenucev lhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmsghjodhivg htfhesgeeiieekrdhsvg
X-ME-Proxy: <xmx:8bq7X1WiLbTSq3LtBAhSYM85P1Jj_23JjPYxgHi0QY5z3rALJbvfpg> <xmx:8bq7X1johVhJSgBBQeEnpwda7G9wyDFaNsDXC_7NDh-efSUAEg5G4A> <xmx:8bq7X9DBJr3eZ4qLmZdyhn-E3rru6DuD8SWZ9CgXcHswSwPeV_B9iQ> <xmx:87q7X66moOwDjiIbRcxe_Imavaa_LxLBIK2UqRn08FcO7VjN_itPqw>
Received: from localhost (unknown [158.174.4.215]) by mail.messagingengine.com (Postfix) with ESMTPA id C86C33280060; Mon, 23 Nov 2020 08:36:48 -0500 (EST)
Date: Mon, 23 Nov 2020 14:36:47 +0100
Message-Id: <20201123.143647.604827032575238071.id@4668.se>
To: muly_i@rad.com
Cc: rfc-editor@rfc-editor.org, kent+ietf@watsen.net, netconf@ietf.org
From: Martin Björklund <mbj+ietf@4668.se>
In-Reply-To: <AM0PR0302MB33480674E3CAB4D8AB4DCBB5F9FC0@AM0PR0302MB3348.eurprd03.prod.outlook.com>
References: <AM0PR0302MB3348EBB2C0F57E3B4FD8D7F7F9FC0@AM0PR0302MB3348.eurprd03.prod.outlook.com> <20201123.131452.2154616412508504559.id@4668.se> <AM0PR0302MB33480674E3CAB4D8AB4DCBB5F9FC0@AM0PR0302MB3348.eurprd03.prod.outlook.com>
X-Mailer: Mew version 6.8 on Emacs 26.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/aco3GDHA_Pomy4xVFDzevmlXDW0>
Subject: Re: [netconf] [Technical Errata Reported] RFC8040 (6342)
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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, 23 Nov 2020 13:36:54 -0000

Muly Ilan <muly_i@rad.com> wrote:
> Hi Martin,
> 
> Plain PATCH is defined as a merge operation i.e. it can create a resource.
> It's not limited to editing of existing resources.
> 
> From section 4.6.1:
> " The plain patch mechanism merges the contents of the message-body
> with the target resource."
> 
> " Plain patch can be used to create or update, but not delete, a child
> resource within the target resource."

I meant:

  However, PUT means completely replace or create the target resource,
  but plain PATCH modifies only the given fields in the target
  resource.


/martin


> It's better to have consistent examples.
> I suggest either to modify the plain PATCH example or the PUT example.
> 
> 
> Best,
> 
> Muly
> 
> 
> -----Original Message-----
> From: Martin Björklund [mailto:mbj+ietf@4668.se] 
> Sent: 23/11/2020 14:15
> To: Muly Ilan <muly_i@rad.com>
> Cc: rfc-editor@rfc-editor.org; kent+ietf@watsen.net; netconf@ietf.org
> Subject: Re: [netconf] [Technical Errata Reported] RFC8040 (6342)
> 
> Hi,
> 
> Muly Ilan <muly_i@rad.com> wrote:
> > Hi,
> > 
> > If list keys are not required in message body for plain PATCH then 
> > they are also not required for the PUT method.
> 
> You are right that the keys are redundant also in PUT.  However, PUT means completely replace or create the resource, but plain PATCH modifies only the given fields.
> 
> 
> /martin
> 
> 
> > But the example for PUT in section 4.5 is:
> > 
> > PUT /restconf/data/example-jukebox:jukebox/\
> > library/artist=Foo%20Fighters/album=Wasting%20Light HTTP/1.1
> > Host: example.com
> > Content-Type: application/yang-data+json { "example-jukebox:album" : [ 
> > { "name" : "Wasting Light", "genre" : "example-jukebox:alternative", 
> > "year" : 2011 } ] }
> > 
> > So, do we want consistency between PUT and plain PATCH?
> > 
> > I believe consistency is important and currently the RFC contains two 
> > inconsistent examples.
> > 
> > 
> > Best,
> > 
> > Muly
> > 
> > 
> > -----Original Message-----
> > From: netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Martin 
> > Bj?rklund
> > Sent: 23/11/2020 10:37
> > To: rfc-editor@rfc-editor.org
> > Cc: kwatsen@juniper.net; netconf@ietf.org
> > Subject: Re: [netconf] [Technical Errata Reported] RFC8040 (6342)
> > 
> > Hi,
> > 
> > The issue boils down to if list keys are required in a plain patch.
> > Unfortunately, the RFC doesn't specifucy this.  From a technical pow, 
> > list keys are not necessary.  In fact, if they are present in the 
> > payload, they are redundant (since they are part of the URL) (this is 
> > actually mentioned in the RFC).
> > 
> > Since it isn't clearly specified, I think we must assume that the keys 
> > are not required.  Hence I think that this errata should be rejected.
> > 
> > In a future version of this document, the behaviour should be 
> > clarified.
> > 
> > 
> > /martin
> > 
> > 
> > RFC Errata System <rfc-editor@rfc-editor.org> wrote:
> > > The following errata report has been submitted for RFC8040, 
> > > "RESTCONF Protocol".
> > > 
> > > --------------------------------------
> > > You may review the report below and at:
> > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
> > > rfc-editor.org%2Ferrata%2Feid6342&amp;data=04%7C01%7Cmuly_i%40rad.co
> > > m% 
> > > 7Cf7ffd30dde054f875cc608d88f8b0eed%7Cf9047108cc2c4e4897a343fad1b3bf9
> > > d% 
> > > 7C1%7C0%7C637417174712193376%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA
> > > wM 
> > > DAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=2
> > > nm
> > > LthW5HkwRvJZi%2F2Pj6%2B9qkLV9gV55wiBpIoiC%2FD4%3D&amp;reserved=0
> > > 
> > > --------------------------------------
> > > Type: Technical
> > > Reported by: Muly Ilan <muly_i@rad.com>
> > > 
> > > Section: 4.6.1
> > > 
> > > Original Text
> > > -------------
> > > To replace just the "year" field in the "album" resource (instead of 
> > > replacing the entire resource with the PUT method), the client might 
> > > send a plain patch as follows:
> > > PATCH /restconf/data/example-jukebox:jukebox/\
> > > library/artist=Foo%20Fighters/album=Wasting%20Light HTTP/1.1
> > > Host: example.com
> > > If-Match: "b8389233a4c"
> > > Content-Type: application/yang-data+xml <album
> > > xmlns="https://eur01.safelinks.protection.outlook.com/?url=http%3A%2
> > > F%25 
> > > 2Fexample.com%2Fns%2Fexample-jukebox&amp;data=04%7C01%7Cmuly_i%40rad
> > > .c 
> > > om%7Cf7ffd30dde054f875cc608d88f8b0eed%7Cf9047108cc2c4e4897a343fad1b3
> > > bf 
> > > 9d%7C1%7C0%7C637417174712193376%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w
> > > Lj 
> > > AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdat
> > > a= hxW6LA8t%2BNRka2GGRqRNsTnK2itYH1rRLnOxU7JbNlc%3D&amp;reserved=0">
> > > <year>2011</year>
> > > </album>
> > > 
> > > Corrected Text
> > > --------------
> > > To replace just the "year" field in the "album" resource (instead of 
> > > replacing the entire resource with the PUT method), the client might 
> > > send a plain patch as follows:
> > > PATCH /restconf/data/example-jukebox:jukebox/\
> > > library/artist=Foo%20Fighters/album=Wasting%20Light HTTP/1.1
> > > Host: example.com
> > > If-Match: "b8389233a4c"
> > > Content-Type: application/yang-data+xml <album
> > > xmlns="https://eur01.safelinks.protection.outlook.com/?url=http%3A%2
> > > F%25 
> > > 2Fexample.com%2Fns%2Fexample-jukebox&amp;data=04%7C01%7Cmuly_i%40rad
> > > .c 
> > > om%7Cf7ffd30dde054f875cc608d88f8b0eed%7Cf9047108cc2c4e4897a343fad1b3
> > > bf 
> > > 9d%7C1%7C0%7C637417174712193376%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w
> > > Lj 
> > > AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdat
> > > a= hxW6LA8t%2BNRka2GGRqRNsTnK2itYH1rRLnOxU7JbNlc%3D&amp;reserved=0">
> > > <name>Wasting Light</name>
> > > <year>2011</year>
> > > </album>
> > > 
> > > Notes
> > > -----
> > > Missing key leaf value in the message-body (<name>Wasting
> > > Light</name>)
> > > 
> > > Instructions:
> > > -------------
> > > This erratum is currently posted as "Reported". If necessary, please 
> > > use "Reply All" to discuss whether it should be verified or rejected.
> > > When a decision is reached, the verifying party can log in to change 
> > > the status and edit the report, if necessary.
> > > 
> > > --------------------------------------
> > > RFC8040 (draft-ietf-netconf-restconf-18)
> > > --------------------------------------
> > > Title               : RESTCONF Protocol
> > > Publication Date    : January 2017
> > > Author(s)           : A. Bierman, M. Bjorklund, K. Watsen
> > > Category            : PROPOSED STANDARD
> > > Source              : Network Configuration
> > > Area                : Operations and Management
> > > Stream              : IETF
> > > Verifying Party     : IESG
> > > 
> > > _______________________________________________
> > > netconf mailing list
> > > netconf@ietf.org
> > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
> > > ietf.org%2Fmailman%2Flistinfo%2Fnetconf&amp;data=04%7C01%7Cmuly_i%40
> > > ra 
> > > d.com%7Cf7ffd30dde054f875cc608d88f8b0eed%7Cf9047108cc2c4e4897a343fad
> > > 1b
> > > 3bf9d%7C1%7C0%7C637417174712193376%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM
> > > C4 
> > > wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;s
> > > da
> > > ta=GOd8xUYLJ9C69r7aN6rujBhsYFJd05CxiHNXT9YXOZ0%3D&amp;reserved=0
> > 
> > _______________________________________________
> > netconf mailing list
> > netconf@ietf.org
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
> > ietf.org%2Fmailman%2Flistinfo%2Fnetconf&amp;data=04%7C01%7Cmuly_i%40ra
> > d.com%7Cf5c6b052c9fe4dd9c64308d88fa96449%7Cf9047108cc2c4e4897a343fad1b
> > 3bf9d%7C1%7C0%7C637417304990448682%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4
> > wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sda
> > ta=SOPMijRWiUHA%2BpJnmxGJ4%2FLWqneTaFwfyIpdpuFl5yU%3D&amp;reserved=0