Re: [YANG] errors

Martin Bjorklund <mbj@tail-f.com> Thu, 24 January 2008 17:51 UTC

Return-path: <yang-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JI6Ey-0004Tn-JQ; Thu, 24 Jan 2008 12:51:52 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43) id 1JI6Ex-0004Tc-Qm for yang-confirm+ok@megatron.ietf.org; Thu, 24 Jan 2008 12:51:51 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JI6Ex-0004TP-1o for yang@ietf.org; Thu, 24 Jan 2008 12:51:51 -0500
Received: from [213.180.94.162] (helo=mail.tail-f.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1JI6Ew-0005mB-Dk for yang@ietf.org; Thu, 24 Jan 2008 12:51:50 -0500
Received: from localhost (c213-100-166-13.swipnet.se [213.100.166.13]) by mail.tail-f.com (Postfix) with ESMTP id 398F01B80D7; Thu, 24 Jan 2008 18:51:49 +0100 (CET)
Date: Thu, 24 Jan 2008 18:50:12 +0100 (CET)
Message-Id: <20080124.185012.212081588.mbj@tail-f.com>
To: ietf@andybierman.com
Subject: Re: [YANG] errors
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <4798BFCD.3000706@andybierman.com>
References: <20080124.153853.210376606.mbj@tail-f.com> <4798BFCD.3000706@andybierman.com>
X-Mailer: Mew version 5.1.51 on Emacs 22.1 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Scan-Signature: d0bdc596f8dd1c226c458f0b4df27a88
Cc: yang@ietf.org
X-BeenThere: yang@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: YANG modeling Language for NETCONF <yang.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/yang>
List-Post: <mailto:yang@ietf.org>
List-Help: <mailto:yang-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=subscribe>
Errors-To: yang-bounces@ietf.org

Andy Bierman <ietf@andybierman.com> wrote:
> Martin Bjorklund wrote:
> > Hi,
> > 
> > We have been talking about adding two new statements related to
> > error generation to YANG.
> > 
> > The first statement is 'error'.  It is used to define a named error.
> > The second statement is 'raise-error'.
> >....
> > The errors defined for an rpc would be in addition to the standard
> > errors defined in rfc4741.
> > 
> 
> The phrase 'in addition' concerns me.

I meant that if an rpc has one raise-error clause, it doesn't mean
that the standard error messages cannot be generated.  It just means
that in addition to the normal error messages (e.g. missing-element),
these DM-specific errors can also occur.

> I think you mean that an error MUST use one of the existing
> error-tag values from RFC 4741

Yes that was the idea, although I forgot to mention it.

> but the other fields specified
> in error-stmt will be used in an <rpc-error> generated for the
> particular error condition.  IMO, this is too flexible.
> 
> There is a balance between multi-vendor interoperability
> and single-vendor-flexibility that must be carefully considered
> when developing a standard.  IMO, it would drastically harm
> interoperability if the <rpc-error> mechanism turned into
> just another proprietary hack (I mean 'vendor-specific content' ;-)
> within NETCONF.
> 
> What does it mean for interoperability if vendors override an error defined
> in RFC 4741 or the Notifications RFC, with different error-severity,
> or error-message?

You are right.  [checking rfc4741...] Hmm.  An rpc-error MUST include
error-tag.  The list of error-tags is defined in rfc4741.  For each
such tag, the corresponding error-severity is defined.  All tags have
error-severity 'error'.  Conclusion: error-severity 'warning' can
never be generated. !!?!?!

One other thing.  The error-message is not defined by rfc4741, so it
should be ok for a DM to define one.

> What if they ignore some/all of the standard errors,
> and use their own proprietary set (because it's better of course ;-)
> 
> IMO, the structured error return codes in NETCONF represent an important
> advancement away from screen-scraping CLI.  It is important that this
> is not compromised.  A vendor is not compliant with RFC 4741
> unless all the errors are generated exactly as specified in the spec,
> regardless of what the YANG draft says.
> 
> I think it needs to be clear in the draft that the fields defined
> by standard errors cannot be changed, and <rpc-error> behavior
> defined in the standard cannot be changed (e.g., send the
> acme-lock-denied error *instead* of the standard lock-denied error,
> which uses a different error-tag value, or does not include the
> <session-id> error-info).

Agreed.  The idea is to provide more, specific, info, in addition to
the standard messages.  The idea is not to change the standard
messages.


/martin


_______________________________________________
YANG mailing list
YANG@ietf.org
https://www1.ietf.org/mailman/listinfo/yang