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

Andy Bierman <andy@yumaworks.com> Wed, 25 October 2017 17:50 UTC

Return-Path: <andy@yumaworks.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 C7B95139504 for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2017 10:50:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 CC4R7j4SIRQv for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2017 10:50:31 -0700 (PDT)
Received: from mail-lf0-x231.google.com (mail-lf0-x231.google.com [IPv6:2a00:1450:4010:c07::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CCFEB13F439 for <netmod@ietf.org>; Wed, 25 Oct 2017 10:50:30 -0700 (PDT)
Received: by mail-lf0-x231.google.com with SMTP id a16so914376lfk.0 for <netmod@ietf.org>; Wed, 25 Oct 2017 10:50:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=mzIC2fqOtE1Y9DWbesffsmfaWYre6tLqa7P5zh22uU8=; b=HUxHQ8+C30umfcU3hsjm8HEqjpe03UJLIiWWa/PTDQk/1/q7DId2i9TxPO5BwR9Po/ kGUxCUSg3I1K96Sdta0esvCVZBA/2WAnlsvwizpIMngq24xhEWakLePI1h7aKGLGFeYD gM1Vj8v2YfDEA8C/ul/9ZNeNc9xoZZDd6CC2yl/fwI8v+xeHnHV+8P0Zaf0wBMSD/exg KjIDGKq8mDNtk0UCEkcKYzHbXAr6z7tWQGoyjQzFEh7IuS12CawzSAu+3n7jAmYWv45r XU7Bz3GnZD5JDDZqKXm92xEUbbSXlrf9+QnyhrL6UhDJeq5KfaAXADsNyQPIDMknYxeq w5Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=mzIC2fqOtE1Y9DWbesffsmfaWYre6tLqa7P5zh22uU8=; b=f5GiY0uZVNLn4cWI2Z4/+DWvR0La+eEvMTRa2HupmJhO4AdrPe8xmvnXhQozmVXoDD vqHVMWG8+fBVu11WcxTwD2Luyb0SOAlFUUzRSFLwL1Mc3KyTf9f44GCoOSI0Y3AwMUX1 yGU4nrSCApJ0HhZHXEkLMsTuZ3LC3NS/Mcs7oi5Yj0dRTiUoSq/q7t6DXcsdWnVqpVWZ nCE012Yw535s3rbaVmH1J7M5+ZqIC+aYW6dvLmayHxTzUnA/wMQqmi8OdW3GgFdKsEoy PKpS4W52BuyIyjR2zcvhBW7P5xTvbmHsm00wtpLKlxOlql2c5B/5q7k6wXIPxUK1LXD3 SkDw==
X-Gm-Message-State: AMCzsaXBqs3BZgxqFmULAmSrdP9nORcVJosnGPWGmKWJCTp1x5hOEf3u d19zgOG5GEM3Z+deihqV4a6eSM7P8kjnoP1itu/Uog==
X-Google-Smtp-Source: ABhQp+SzBepvO5/GDUSIflWP2iqqyRMVvufWc0pIOEeF9uN6XwxKf7Pf+RsZoKR7/OzfQeKIIth+XJT+7x3YKnXMX7o=
X-Received: by 10.25.221.196 with SMTP id w65mr5977303lfi.89.1508953829083; Wed, 25 Oct 2017 10:50:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.25.150.198 with HTTP; Wed, 25 Oct 2017 10:50:28 -0700 (PDT)
In-Reply-To: <20171025.191413.1884714432684351955.mbj@tail-f.com>
References: <20171025110851.wdoj2dbrqmxz5shd@elstar.local> <CABCOCHR22Ehryxu374a_-F6PFYayTgizReHuC0EaY4uBC7+vyg@mail.gmail.com> <c470cfec-c1b8-a419-ca52-30c47697e21f@cisco.com> <20171025.191413.1884714432684351955.mbj@tail-f.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Oct 2017 10:50:28 -0700
Message-ID: <CABCOCHQ3JPVcad4GyHBYTnDM4iHHiMR=3SF5gb5ycJL__vPpug@mail.gmail.com>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: Robert Wilton <rwilton@cisco.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0c884af723a1055c62b0b7"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ZXllnov5T6RpdhQN0RDhfOk66x0>
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:50:35 -0000

On Wed, Oct 25, 2017 at 10:14 AM, Martin Bjorklund <mbj@tail-f.com> wrote:

> 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 disagree


>
> > 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.
>
>
I disagree


Features and deviations are are part of the one implementation.
Features are not mentioned in the cited text because they are inherently
optional and do not have to be implemented.

There is no text in RFC 7950 that supports the notion that an
if-feature-stmt
or a deviation-stmt can apply to a specific datastore.  It applies to the
object.

Good luck getting client developers to support conflicting schema trees
for the same module. Good luck comparing <running> to <operational>.




>
> /martin
>


Andy