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 18:41 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 454F8120047 for <netmod@ietfa.amsl.com>; Wed, 8 Jan 2020 10:41:37 -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 dosVn_AW6ilh for <netmod@ietfa.amsl.com>; Wed, 8 Jan 2020 10:41:33 -0800 (PST)
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (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 2E44D120059 for <netmod@ietf.org>; Wed, 8 Jan 2020 10:41:33 -0800 (PST)
Received: by mail-lj1-x236.google.com with SMTP id m26so4348849ljc.13 for <netmod@ietf.org>; Wed, 08 Jan 2020 10:41:33 -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=Dd7cPxT9GJSP7NDE+lN6idxY7+CZ0DL0ZK+VYEFYvp8=; b=TozJMpPTXEJnStTK4/ybMF+KMUgz9zsPlkZ707P6itNK8z9tFMfzM1+abfqHt/64da DmgGkGx5+1HWrdFoDhWQvJdevw/Kk0Dk4yyf9FxHqBbFlSSLHVoPhV07Eb3WjFXLyz1N 5rXEQCz72tdh9m7wf3lVU+0/6p+vaBm5LwffM0jr4ZmolsYz5iZAw90wGpY1z35FfMJ3 Aae0CDd2vTN4oABF7g7lrEAI3bKt+CmkFXke0ezLUW+UYpey5WxAQ5kGJQEUWThnFtfG XLKXhjtwzmYDFoZU88kAUEFRbarki64WIRhvJh8JyFMHaWfhUoIxfFGyPjWGuW4EeRfK mS+w==
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=Dd7cPxT9GJSP7NDE+lN6idxY7+CZ0DL0ZK+VYEFYvp8=; b=f/azlDjihDojiP/vSPCQkzzlfkK9DO12Q95gl+mm032OKcdoggpM4Jxu/+PS2wLK3Q jOikbzuRJboi7aC5qaFweTOhuwY04Tm1QYrt98bg5a5OHgFJfUTHShpySCQQhayZ1qWl DhnVGaXNREaircLaeuuBq/aH9JxUtHHjc8YbfE/3zTnug9bW47wMmXh3X3qMQsfSqDva qCKAv13uyKKAl3Q0+n+Jkk1twbckt/WTZKhfuzfQg4evLIWtTrbzgyPXzsDqg34OObwt lsol8pIMJMXMxe8wOaqTMWAuQB59jScqcZqmYJO+XOtqGhbxgp+HAlq5C1H8iPxU8uFy WZ1Q==
X-Gm-Message-State: APjAAAVPXq35S9f3TAThXCGVZSFLxy0wrs/g5YdoJXKDcT25w035hWE2 HeTyZtKc25pEm/O0CmqWcvIUlx/IPwyAAxGtRxkVyw==
X-Google-Smtp-Source: APXvYqxY1JyG9CwY+qPijKq7BJ/04X4//3RjXGOZ5dY5sJxXWj7igpAQjKHJPdz5rKjIAyH/+/lxTo5DYILKumdcWh8=
X-Received: by 2002:a2e:580c:: with SMTP id m12mr3820122ljb.252.1578508891256; Wed, 08 Jan 2020 10:41:31 -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> <CABCOCHQ5ps3SMfBiFatqN1R2MFbvY1WRyO9548nOZr1-GKuQ=g@mail.gmail.com> <bbc48da835fc0829dc179e89a8553095b1244677.camel@nic.cz>
In-Reply-To: <bbc48da835fc0829dc179e89a8553095b1244677.camel@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 8 Jan 2020 10:41:20 -0800
Message-ID: <CABCOCHR=qBJ=uKK29RP4ynumabeZiaWY-MM30VuG9fsQ6Rq95Q@mail.gmail.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: NETMOD WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000bd1728059ba53d5e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ClUGPlMEgvCq3aHvLrhYwri0aW4>
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 18:41:37 -0000

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

> On Wed, 2020-01-08 at 04:49 -0800, Andy Bierman wrote:
> >
> > 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
>
> What work do you mean? I thought that it would be just info for potential
> developers (or their managers) that implementing the module requires
> implementing other modules and functionality - or not.
>
>

It is duplication because the individual data-def statements should have
any notes
about implementation requirements. The duplication may even be wrong.
E.g., in the module it says NACM is not required, but what if some objects
have NACM requirements listed in the Security Considerations section?
That is the RFC section to discuss NACM requirements.


For example, if a module imports ietf-netconf-nacm only for using "node-
> instance-identifier" type, it is relatively uninteresting. Otherwise,
> implementation of the module may just be out of question.
>
>
> > 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.
>
> But one thing is using a prefix for accessing top-level types and groupings
> (i.e. stuff in YANG modules), and another thing is accessing schema nodes,
> which
> have to be present in the schema tree. In complicated data models, it is
> not
> exactly easy to figure out all these dependencies.
>
>
I do not agree these are different things.
In both cases the prefix is used to determine the imported module that
contains the identifier.


So maybe what is really overloaded are the namespace prefixes: they are
> used for
> addressing YANG modules, schema nodes and instances (in XPath).
>
> Lada
>


Andy


>
> > 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
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>