Re: [YANG] errors
Andy Bierman <ietf@andybierman.com> Thu, 24 January 2008 16:41 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 1JI59F-0003tm-TQ; Thu, 24 Jan 2008 11:41:53 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43)
id 1JI59E-0003tS-FR
for yang-confirm+ok@megatron.ietf.org; Thu, 24 Jan 2008 11:41:52 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
by megatron.ietf.org with esmtp (Exim 4.43) id 1JI59E-0003tK-5l
for yang@ietf.org; Thu, 24 Jan 2008 11:41:52 -0500
Received: from smtp117.sbc.mail.sp1.yahoo.com ([69.147.64.90])
by ietf-mx.ietf.org with smtp (Exim 4.43) id 1JI59D-0002U9-KY
for yang@ietf.org; Thu, 24 Jan 2008 11:41:52 -0500
Received: (qmail 32015 invoked from network); 24 Jan 2008 16:41:50 -0000
Received: from unknown (HELO ?192.168.0.10?) (andybierman@att.net@68.120.83.75
with plain)
by smtp117.sbc.mail.sp1.yahoo.com with SMTP; 24 Jan 2008 16:41:50 -0000
X-YMail-OSG: RAB9uRQVM1meAYk.mVhZxZpX51yoaOFUCZgNZhzUqFGjOpGm
X-Yahoo-Newman-Property: ymail-3
Message-ID: <4798BFCD.3000706@andybierman.com>
Date: Thu, 24 Jan 2008 08:41:49 -0800
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: Martin Bjorklund <mbj@tail-f.com>
Subject: Re: [YANG] errors
References: <20080124.153853.210376606.mbj@tail-f.com>
In-Reply-To: <20080124.153853.210376606.mbj@tail-f.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 31247fb3be228bb596db9127becad0bc
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
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 think you mean that an error MUST use one of the existing
error-tag values from RFC 4741, 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? 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).
> Grammar:
>
> error-stmt = error-keyword sep error-app-tag-str optsep "{"
> ; error-app-tag-str is an identifier
> error-tag-stmt stmtsep
> [error-message-stmt stmtsep]
> [error-severity-stmt stmtsep] ; default is error
> [description-stmt stmtsep]
> [reference-stmt stmtsep]
> "}"
>
> raise-error error-app-tag-ref-str stmtsep
>
What if the DM writer wants to raise an existing standard error?
Does there need to be a standard module for the NETCONF errors,
added as an appendix?
Notably missing from the error-stmt is definition of any error-info data.
An open issue is whether there is some simple mechanism for defining
error-info, other than full-blown data-def-stmt, to define error leafs.
(E.g., lock-denied has the <session-id> of the current lock owner.)
If not, then I would rather leave it out.
>
> Comments?
>
>
> /martin
>
>
Andy
_______________________________________________
YANG mailing list
YANG@ietf.org
https://www1.ietf.org/mailman/listinfo/yang
- [YANG] errors Martin Bjorklund
- Re: [YANG] errors Juergen Schoenwaelder
- Re: [YANG] errors Phil Shafer
- Re: [YANG] errors Andy Bierman
- Re: [YANG] errors Martin Bjorklund
- Re: [YANG] errors Juergen Schoenwaelder
- Re: [YANG] errors Juergen Schoenwaelder
- Re: [YANG] errors Martin Bjorklund
- Re: [YANG] errors Andy Bierman
- Re: [YANG] errors Martin Bjorklund
- Re: [YANG] errors Andy Bierman
- Re: [YANG] errors Martin Bjorklund
- Re: [YANG] errors Andy Bierman
- Re: [YANG] errors Martin Bjorklund
- Re: [YANG] errors Andy Bierman
- Re: [YANG] errors Juergen Schoenwaelder
- Re: [YANG] errors Martin Bjorklund
- Re: [YANG] errors Juergen Schoenwaelder
- Re: [YANG] errors Martin Bjorklund