Re: [netmod] evaluation of "when" under NMDA

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 05 December 2017 10:27 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A2343128E19 for <netmod@ietfa.amsl.com>; Tue, 5 Dec 2017 02:27:32 -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, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 IKMLQiji-NLH for <netmod@ietfa.amsl.com>; Tue, 5 Dec 2017 02:27:30 -0800 (PST)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0608C127058 for <netmod@ietf.org>; Tue, 5 Dec 2017 02:27:27 -0800 (PST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id CC768677; Tue, 5 Dec 2017 11:27:25 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id mk5DVgd_i60C; Tue, 5 Dec 2017 11:27:25 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Tue, 5 Dec 2017 11:27:25 +0100 (CET)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id B873F20128; Tue, 5 Dec 2017 11:27:25 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius3.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id aiNV9vp9wPOJ; Tue, 5 Dec 2017 11:27:25 +0100 (CET)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 20F2B20126; Tue, 5 Dec 2017 11:27:25 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 163CC418C542; Tue, 5 Dec 2017 11:25:54 +0100 (CET)
Date: Tue, 05 Dec 2017 11:25:54 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: NETMOD WG <netmod@ietf.org>
Message-ID: <20171205102554.ggiyqj6fx2bhcrvo@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Ladislav Lhotka <lhotka@nic.cz>, NETMOD WG <netmod@ietf.org>
References: <1512404811.1422.63.camel@nic.cz> <20171204.173431.1294203680272812703.mbj@tail-f.com> <1512407158.6635.8.camel@nic.cz> <20171204172247.rj3ilazharvzbyn6@elstar.local> <1512410991.8751.4.camel@nic.cz> <20171204200019.2xvocmusfwfatqav@elstar.local> <1512464587.7827.13.camel@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1512464587.7827.13.camel@nic.cz>
User-Agent: NeoMutt/20170714 (1.8.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/-VnaMOJuJyesD7xYBw5vLRuLU20>
Subject: Re: [netmod] evaluation of "when" under NMDA
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Dec 2017 10:27:32 -0000

On Tue, Dec 05, 2017 at 10:03:07AM +0100, Ladislav Lhotka wrote:
> On Mon, 2017-12-04 at 21:00 +0100, Juergen Schoenwaelder wrote:
> > On Mon, Dec 04, 2017 at 07:09:51PM +0100, Ladislav Lhotka wrote:
> > > 
> > > Well, according to draft-ietf-netmod-revised-datastores-07:
> > > 
> > >    o  datastore schema: The combined set of schema nodes for all modules
> > >       supported by a particular datastore, taking into consideration any
> > >       deviations and enabled features for that datastore.
> > > 
> > > And "when" determines whether a given schema node is valid or
> > > not. So if a schema node is invalid in the schema of <operational>
> > > but valid in the schema of <intended>, then the former can hardly be
> > > a superset of the latter.
> > 
> > I do not follow your notion of 'schema node is valid or not'. Where is
> > this concept defined? I think RFC 7950 talks about validation of data
> 
> Guess what, this notion is used in the definition of "when" statement (sec.
> 7.21.5):
> 
>    The "when" statement makes its parent data definition statement
>    conditional.  The node defined by the parent data definition
>    statement is only valid when the condition specified by the "when"
>    statement is satisfied. ...
> 
> This text clearly talks about a schema node, because it is what data definition
> statements define.

This is not how I understand the text. Perhaps a clearer phrasing
would have been this:

     The "when" statement makes its parent data definition statement
     conditional.  A node in the data tree corresponding to the parent
     data definition statement is only valid when the condition
     specified by the "when" statement is satisfied. ...

For me, the schema is static, the schema does not change with the
content of the data tree. YANG specifies what a valid data tree is, I
do not thnk it defines schemas that mutate according to some notion of
schema validity.

> > trees against a "schema". Perhaps there are places where the wording
> > is not clear enough? I know that there are places where the RFC 7950
> > text says just "node" without being explicit about the distinction
> > between schema node and corresponding data nodes. If this is an issue
> 
> Note that data node is just a special type of schema node (sec. 3).

Oops, yes I meant 'node in the data tree' or 'data node instance' or
'data tree node' (it seems we have no term for this and data node is
indeed used for a different purpose).

> > here, we may consider posting erratas to clear things up.
> 
> Right, the text above could say "The schema node defined ..." but it can never
> say "an instance of a data node" because "when" can also be used for "choice",
> "case" and "augment", and then there is no conditional (parent) instance.

The first thing is to settle on what the intention of the YANG
specification was and then we can discuss how to fix any wording
ambiguities. It seems we do not even agree on the intention so far.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>