Re: [Netconf] [Technical Errata Reported] RFC8040 (5565)
Martin Bjorklund <mbj@tail-f.com> Mon, 03 December 2018 10:38 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 9CBBA130E3E for <netconf@ietfa.amsl.com>; Mon, 3 Dec 2018 02:38:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 SqyPgvaAXCcl for <netconf@ietfa.amsl.com>; Mon, 3 Dec 2018 02:38:13 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 5429D126C7E for <netconf@ietf.org>; Mon, 3 Dec 2018 02:38:13 -0800 (PST)
Received: from localhost (h-39-108.A165.priv.bahnhof.se [213.136.39.108]) by mail.tail-f.com (Postfix) with ESMTPSA id 869431AE0403; Mon, 3 Dec 2018 11:38:12 +0100 (CET)
Date: Mon, 03 Dec 2018 11:38:12 +0100
Message-Id: <20181203.113812.958331272714674182.mbj@tail-f.com>
To: bill.wu@huawei.com
Cc: rfc-editor@rfc-editor.org, andy@yumaworks.com, kwatsen@juniper.net, ibagdona@gmail.com, warren@kumari.net, mjethanandani@gmail.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <B8F9A780D330094D99AF023C5877DABA9B177963@nkgeml513-mbs.china.huawei.com>
References: <B8F9A780D330094D99AF023C5877DABA9B177661@nkgeml513-mbs.china.huawei.com> <20181203.104808.838283353261944785.mbj@tail-f.com> <B8F9A780D330094D99AF023C5877DABA9B177963@nkgeml513-mbs.china.huawei.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/TksfHOndNDQsa_1WhHv3j_8GPY0>
Subject: Re: [Netconf] [Technical Errata Reported] RFC8040 (5565)
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: Mon, 03 Dec 2018 10:38:16 -0000
Qin Wu <bill.wu@huawei.com> wrote: > -----邮件原件----- > 发件人: Martin Bjorklund [mailto:mbj@tail-f.com] > 发送时间: 2018年12月3日 17:48 > 收件人: Qin Wu > 抄送: rfc-editor@rfc-editor.org; andy@yumaworks.com; kwatsen@juniper.net; ibagdona@gmail.com; warren@kumari.net; mjethanandani@gmail.com; netconf@ietf.org > 主题: Re: [Technical Errata Reported] RFC8040 (5565) > > Qin Wu <bill.wu@huawei.com> wrote: > > See data-missing definition in RFC6241: > > " > > error-tag: data-missing > > error-type: application > > error-severity: error > > error-info: none > > Description: Request could not be completed because the relevant > > data model content does not exist. For example, > > a "delete" operation was attempted on > > data that does not exist. > > > > " > > And status code 409 definition in RFC7231 " > > 6.5.8. 409 Conflict > > > > The 409 (Conflict) status code indicates that the request could not > > be completed due to a conflict with the current state of the target > > resource. This code is used in situations where the user might be > > able to resolve the conflict and resubmit the request. The server > > SHOULD generate a payload that includes enough information for a user > > to recognize the source of the conflict. > > > > 6.5.4. 404 Not Found > > > > The 404 (Not Found) status code indicates that the origin server did > > not find a current representation for the target resource or is not > > willing to disclose that one exists. A 404 status code does not > > indicate whether this lack of representation is temporary or > > permanent; the 410 (Gone) status code is preferred over 404 if the > > origin server knows, presumably through some configurable means, that > > the condition is likely to be permanent. > > > > " > > Which make me feel data missing is more related to 404 instead of 409. Wrong? > > 404 means that *the requested resource* doesn't exist. > > The example "delete" operation in 6241 refers to an edit-config with operation "delete". The corresponding RESTCONF operation is "delete" > within a YANG PATCH. In this case, the requested resource exists, so a 404 would not be correct. > > So there are certainly cases where "data-missing" does not mean 404. > > But I guess there are also cases where "data-missing" will actually correspond to a 404. For example an edit-config that just tries to delete a non-existing node will be a "data-missing", and if the corresponding RESTCONF request is a DELETE on the resource, it will be > 404 - but if the corresponding RESTCONF request is a YANG PATCH with a "delete" edit, it will be 409. > > So, maybe the proper fix is > > | data-missing | 404, 409 | > > > > /martin > > [Qin]: Looks like status code 404 is given a different meaning in RFC8040 > See the following quoted text: > " > 4. RESTCONF Methods > The resource must exist or the DELETE method will fail. > > 4.6. PATCH > If the user is not authorized to alter the target resource, an error > response containing a "403 Forbidden" status-line SHOULD be returned. > A server MAY return a "404 Not Found" status-line, as described in > Section 6.5.4 in [RFC7231]. The error-tag value "invalid-value" is > used in this case. > > > 4.7. DELETE > If the user is not authorized to delete the target resource, then an > error response containing a "403 Forbidden" status-line SHOULD be > returned. The error-tag value "access-denied" is returned in this > case. A server MAY return a "404 Not Found" status-line, as > described in Section 6.5.4 in [RFC7231]. The error-tag value > "invalid-value" is returned in this case. > " > If we allow mapping data-missing into 404, it seems to me more > changes are required. No, this is a different thing. If "data-missing" can be mapped to 404 it doesn't imply that 404 always means "data-missing". See 6.5.4 in RFC 7231: The 404 (Not Found) status code indicates that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists. /martin > > > > -Qin > > -----邮件原件----- > > 发件人: Martin Bjorklund [mailto:mbj@tail-f.com] > > 发送时间: 2018年12月3日 16:54 > > 收件人: rfc-editor@rfc-editor.org > > 抄送: andy@yumaworks.com; kwatsen@juniper.net; ibagdona@gmail.com; > > warren@kumari.net; mjethanandani@gmail.com; Qin Wu; netconf@ietf.org > > 主题: Re: [Technical Errata Reported] RFC8040 (5565) > > > > Hi, > > > > I don't think this errata should be accepted. 404 means that the requested resource doesn't exist, but "data-missing" can be returned e.g. if you try to patch an existing resource of type leafref to point to a non-existing leaf. > > > > > > /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: > > > http://www.rfc-editor.org/errata/eid5565 > > > > > > -------------------------------------- > > > Type: Technical > > > Reported by: Qin Wu <bill.wu@huawei.com> > > > > > > Section: 7 > > > > > > Original Text > > > ------------- > > > +-------------------------+------------------+ > > > | error-tag | status code | > > > +-------------------------+------------------+ > > > | in-use | 409 | > > > | lock-denied | 409 | > > > | resource-denied | 409 | > > > | data-exists | 409 | > > > | data-missing | 409 | > > > > > > > > > Corrected Text > > > -------------- > > > +-------------------------+------------------+ > > > | error-tag | status code | > > > +-------------------------+------------------+ > > > | in-use | 409 | > > > | lock-denied | 409 | > > > | resource-denied | 409 | > > > | data-exists | 409 | > > > | data-missing | 404 | > > > > > > > > > Notes > > > ----- > > > The <error-tag> data missing should be mapped to status code '404' instead of '409' to get consistent with the defintion of data-missing in RFC6241. > > > > > > 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] [Technical Errata Reported] RFC8040 (55… RFC Errata System
- Re: [Netconf] [Technical Errata Reported] RFC8040… Martin Bjorklund
- Re: [Netconf] [Technical Errata Reported] RFC8040… Qin Wu
- Re: [Netconf] [Technical Errata Reported] RFC8040… Martin Bjorklund
- Re: [Netconf] [Technical Errata Reported] RFC8040… Juergen Schoenwaelder
- Re: [Netconf] [Technical Errata Reported] RFC8040… Martin Bjorklund
- Re: [Netconf] [Technical Errata Reported] RFC8040… Qin Wu
- Re: [Netconf] [Technical Errata Reported] RFC8040… Qin Wu
- Re: [Netconf] [Technical Errata Reported] RFC8040… Martin Bjorklund
- Re: [Netconf] [Technical Errata Reported] RFC8040… Ladislav Lhotka
- Re: [Netconf] [Technical Errata Reported] RFC8040… Qin Wu
- Re: [Netconf] [Technical Errata Reported] RFC8040… Martin Bjorklund
- Re: [netconf] [Technical Errata Reported] RFC8040… Ignas Bagdonas