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

Ladislav Lhotka <lhotka@nic.cz> Wed, 08 January 2020 09:11 UTC

Return-Path: <lhotka@nic.cz>
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 B046612002F for <netmod@ietfa.amsl.com>; Wed, 8 Jan 2020 01:11:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 SunCr-UAXKh1 for <netmod@ietfa.amsl.com>; Wed, 8 Jan 2020 01:11:52 -0800 (PST)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C59D21200E3 for <netmod@ietf.org>; Wed, 8 Jan 2020 01:11:51 -0800 (PST)
Received: from birdie (unknown [IPv6:2001:718:1a02:1::380]) by mail.nic.cz (Postfix) with ESMTPSA id DB601140B85; Wed, 8 Jan 2020 10:11:49 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1578474710; bh=2UZjjlMwntDQ0oHiuAa3AT9jl1In6dKUucP7P5YEfbU=; h=From:To:Date; b=wmX9AS/ak4+WBymxutw3O5x/PEuicvqHi1xXUUEDWSx8l8MNEPMmJuH1tQlLDH60I 3VXGn9OaJuBo3pKsbbvx9sGXj0/uG0j32cMuvXlL6HRa47gjTf5V+FH3ETpfTonL4W X8IAZh/LBvedDKCPyTYBSasPoK0rJxNF01nT9LGM=
Message-ID: <e28ccc2b5b632d861dcdcc8b59184d1b81eb4406.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Balázs Lengyel <balazs.lengyel@ericsson.com>, Martin Bjorklund <mbj@tail-f.com>
Cc: "andy@yumaworks.com" <andy@yumaworks.com>, "netmod@ietf.org" <netmod@ietf.org>
Date: Wed, 08 Jan 2020 10:11:49 +0100
In-Reply-To: <VI1PR07MB404773908BCA102EFBB6EE46F03F0@VI1PR07MB4047.eurprd07.prod.outlook.com>
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>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.101.4 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/-d8tSey-k7TCRnP35rApYdT505Q>
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 09:11:55 -0000

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.

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.

Lada

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