Re: [netmod] augment YANG 1.0 with YANG 1.1 OK?

Martin Bjorklund <mbj@tail-f.com> Wed, 25 October 2017 17:14 UTC

Return-Path: <mbj@tail-f.com>
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 45BA913943F for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2017 10:14:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 zH7z1RGqPcsb for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2017 10:14:14 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 2BFFF138726 for <netmod@ietf.org>; Wed, 25 Oct 2017 10:14:14 -0700 (PDT)
Received: from localhost (h-40-225.A165.priv.bahnhof.se [94.254.40.225]) by mail.tail-f.com (Postfix) with ESMTPSA id 4682E1AE0332; Wed, 25 Oct 2017 19:14:13 +0200 (CEST)
Date: Wed, 25 Oct 2017 19:14:13 +0200
Message-Id: <20171025.191413.1884714432684351955.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: andy@yumaworks.com, j.schoenwaelder@jacobs-university.de, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <c470cfec-c1b8-a419-ca52-30c47697e21f@cisco.com>
References: <20171025110851.wdoj2dbrqmxz5shd@elstar.local> <CABCOCHR22Ehryxu374a_-F6PFYayTgizReHuC0EaY4uBC7+vyg@mail.gmail.com> <c470cfec-c1b8-a419-ca52-30c47697e21f@cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Zql9DiGEPJ1sS0NYk2jpFwxmRNE>
Subject: Re: [netmod] augment YANG 1.0 with YANG 1.1 OK?
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: Wed, 25 Oct 2017 17:14:16 -0000

Hi,

Robert Wilton <rwilton@cisco.com> wrote:
> Hi Andy,
> 
> 
> On 25/10/2017 16:54, Andy Bierman wrote:
> >
> >
> > On Wed, Oct 25, 2017 at 4:08 AM, Juergen Schoenwaelder
> > <j.schoenwaelder@jacobs-university.de
> > <mailto:j.schoenwaelder@jacobs-university.de>> wrote:
> >
> >     It seems we are jumping between topics. I will skip over comments
> >     concerning the YANG library and whether it is OK or not OK that YANG
> >     library allows different schemas in different datastores.
> >
> > \
> > \
> >
> > Actually, this is the only issue that matters.
> >
> > I decided that no special text is needed because the YANG library is
> > violating a MUST requirement
> > in RFC 7950 and needs to be changed.
> Are you referring to this text, or something else:
> 
> 5.6.5.  Implementing a Module
> 
>    A server implements a module if it implements the module's data
>    nodes, RPCs, actions, notifications, and deviations.
> 
>    A server MUST NOT implement more than one revision of a module.
> 
> If, so, then we still agree with this constraint, and this hasn't
> changed for NMDA.  I think that YANG library should make this clear in
> the list of modules.
> 
> But I don't think that text specifically prevents different deviations
> or features for different datastores ...
> 
> >
> > There can only be one implementation of a module per server, not per
> > datastore.
> > Therefore a module MAY appear in multiple module-sets, but it MUST NOT
> > be different.  The exact same revision, features, and deviations MUST
> > be present
> > in each instance.
> 
> The NMDA draft already states that the schema for all conventional
> configuration datastores must be the same (meaning that all deviations
> and features must be the same as well):
> 
> 5.1. Conventional Configuration Datastores
> 
>    The conventional configuration datastores are a set of configuration
>    datastores that share exactly the same schema, allowing data to be
>    copied between them.
> 
> 
> So, I think that the main question is about how the schema for
> <operational> can differ from the configuration datatstores.
> 
> We want to allow different features to be supported in running vs
> operational, so that feature statements can be useful to turn off
> features that may be supported by a device, but might not be
> externally configurable (e.g router-id).  But we could partially
> constrain their use.  So I propose that we add the following extra
> sentence to the NMDA draft on section 5.3  The Operational State
> Datastore (<operational>).
> 
> My proposed NEW text is:
> 
> If a YANG feature is supported for a module in any configuration
> datastore then it SHOULD also be supported in <operational>.  This is

I think this should be a MUST; if something is supported in the
conventional datastores, then the same schema must be used for the
applied config.

> to allow the applied configuration and any other operational state
> associated with that feature to be available.  The inverse constraint
> does not hold, a server MAY support a feature in <operational> without
> also supporting it in any configuration datatstore.

I agree.

> I'm not sure that it makes sense to constrain deviations to be the
> same for all datastores, since these are the mechanism for reporting
> why a server doesn't conform to the standard ...

I agree.



/martin