Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

Andy Bierman <andy@yumaworks.com> Wed, 08 January 2020 12: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 27145120111 for <netmod@ietfa.amsl.com>; Wed, 8 Jan 2020 04:50:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 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_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 E99RFzRuZv1B for <netmod@ietfa.amsl.com>; Wed, 8 Jan 2020 04:50:05 -0800 (PST)
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) (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 35D79120026 for <netmod@ietf.org>; Wed, 8 Jan 2020 04:50:05 -0800 (PST)
Received: by mail-lf1-x12f.google.com with SMTP id i23so2353142lfo.7 for <netmod@ietf.org>; Wed, 08 Jan 2020 04:50:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=flBiyT0yQ4wKuhLX/jZceGE5QeKxDH8Zp1awF53RQ70=; b=rV1rjMpx0Vud1Dl079ZdWNigcGNSIcDX4LZP6koDTtQr58n+D+R11dUevHkl1EpwJy LVdrMZDABHMSFLdJq8Am28aBUshcXlbfXwkRu5zqpBqKP1tASkU46Rv+Bq+zJViwdWH0 wpGJP85tAaFrXO9Idh/V5GF/LwIz/BRRSAiSHLASZna5cXrgqhei8RL/4Z8mzRHARR++ 4Mqam7YYAu7PuySYfw9IzbCc78QOqZXnnEPqsd//5tUpnLycbK73ST0At1B415uVEIdU gWD8Q9QL9+xBpq7fSLssZbDOYA3/CL1EM3rbNHOJvVMlCSHtuH317bvvYwZt8+TREktP DqRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=flBiyT0yQ4wKuhLX/jZceGE5QeKxDH8Zp1awF53RQ70=; b=bfpVKAecXVb5O7lRncMEHG+WapqVEqxnVd84beOTkEWpEjDIIhaEQtuBcU/7ddq5Qy PNlB+sBTF/cD1A6gHQ7aXZHw02E7kx2nS9WKZvzMWIZ9+KMPocSf9P4EYVcmIpTvHB21 q2ZUGVIScNW8tTYvpOnkuaBPCiywc29oNPMUGeXp9rxEYBFAMf4rZczmr2QY7ma6t6FJ 7kUQs6Cw7ks3D6S86L9lS5RJGgI8PqzSO7JtdQ1zZwgxs40dl1Fza11uwvVxupo9GO9v snKW3MTbwU/uS9Mq4rGvHQTq+PC6b+QyRFJTBGwqRUjlSaCQXyezzFa0NMmCZNz4MmLE ICqA==
X-Gm-Message-State: APjAAAVyinmgNgrQTJnKnhmjiKgpD/C/oJsHPCpnLI/OhgiQzTBbsoqB d6hBs77FrIlTfEt/H/WNHfFhaNF8ofCoIGZMfqKpAg==
X-Google-Smtp-Source: APXvYqyM0lM5ur8k7l8tJImnV6jwauOUGDsV+WZFdJgZqgRWTaGD5bCtAF5RbYUA7C7J3dtNynSYRkpuRQmCpb8LM28=
X-Received: by 2002:a19:4b87:: with SMTP id y129mr3007922lfa.32.1578487803440; Wed, 08 Jan 2020 04:50:03 -0800 (PST)
MIME-Version: 1.0
References: <d3520549f06107de8939af24268f56f56683fbb0.camel@nic.cz> <CABCOCHRFQrXgGKB10B9MXbKa2vMfaY3eWaj5Sp4W0DPQ0F-pGQ@mail.gmail.com> <VI1PR07MB40472B4BEFB581AEE4F7C158F0230@VI1PR07MB4047.eurprd07.prod.outlook.com> <20200107.143818.1928135118621633911.mbj@tail-f.com> <VI1PR07MB404773908BCA102EFBB6EE46F03F0@VI1PR07MB4047.eurprd07.prod.outlook.com> <e28ccc2b5b632d861dcdcc8b59184d1b81eb4406.camel@nic.cz>
In-Reply-To: <e28ccc2b5b632d861dcdcc8b59184d1b81eb4406.camel@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 8 Jan 2020 04:49:52 -0800
Message-ID: <CABCOCHQ5ps3SMfBiFatqN1R2MFbvY1WRyO9548nOZr1-GKuQ=g@mail.gmail.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: =?UTF-8?Q?Bal=C3=A1zs_Lengyel?= <balazs.lengyel@ericsson.com>, Martin Bjorklund <mbj@tail-f.com>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ce88d9059ba05415"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/08jBZWeAZbPWFvUCGK4wvYT4LbA>
Subject: Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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, 08 Jan 2020 12:50:08 -0000

On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka <lhotka@nic.cz> wrote:

> On Tue, 2020-01-07 at 14:29 +0000, Balázs Lengyel wrote:
> > If that is the consensus, I can remove the description statements, no big
> > deal. (I actually like the statements, but they are not important for
> this
> > draft)
>
> Of course, it is not that important, but I don't see how this information
> could
> be harmful, if it is included with the import. In my view, it is not meant
> as a
> conformance requirement but just an info from the module author about the
> meaning of the import statement.
>
>
It adds a lot of extra work but more importantly the import-stmt is the
wrong place
to document such a complex and unrelated issue as server conformance
requirements.


The root of this problem (and design flaw of YANG, IMO) is that import is
> "overloaded" with two different purposes, one of which effectively
> requires that
> the imported module be also implemented, while the other doesn't.
>
>
The import-stmt is only used to map a local prefix to an external module.
This proposal to add conformance info the the import-stmt would overload it
with
another purpose.

Not even a typedef is easy to classify  (e.g., leafref requires
implementation of a data node).
I certainly agree that YANG conformance is poorly specified, poorly
understood, and
in real need of improvement. Likewise, the import-stmt is also in need of
some improvement
since import-by-exact-revision is (and has always been) poorly designed.


Lada
>
> > Balazs
>

Andy



> >
> > -----Original Message-----
> > From: Martin Bjorklund <mbj@tail-f.com>
> > Sent: Tuesday, January 7, 2020 2:38 PM
> > To: Balázs Lengyel <balazs.lengyel@ericsson.com>
> > Cc: andy@yumaworks.com; lhotka@nic.cz; netmod@ietf.org
> > Subject: Re: [netmod] Text in import to indicate whether a module is
> needed as
> > import-only or as implemented
> >
> > Hi
> >
> > I agree w/ Andy and others that we should not add this to the import's
> > description.  I don't think this kind of conformance text belongs to the
> > import's description.  If you think it is important to state this, the
> best
> > place is probably as plain text in the document itself.
> >
> >
> >
> > /martin
> >
> >
> > Balázs Lengyel <balazs.lengyel=40ericsson.com@dmarc.ietf.org> wrote:
> > > As a draft author who was asked to add text about the imports IMHO
> > >
> > > *   it would be easy for me to remove the description from the import.
> > > Actually I really just want to know what is acceptable to the group,
> so I
> > > can proceed
> > > *   I also think that adding this text is in most cases easy and it
> does not
> > > need updates later.
> > > *   The rules in some cases might not be trivial.
> > >
> > > *   Imported YAMs need to be implemented if
> > >
> > > *   Imported parts are included in Xpath (augment, when, must, require-
> > > instance)
> > >
> > > *   Imported YAMs do not need to be implemented if only the following
> are
> > > used
> > >
> > > *   Types
> > > *   Features
> > > *   extensions
> > >
> > > *   Ambiguous if
> > >
> > > *   groupings are used
> > > *   if the dependency is not formally defined by YANG, but functionally
> > > needed. (E.g. notification-capabilities does not formally need
> YANG-Push to
> > > be implemented, however there is no sense in defining capabilities if
> YANG-
> > > Push is itself not implemented.)
> > > *   deviation ?
> > > *   other cases ?
> > >
> > > Regards Balazs
> > >
> > >
> > >
> > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Andy Bierman
> > > Sent: 2019. december 19., csütörtök 17:23
> > > To: Ladislav Lhotka <lhotka@nic.cz>
> > > Cc: NetMod WG <netmod@ietf.org>
> > > Subject: Re: [netmod] Text in import to indicate whether a module is
> > > needed as import-only or as implemented
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka <lhotka@nic.cz
> <mailto:
> > > lhotka@nic.cz> > wrote:
> > >
> > > On Thu, 2019-12-19 at 07:52 +0000, Schönwälder, Jürgen wrote:
> > > > On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > > > > I don't see how YANG syntax defines this. If a module imports
> > > > > ietf-netconf- acm, it could be because
> > > > >
> > > > > - it just uses a typedef, such as "node-instance-identifier", and
> then
> > > > >   ietf-netconf-acm needn't be implemented (but can be),
> > > > >
> > > > > or
> > > > >
> > > > > - it augments ietf-netconf-acm, which makes sense only if the
> latter
> > > > >   module is implemented.
> > > > >
> > > > > It it the YANG library that specifies whether a module is
> > > > > implemented or not, but the "import" statement itself doesn't tell
> you
> > > > > anything.
> > > > >
> > > >
> > > > Can we not assume that an implementor will figure out the difference?
> > >
> > > An implementor should be able to figure it out, but other potential
> > > module users may not. For example, if somebody is evaluating whether
> > > to use a module for their device or not, it is important to know that
> > > NACM has to be implemented (or not).
> > >
> > >
> > >
> > > You seem to be talking about a new conformance documentation procedure
> > >
> > > that attempts to solve the problem "to use modules A, B, and C
> > > together
> > >
> > > to achieve some functionality X, all these conditions need to be met"..
> > >
> > > (Sounds more like a problem for YANG Packages to solve)
> > >
> > >
> > >
> > > IMO this is a much harder problem than something that can be solved
> > >
> > > with extra description-stmt text. The writer is likely to get it wrong
> > > or not
> > >
> > > keep it up to date, so a tool to analyze the file seems like a better
> > > solution.
> > >
> > >
> > >
> > > Lada
> > >
> > >
> > >
> > >
> > >
> > > Andy
> > >
> > >
> > >
> > >
> > > > Or someone writes a pyang plugin to determine from the schema tree
> > > > the kind of imports there are (for a given set of features).
> > > >
> > > > /js
> > > >
> > > --
> > > Ladislav Lhotka
> > > Head, CZ.NIC Labs
> > > PGP Key ID: 0xB8F92B08A9F76C67
> > >
> > > _______________________________________________
> > > netmod mailing list
> > > netmod@ietf.org <mailto:netmod@ietf.org>
> > > https://www.ietf.org/mailman/listinfo/netmod
> > >
> --
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
>
>