Re: [Netconf] Confirmed commit

"Bert Wijnen (IETF)" <bertietf@bwijnen.net> Fri, 20 September 2013 11:58 UTC

Return-Path: <bertietf@bwijnen.net>
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 20FC221F9477 for <netconf@ietfa.amsl.com>; Fri, 20 Sep 2013 04:58:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OsYb0+OGTgmF for <netconf@ietfa.amsl.com>; Fri, 20 Sep 2013 04:58:22 -0700 (PDT)
Received: from postgirl.ripe.net (postgirl.ipv6.ripe.net [IPv6:2001:67c:2e8:11::c100:1342]) by ietfa.amsl.com (Postfix) with ESMTP id BE68221F93F3 for <netconf@ietf.org>; Fri, 20 Sep 2013 04:58:21 -0700 (PDT)
Received: from ayeaye.ripe.net ([193.0.23.5]) by postgirl.ripe.net with esmtps (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from <bertietf@bwijnen.net>) id 1VMzLj-0006Nx-De; Fri, 20 Sep 2013 13:58:18 +0200
Received: from kitten.ripe.net ([193.0.1.240] helo=[IPv6:::1]) by ayeaye.ripe.net with esmtp (Exim 4.72) (envelope-from <bertietf@bwijnen.net>) id 1VMzLi-0004xR-WB; Fri, 20 Sep 2013 13:58:15 +0200
Message-ID: <523C3856.9040304@bwijnen.net>
Date: Fri, 20 Sep 2013 13:58:14 +0200
From: "Bert Wijnen (IETF)" <bertietf@bwijnen.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: Martin Bjorklund <mbj@tail-f.com>
References: <c0df6f9383b5810f604aec2a2f381bae@imap.plus.net> <20130920.125718.2241274183066609324.mbj@tail-f.com>
In-Reply-To: <20130920.125718.2241274183066609324.mbj@tail-f.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Anti-Virus: Kaspersky Anti-Virus for Linux Mail Server 5.6.48/RELEASE, bases: 20120425 #7816575, check: 20130920 clean
X-RIPE-Spam-Level: --
X-RIPE-Spam-Report: Spam Total Points: -2.9 points pts rule name description ---- ---------------------- ------------------------------------ -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000]
X-RIPE-Signature: 86ab03e524994f79ca2c75a176445dd4cafc45d3a039c63390849b67e7f88d5a
Cc: netconf@ietf.org
Subject: Re: [Netconf] Confirmed commit
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Fri, 20 Sep 2013 11:58:34 -0000

Speaking as a technical contributor.

I also think we should stick to the terminology we have been using for
many years now. So I was thinking more about some clarifying or explanatory
text instead of renaming our terminology.

Bert

On 9/20/13 12:57 PM, Martin Bjorklund wrote:
> Hi,
>
> I don't think we should change the terminology in an errata.
> (and actually I don't think we should change it at all - I agree there
> might be a better term, but the term "confirmed commit" has been used
> for several years and people are used to it)
>
> Your text about sequence of commits is fine; but I think we should
> stick to the current terminology.
>
>
> /martin
>
>
> Jonathan Hansford <Jonathan@hansfords.net> wrote:
>>
>>
>> I propose the following changes to address Andy's issue relating to
>> consecutive confirmed commits and my issue relating to the confusing
>> terminology:
>>
>> 8.4.1. Description (paras 2-6)
>> A <commit> operation with
>> the <confirmed> parameter (an unconfirmed <commit>) 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 unconfirmed <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
>> unconfirmed <commit> operation MAY introduce additional changes to the
>> configuration.
>> If the <persist> element is not given in the unconfirmed
>> commit operation, any follow-up commit and the confirming commit MUST be
>> issued on the same session that issued the unconfirmed commit. If the
>> <persist> element is given in the unconfirmed <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 unconfirmed commits is terminated for any reason
>> before the confirm timeout expires, the server MUST restore the
>> configuration to its state before the sequence of unconfirmed commits
>> was issued, unless the last unconfirmed 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 unconfirmed 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
>> unconfirmed commits. To cancel the current sequence of unconfirmed
>> 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 unconfirmed commits was issued, by using the
>> <cancel-commit> operation.
>> :
>> 8.4.4.1.
>> <cancel-commit>
>> Description:
>> Cancels an ongoing sequence of unconfirmed
>> commits. If the <persist-id> parameter is not given, the <cancel-commit>
>> operation MUST be issued on the same session that issued the sequence of
>> unconfirmed commits.
>> Parameters:
>> persist-id:
>> Cancels a persistent
>> sequence of unconfirmed commits. The value MUST be equal to the value
>> given in the <persist> parameter to the <commit> operation. If the value
>> does not match, the operation fails with an "invalid-value"
>> error.
>> :
>> 8.4.5.1. <commit>
>> The :confirmed-commit:1.1 capability allows 4
>> additional parameters to the <commit>
>> operation.
>> Parameters:
>> confirmed:
>> Perform an unconfirmed <commit>
>> operation.
>> confirm-timeout:
>> Timeout period for confirmed commit, in
>> seconds. If unspecified, the confirm timeout defaults to 600
>> seconds.
>> persist:
>> Make the unconfirmed commit survive a session
>> termination, and set a token on the ongoing sequence of unconfirmed
>> commits.
>> persist-id:
>> Used to issue a follow-up unconfirmed commit or a
>> confirming commit from any session, with the token from the previous
>> <commit> operation.
>>
>> On 2013-09-20 11:08, Bert Wijnen (IETF) wrote:
>>
>>>
>> THat is one (and probably good) approach.
>>>
>>> So can the
>> authors/experts suggest some text that makes
>>> sense as a fix (or better
>> clarification) to a possible
>>> erratum?
>>>
>>> Bert
>>>
>>> On 9/20/13 10:00
>> AM, Jonathan Hansford wrote:
>>>
>>>> Would it be worth agreeing text
>> online then raising an erratum? Sent from my BlackBerry -----Original
>> Message----- From: "Bert Wijnen (IETF)" <bertietf@bwijnen.net [1]> Date:
>> Fri, 20 Sep 2013 08:41:42 To: Andy Bierman<andy@yumaworks.com [2]>;
>> Jonathan Hansford<Jonathan@hansfords.net [3]>; Netconf<netconf@ietf.org
>> [4]> Subject: Re: [Netconf] Confirmed commit See at bottom On 9/20/13
>> 7:13 AM, Juergen Schoenwaelder wrote:
>>>>
>>>>> On Thu, Sep 19, 2013 at
>> 01:39:28PM -0700, Andy Bierman wrote:
>>>>>
>>>>>> Hi, I always found
>> section 8.4.1, para 2 confusing. T0: /int8.1 does not exist
>>>>>>
>>>>>>>
>> merge /int8.1 value=20 commit confirmed confirm-timeout=60
>>>>>> T1:
>> /int8.1 = 20 merge /int8.1 value=30 commit confirmed confirm-timeout=60
>> T2: /int8.1 = 30 T3: timeout occurs: para 6 says: If a confirming commit
>> is not issued, the device will revert its configuration to the state
>> prior to the issuance of the confirmed commit. The problem is that there
>> are 2 confirmed commit operations. At time T3 does the server go back to
>> state T1 or T0? (Our server goes back to T0). The 2nd commit contains a
>> confirmed parameter, and para 2 sentence 2 clearly says this is not a
>> confirming commit. The text does not actually define a "confirmed
>> commit", but I assume it is a commit with a confirmed parameter.
>> Therefore, paragraphs 5 - 7 are wrong where they refer to "the confirmed
>> commit", because there are 2 of them.
>>>>> Yes, this corner case where
>> multiple confirmed commits are issued is not described well. Your
>> interpretation that subsequent confirmed commits effectively extend the
>> first one makes sense to me.
>>>> Can wee keep this somewhere so we
>> clarify it if we ever have to open up and update the document? Bert
>>>>
>>
>>>>> /js
>>
>>
>> Links:
>> ------
>> [1] mailto:bertietf@bwijnen.net
>> [2]
>> mailto:andy@yumaworks.com
>> [3] mailto:Jonathan@hansfords.net
>> [4]
>> mailto:netconf@ietf.org
>