Re: [netconf] RFC 6241 Ambiguity

Andy Bierman <andy@yumaworks.com> Thu, 16 May 2019 19:11 UTC

Return-Path: <andy@yumaworks.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 C871E12028A for <netconf@ietfa.amsl.com>; Thu, 16 May 2019 12:11:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 4dbu0wSgauj9 for <netconf@ietfa.amsl.com>; Thu, 16 May 2019 12:11:03 -0700 (PDT)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (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 88F4812025A for <netconf@ietf.org>; Thu, 16 May 2019 12:10:52 -0700 (PDT)
Received: by mail-lj1-x22e.google.com with SMTP id a10so4107525ljf.6 for <netconf@ietf.org>; Thu, 16 May 2019 12:10:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yhEdhtujZODDo0lHewN/0UohvCiBkZDYk4S4hm6vI5k=; b=XHt/P70xy0yBtiag2f1aC8hnwYDv3I1E0SipPGOnIYZgY3pgX/bEFTQrRQJMARSWHA UAvis53kJlAgbjubA2Noij+nGbxlIhhsVHg53kD1KiKAzT/ch/dwgZ65K2QhEr3cAF2Y B9ULJs/ejBNEukN60R0gxzce38WmcGCbW1eFl705A1xfAPurOprVf+M5+kBXzqG8mYpa GpGuIVbzbS4YpOXyU87dzE1Ib+eTGHW7gOndjk9v2J8AvCG5tDUZPmwwo5NpuV99aU3l 3Ui04iRyC3V0Yz3Km+lHIegSBsRRycjzUQyVH7aMSqsisB8wZDuE6yeN44Fh3KA0sI0N QA0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yhEdhtujZODDo0lHewN/0UohvCiBkZDYk4S4hm6vI5k=; b=gSlhG0kkSD/xRZzgsnm6Fd90TaQAwAp9nvJK0jAIccg2EchI1u1uQZW6Bu+OBxNtag rv79H3eVmpJJYfPbMMmkCCLIe8FMjB50pzL9JRf/V2NxYiJqvxYNIvrD5U10ITKahmVQ i1aDY2LBn6ZlQBWveQ1Ogvpz867US5jrBdJQfUftaPj6hnZYkBFhpWTN4PzZXeYd9nOr 3eGWfjdgpKIMTKP2NgzEZgfD02cKpV3phGTdg6qMyJFWrLzU/PERHfDDqcihMx233Z7Y xfT7cx5C/6pSQfkIfJXk3zemt89mqQbrD3sqs20v2OFABaMR/1G/OPV5kcNruDhhIxMq 6aNg==
X-Gm-Message-State: APjAAAUJ4CAgrEF5IVuT2P4sXZ6MTP6aOm4sP7W5Rtiwy8iANS9F+5Iq OoAQDnTrr7y5YBELJ6UWTCHf+a7eS59HtTeSkteLig==
X-Google-Smtp-Source: APXvYqz0aUtFzUYoWIQ+dfJTIDDjI3EgGI3X8W1CNhaMtnKWaYH/b+/tYYZM2kZw5bRbIh/EfNrWiwieRonl//jBUs0=
X-Received: by 2002:a2e:8716:: with SMTP id m22mr9793958lji.128.1558033850046; Thu, 16 May 2019 12:10:50 -0700 (PDT)
MIME-Version: 1.0
References: <em35e87021-fa76-4888-a383-8b34e960175f@morpheus> <0100016aa75956af-70018fb1-15f8-4394-8ffd-4f4d5b2d7b3f-000000@email.amazonses.com> <CABCOCHScSp8AEjcgSd7tX-Va45y51CxK-b_hO4nd3SzW9rTUKA@mail.gmail.com> <eme2e51d99-6140-4142-b89f-db5e4c6e2a88@morpheus> <0100016ab7a9af7e-cd7f776e-79e1-42a4-9c5d-d04aed0d8fa1-000000@email.amazonses.com> <emdf557a96-2926-4d87-83f9-2f8216ed652e@morpheus> <76ED75C8-AA1A-4A03-A382-0DE834C914A1@gmail.com> <0100016abd77bfe3-88ae515a-d7f9-41c7-b627-9c51bdf16213-000000@email.amazonses.com> <CABCOCHQ-SWFCzs-FzhLe=-n+j+-AEknTuv-nKJ4etFm0srig5w@mail.gmail.com> <884391D0-3F53-4F3D-BFB0-DD333D09507C@gmail.com>
In-Reply-To: <884391D0-3F53-4F3D-BFB0-DD333D09507C@gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 16 May 2019 12:10:38 -0700
Message-ID: <CABCOCHTLzW+2mkau0KHSbprw0e7PjNFO6SZoPyXUzkKm7gsyow@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Kent Watsen <kent@watsen.net>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002e36f005890606d2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Fm6rBTSfX5yvhHXF-r08WT86WUk>
Subject: Re: [netconf] RFC 6241 Ambiguity
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: Thu, 16 May 2019 19:11:10 -0000

On Thu, May 16, 2019 at 11:50 AM Mahesh Jethanandani <
mjethanandani@gmail.com> wrote:

> Hi Andy,
>
> On May 16, 2019, at 10:02 AM, Andy Bierman <andy@yumaworks.com> wrote:
>
>
>
> On Wed, May 15, 2019 at 2:48 PM Kent Watsen <kent@watsen.net> wrote:
>
>>
>>
>> I don't think Erratum 5397 should be deleted. Though the original section
>> 7.8 makes no mention of confirmed commits, section 7.9 does, but does not
>> differentiate between a vanilla confirmed commit and a persistent confirmed
>> commit. Since a persistent confirmed commit is still a type of confirmed
>> commit, without clarification the second paragraph of the description would
>> seem to apply.
>>
>>
>> I would agree.
>>
>>
>>
> 7.8 does not say anything about the <kill-session> is for the
> session that started a confirmed commit or extended a confirmed commmit.
> It could be interpreted to mean any kill-session for any session causes
> a confirmed commit to be rolled back.  The text below is so ambiguous it
> is not even clear the <kill-session> has to be for an existing session,
>
>       If a NETCONF server receives a <kill-session> request while
>       processing a confirmed commit (Section 8.4), it MUST restore the
>       configuration to its state before the confirmed commit was issued.
>
>
>
> While the original text in 7.8 was ambiguous, Erratum 5397 does seem to
> clarify that the <close-session> (not <kill-session), is for the session in
> question, and not any session.
>
>
I do not agree that close-session overrides the text in sec 8.4 supports
this procedure.
It also makes no sense from an operational POV, since dropping the session
(without a close-session) does not have this affect :



   If the session issuing the confirmed commit is terminated *for any
   reason* before the confirm timeout expires, the server MUST restore
   the configuration to its state before the confirmed commit was
   issued,* unless the confirmed commit also included a <persist>
   element.*


IMO this text overrides the close-session and kill-session text.




>       If a NETCONF server receives a <close-session> request while
>       processing a confirmed commit (Section 8.4) for that session, it
>       MUST restore the configuration to its state before the confirmed
>       commit was issued unless the confirmed commit included a <persist>
>       element.
>
> That is why I agree that Erratum 5397 should not be deleted, but should be
> modified to the text suggested by Jonathan.
>
>
This makes no operational sense if the <persist> parameter was used.


>
>
>
>> It's a minor point, but I could argue, as I wrote before, that such
>> clarifications in 7.x are unnecessary because 8.4 provides overrides.   I
>> prefer less text because it's easier to get right (wit this is at least the
>> 3rd time Jonathan is at this now).  However "unnecessary" doesn't mean
>> "wrong" and since we've already stepped in it, getting the 7.x errata right
>> might be easier than getting 8.4 right.
>>
>>
>
> 8.4 para 3 says the confirmed commit is not tied to a session if the
> persist/persist0id mechanism is used.
>
>    If the <persist> element is not given in the confirmed commit
>    operation, any follow-up commit and the confirming commit MUST be
>    issued on the same session that issued the confirmed commit.  If the
>    <persist> element is given in the confirmed <commit> operation, a
>    follow-up commit and the confirming commit can be given on any
>    session, and they MUST include a <persist-id> element with a value
>    equal to the given value of the <persist> element.
>
>
> The problematic text is actually in <cancel_commit>
>
> 8.4.4.1.  <cancel-commit>
>
>    Description:
>
>          Cancels an ongoing confirmed commit.  If the <persist-id>
>          parameter is not given, the <cancel-commit> operation MUST be
>          issued on the same session that issued the confirmed commit.
>
>
> In order to cancel a confirmed commit (belonging to another client, i.e
> the persist-id is not known), the client issues a <kill-session> for
> any random or non-existent session.  It would make more sense to issue a
> <cancel-commit>
> (maybe require superuser) instead. The access control policy for
> <kill-session>
> is the wrong way to configure access to cancelling a confirmed commit.
>
> IMO these procedures are not well designed or documented, and an Errata
> cannot
> be used to fix it -- a new version of the protocol should fix it, in which
> WG and IETF consensus
> is reached for the selected solution.
>
>
> Do you want to open this as a netconf-next issue?
>
>
>
not really



>
>
>
>> With the diff, should that be against the original text or the original
>> erratum?
>>
>>
>> The diff is building on top of the original erratum. I would think a diff
>> w.r.t. to the original erratum would make sense.
>>
>>
>> It depends, are you correcting the earlier errata or filing a new one?
>> Regardless, I expressed a diff for what I think the text should be (which
>> you didn't comment on); how that is translated is up to you.
>>
>>
>> Kent // contributor
>>
>>
> Andy
>
>
>> _______________________________________________
>> netconf mailing list
>> netconf@ietf.org
>> https://www.ietf.org/mailman/listinfo/netconf
>>
>
> Mahesh Jethanandani
> mjethanandani@gmail.com
>
>
>

Andy