Re: [netconf] [Errata Held for Document Update] RFC6241 (3821)

Per Hedeland <per@hedeland.org> Thu, 21 February 2019 12:18 UTC

Return-Path: <per@hedeland.org>
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 494C7130F97 for <netconf@ietfa.amsl.com>; Thu, 21 Feb 2019 04:18:55 -0800 (PST)
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, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=outbound.mailhop.org
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 ePxPq8WufpMG for <netconf@ietfa.amsl.com>; Thu, 21 Feb 2019 04:18:53 -0800 (PST)
Received: from outbound2k.ore.mailhop.org (outbound2k.ore.mailhop.org [54.148.219.64]) (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 CEC4C130F9D for <netconf@ietf.org>; Thu, 21 Feb 2019 04:18:51 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1550751466; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=AK5jye3T5m4UHA7UPfRXr18mN08SSxJkGURYl6RghALEwJpHQXJ297IQCS0NrHcNySApIZO3wszhn 0OrQBqE1XbotTUcaFY5hBShOJ4mzOtgh904/WqZqBYj1C2A9hK6EuwXPwwTsHgbCYBV993nI4az4OI jJHd7xs1yfEULxtXVkaQI7VyCweFOS6NcjlJBi7w5VnKZE1WlFu9kLdfDQxursxZjIjkGvKpHM+WG3 xe9v2iqdiHHd9bOXHthPSuuFem1fiQ9DY+Xi0aVapWJgh3ywFwSmBOB4jspSTRaTK6QoqgGiArwRft DuPONruFIGUEvXqB5ZEIpk/IIj4vxkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:content-type:in-reply-to:mime-version:date: message-id:from:references:cc:to:subject:dkim-signature:from; bh=IK5ALKtPGDlJAp/10I3h6DoXSIruQovcv6xZVsxw8R8=; b=VP+WWtLw9Kik+897sK3ciZBC77Nz21+DagF3ZnGkzXR3pOeTdbp4zMCCcpbQpgu8e7z07EXCelywy gKgpVNSni1bvD9isvYMj+9NLTHjxyLWB0qKx0iLvleylDxzgGqswpJ2eIQXw+I9uPx43trVEZcGBgB 9fDOI2edAF0yMHH57fEw7giYs1XMeJfmZzJhJZBGn8by0LhUOXehtpgG2l7ymxPLwKrPkuR2AzoStg GTakaNdZhHsNWLMC52SC9iDllnmxP0kITl/Mwfx3ax8JhQfccQgyIEXlEGBmXDz6YOYBRcfBzCiOn9 q3hX+P8wUC3yaWdjrwWp0Mtw405dT7w==
ARC-Authentication-Results: i=1; outbound4.ore.mailhop.org; spf=none smtp.mailfrom=hedeland.org smtp.remote-ip=81.228.152.101; dmarc=none header.from=hedeland.org; arc=none header.oldest-pass=0;
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:content-type:in-reply-to:mime-version:date: message-id:from:references:cc:to:subject:from; bh=IK5ALKtPGDlJAp/10I3h6DoXSIruQovcv6xZVsxw8R8=; b=dyuCuXjsq/pY1+Jw7RaoTBb3Km5vg8RhAWsIp7DsrEpB3kCZM+zAqlc6p2VPd5CCijAwNLh+KukQn p1i22oUpJgxwYpUmEjo15LYg1unsFPyuUQFEqhEmFwLZ0MLj6mNQJpIvCTSgiVDgSiMnrUcEdEsHY1 hCVYzNhmzjz3xinj65ETYFFixFLQ1wweQm5WI1iMPBj/SQBQOdPcONZ2QjTDPvSlbWamgNaDFf8f4X rX4pTko/NKWvKybPHIEr+QB4MjA+sUAanxbEKxoP4vt0GIYfkoEANJb5Snj58Iww3kww8XCUuxUXEm OmTHgT4TclxzXzgC8J5Vv1W5H3lBgHQ==
X-MHO-RoutePath: cGVyaGVkZWxhbmQ=
X-MHO-User: aed09aa6-35d2-11e9-befd-af03bedce89f
X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information
X-Originating-IP: 81.228.152.101
X-Mail-Handler: DuoCircle Outbound SMTP
Received: from hedeland.org (unknown [81.228.152.101]) by outbound4.ore.mailhop.org (Halon) with ESMTPSA id aed09aa6-35d2-11e9-befd-af03bedce89f; Thu, 21 Feb 2019 12:17:44 +0000 (UTC)
Received: from pluto.hedeland.org (pluto.hedeland.org [10.1.1.5]) by tellus.hedeland.org (8.15.2/8.15.2) with ESMTPS id x1LCIh3e090343 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 21 Feb 2019 13:18:43 +0100 (CET) (envelope-from per@hedeland.org)
To: Megan Ferguson <mferguson@amsl.com>, jonathan@hansfords.net, Benoit Claise <bclaise@cisco.com>
Cc: rob.enns@gmail.com, netconf@ietf.org, RFC System <rfc-editor@rfc-editor.org>, IESG <iesg@ietf.org>
References: <20140113155326.2E4B97FC396@rfc-editor.org> <74C3A7F7-B338-4B9F-AD61-66F39EA43FC9@amsl.com>
From: Per Hedeland <per@hedeland.org>
Message-ID: <34e64e9f-f3a0-9c4f-9860-e69e120e926c@hedeland.org>
Date: Thu, 21 Feb 2019 13:18:43 +0100
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0
MIME-Version: 1.0
In-Reply-To: <74C3A7F7-B338-4B9F-AD61-66F39EA43FC9@amsl.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/-JaNESQAfxgr7ieviJtNGUCrlYY>
Subject: Re: [netconf] [Errata Held for Document Update] RFC6241 (3821)
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, 21 Feb 2019 12:18:55 -0000

On 2019-02-20 01:44, Megan Ferguson wrote:
> Jonathan and Benoit,
> 
> We have edited the "corrected text in this errata report as suggested by Jonathan.

I don't know if this change - i.e. the addition of the text "or
<persist-id>" in two places - should affect the status of the
document, but it seems to me that it can then no longer be considered
a "clarification", since it proposes a change to the semantics
specified in RFC 6241. As far as I can see, it is clear from 6241 that
the presence of the <persist-id> parameter does not affect the
persistence, only the presence of the <persist> parameter does that.

Furthermore, I'm afraid I fail to find any motivation for this change
in the quoted message from Jonathan (as far as I can see, this message
was not sent to the mailing list).

--Per Hedeland

> We have left the status of this report as Held for Document Update.
> Please let us know if any further action is necessary on our part.
> 
> The report itself is viewable at https://www.rfc-editor.org/errata/eid3821.
> 
> Old (as in Jonathans original report):
> 
> If the session issuing a sequence of one or more
> confirmed commits is terminated for any reason before the confirm
> timeout expires, the server MUST restore the configuration to its
> state before the sequence of confirmed commits was issued, unless
> the last confirmed commit also included a <persist>
> element.
> 
> If the device reboots for any reason before the confirm timeout
> expires, the server MUST restore the configuration to its state
> before the sequence of confirmed commits was issued.
> 
> 
> New (as updated by Jonathans email - see the last line of both paragraphs):
> 
> If the session issuing a sequence of one or more
> confirmed commits is terminated for any reason before the confirm
> timeout expires, the server MUST restore the configuration to its
> state before the sequence of confirmed commits was issued, unless
> the last confirmed commit also included a <persist> or <persist-id> element.
> 
> 
> If the device reboots for any reason before the confirm timeout
> expires, the server MUST restore the configuration to its state
> before the sequence of confirmed commits was issued, unless the last confirmed commit also included a <persist> or <persist-id> element.
> 
> 
> Thank you.
> 
> RFC Editor/mf
> 
> 
>> Hi,
>>   
>> I raised erratum 3821 to clarify the meaning of the term "confirmed commit" for those not familiar with the use of the term within JUNOS. Both the original text and the erratum include text that states If the device reboots for any reason before the confirm timeout expires, the server MUST restore the configuration to its state before the sequence of confirmed commits was issued.. I have since discovered the description of the persist leaf on page 102 that includes the statement, A persistent confirmed commit is not aborted if the NETCONF session terminates.  The only way to abort a persistent confirmed commit is to let the timer expire, or to use the <cancel-commit> operation. Consequently, the replacement text should read:
>>   
>> 8.4.1.  Description
>>   
>> The :confirmed-commit:1.1 capability indicates that the server will
>> support the <cancel-commit> operation, the <confirmed>, <confirm-
>> timeout>, <persist>, and <persist-id> parameters for the <commit>
>> operation, and differentiate between a to be confirmed <commit>
>> operation (a confirmed commit) and a confirming <commit>
>> operation. See Section 8.3 for further details on the <commit>
>> operation.
>>   
>> A confirmed <commit> operation MUST be reverted if a confirming
>> commit is not issued within the timeout period (by default 600
>> seconds = 10 minutes). The confirming commit is a <commit> operation
>> without the <confirmed> parameter and, if successful, cannot be
>> reverted. The timeout period can be adjusted with the <confirm-
>> timeout> parameter. If a follow-up confirmed <commit> operation is
>> issued before the timer expires, the timer is reset to the new value
>> (600 seconds by default). Both the confirming commit and a follow-up
>> confirmed <commit> operation MAY introduce additional changes to the
>> configuration.
>>   
>> 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.
>>   
>> If the server also advertises the :startup capability, a <copy-
>> config> from running to startup is also necessary to save the
>> changes to startup. If the session issuing a sequence of one or more
>> confirmed commits is terminated for any reason before the confirm
>> timeout expires, the server MUST restore the configuration to its
>> state before the sequence of confirmed commits was issued, unless
>> the last confirmed commit also included a <persist> or <persist-id>
>> element.
>>   
>> If the device reboots for any reason before the confirm timeout
>> expires, the server MUST restore the configuration to its state
>> before the sequence of confirmed commits was issued, unless the last
>> confirmed commit also included a <persist> or <persist-id> element.
>>   
>> If a confirming commit is not issued, the device will revert its
>> configuration to the state prior to the issuance of the first in the
>> current sequence of confirmed commits. To cancel the current
>> sequence of confirmed commits and revert changes without waiting for
>> the confirm timeout to expire, the client can explicitly restore the
>> configuration to its state before the sequence of confirmed commits
>> was issued, by using the <cancel-commit> operation.
>>   
>> Jonathan Hansford
> On Jan 13, 2014, at 7:53 AM, RFC Errata System <rfc-editor@rfc-editor.org>; wrote:
> 
>> The following errata report has been held for document update
>> for RFC6241, "Network Configuration Protocol (NETCONF)".
>>
>> --------------------------------------
>> You may review the report below and at:
>> http://www.rfc-editor.org/errata_search.php?rfc=6241&eid=3821
>>
>> --------------------------------------
>> Status: Held for Document Update
>> Type: Editorial
>>
>> Reported by: Jonathan Hansford <jonathan@hansfords.net>;
>> Date Reported: 2013-12-06
>> Held by: Benoit Claise (IESG)
>>
>> Section: 8.4.1
>>
>> Original Text
>> -------------
>> 8.4.1.  Description
>>
>> The :confirmed-commit:1.1 capability indicates that the server will
>> support the <cancel-commit> operation and the <confirmed>,
>> <confirm-timeout>, <persist>, and <persist-id> parameters for the
>> <commit> operation.  See Section 8.3 for further details on the
>> <commit> operation.
>>
>> A confirmed <commit> operation MUST be reverted if a confirming
>> commit is not issued within the timeout period (by default 600
>> seconds = 10 minutes).  The confirming commit is a <commit> operation
>> without the <confirmed> parameter.  The timeout period can be
>> adjusted with the <confirm-timeout> parameter.  If a follow-up
>> confirmed <commit> operation is issued before the timer expires, the
>> timer is reset to the new value (600 seconds by default).  Both the
>> confirming commit and a follow-up confirmed <commit> operation MAY
>> introduce additional changes to the configuration.
>>
>> 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.
>>
>> If the server also advertises the :startup capability, a
>> <copy-config> from running to startup is also necessary to save the
>> changes to startup.
>>
>> 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.
>>
>> If the device reboots for any reason before the confirm timeout
>> expires, the server MUST restore the configuration to its state
>> before the confirmed commit was issued.
>>
>> If a confirming commit is not issued, the device will revert its
>> configuration to the state prior to the issuance of the confirmed
>> commit.  To cancel a confirmed commit and revert changes without
>> waiting for the confirm timeout to expire, the client can explicitly
>> restore the configuration to its state before the confirmed commit
>> was issued, by using the <cancel-commit> operation.
>>
>> Corrected Text
>> --------------
>> 8.4.1.  Description
>>
>> The :confirmed-commit:1.1 capability indicates that the server will
>> support the <cancel-commit> operation, the <confirmed>, <confirm-
>> timeout>, <persist>, and <persist-id> parameters for the <commit>
>> operation, and differentiate between a to be confirmed <commit>
>> operation (a confirmed commit) and a confirming <commit>
>> operation. See Section 8.3 for further details on the <commit>
>> operation.
>>
>> A confirmed <commit> operation MUST be reverted if a confirming
>> commit is not issued within the timeout period (by default 600
>> seconds = 10 minutes). The confirming commit is a <commit> operation
>> without the <confirmed> parameter and, if successful, cannot be
>> reverted. The timeout period can be adjusted with the <confirm-
>> timeout> parameter. If a follow-up confirmed <commit> operation is
>> issued before the timer expires, the timer is reset to the new value
>> (600 seconds by default). Both the confirming commit and a follow-up
>> confirmed <commit> operation MAY introduce additional changes to the
>> configuration.
>>
>> 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.
>>
>> If the server also advertises the :startup capability, a <copy-
>> config> from running to startup is also necessary to save the
>> changes to startup. If the session issuing a sequence of one or more
>> confirmed commits is terminated for any reason before the confirm
>> timeout expires, the server MUST restore the configuration to its
>> state before the sequence of confirmed commits was issued, unless
>> the last confirmed commit also included a <persist> element.
>>
>> If the device reboots for any reason before the confirm timeout
>> expires, the server MUST restore the configuration to its state
>> before the sequence of confirmed commits was issued.
>>
>> If a confirming commit is not issued, the device will revert its
>> configuration to the state prior to the issuance of the first in the
>> current sequence of confirmed commits. To cancel the current
>> sequence of confirmed commits and revert changes without waiting for
>> the confirm timeout to expire, the client can explicitly restore the
>> configuration to its state before the sequence of confirmed commits
>> was issued, by using the <cancel-commit> operation.
>>
>> Notes
>> -----
>> This erratum seeks to clarify the meaning of the term "confirmed commit" for those not familiar with the use of the term within JUNOS. In particular, that the use of "confirmed" is not in the sense of the adjective (meaning "firmly established") but rather that the commit needs to be confirmed. It also emphasises that a "confirming commit" cannot be reverted. Finally it identifies that it is possible to have a sequence of "confirmed commits" prior to a "confirming commit" and that, should no "confirming commit" be received, the configuration will revert to the state prior to the first "confirmed commit" in the sequence.
>>
>> --------------------------------------
>> RFC6241 (draft-ietf-netconf-4741bis-10)
>> --------------------------------------
>> Title               : Network Configuration Protocol (NETCONF)
>> Publication Date    : June 2011
>> Author(s)           : R. Enns, Ed., M. Bjorklund, Ed., J. Schoenwaelder, Ed., A. Bierman, Ed.
>> Category            : PROPOSED STANDARD
>> Source              : Network Configuration
>> Area                : Operations and Management
>> Stream              : IETF
>> Verifying Party     : IESG
>>
> 
> _______________________________________________
> netconf mailing list
> netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>