Re: [i2rs] Call for Input from WG: I2RS error handling simplification for initial I2RS protocol

"Susan Hares" <shares@ndzh.com> Thu, 15 October 2015 03:20 UTC

Return-Path: <shares@ndzh.com>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6C1D1B2F86 for <i2rs@ietfa.amsl.com>; Wed, 14 Oct 2015 20:20:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.055
X-Spam-Level:
X-Spam-Status: No, score=-99.055 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DOS_OUTLOOK_TO_MX=2.845, USER_IN_WHITELIST=-100] autolearn=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 Va6DqsLU4RbH for <i2rs@ietfa.amsl.com>; Wed, 14 Oct 2015 20:20:43 -0700 (PDT)
Received: from hickoryhill-consulting.com (hhc-web3.hickoryhill-consulting.com [64.9.205.143]) (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 CCDE51B2F85 for <i2rs@ietf.org>; Wed, 14 Oct 2015 20:20:42 -0700 (PDT)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=195.53.52.170;
From: Susan Hares <shares@ndzh.com>
To: 'Joe Clarke' <jclarke@cisco.com>, i2rs@ietf.org
References: <005901d10595$3f1fce10$bd5f6a30$@ndzh.com> <561CFF59.3020604@cisco.com>
In-Reply-To: <561CFF59.3020604@cisco.com>
Date: Wed, 14 Oct 2015 23:20:14 -0400
Message-ID: <01b601d106f8$69c836c0$3d58a440$@ndzh.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQEoIgrEBoPDtxDxKD7aeuKUQrt9ZAMAOITjn6WpaxA=
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/SuzzHiUIE-K79WG7JlCWmkuFlHw>
Cc: jhaas@pfrc.org, 'Alia Atlas' <akatlas@gmail.com>
Subject: Re: [i2rs] Call for Input from WG: I2RS error handling simplification for initial I2RS protocol
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Oct 2015 03:20:43 -0000

Joe: 

There will be some groups of data model have dependencies between objects.
Some Client interactions will be orthogonal to each other.   If there are
groupings, then the dependencies may leave the I2RS agent and routing system
in an unknown state. 

The "all-or-nothing" is the normal case for NETCONF/RESTCONF. If clients are
based on the Netconf/RESTCONF code base, this will be the simple upward
change. 

The I2RS agent needs to provide notification for error on writing for
priority conflict, and for other errors.   The Stop-on-error would also need
to provide this input. 

Sue 

-----Original Message-----
From: Joe Clarke [mailto:jclarke@cisco.com] 
Sent: Tuesday, October 13, 2015 8:56 AM
To: Susan Hares; i2rs@ietf.org
Cc: jhaas@pfrc.org; 'Alia Atlas'
Subject: Re: [i2rs] Call for Input from WG: I2RS error handling
simplification for initial I2RS protocol

On 10/13/15 04:57, Susan Hares wrote:
> Currently the I2RS requirements have error handling having three parts:
>
> 1)"all-or-nothing",
>
> 2)"continue-on-error", and
>
> 3)"stop-on-error".
>
> To provide an easier first step for the I2RS Agent for the first 
> implementation of an I2RS protocol,  the I2RS protocol design team 
> suggests reduce this to the "all-or-nothing" for the initial version.
> Later versions of the I2RS protocol can provide the "continue-on-error"
> or "stop-on-error" error handling.  The earlier decision in the I2RS 
> architecture was to support all 3 error handling pieces.

It seems to me the latter two would be easier to implement as the Client
continues to fire (until not told to do so in the stop-on-error case) and
the Agent wouldn't have to track all operations for rollback.

Is the assumption that most I2RS transactions will have mutual dependencies,
and this is the most common error case?

Joe