Re: [netmod] extensions and conformance

Andy Bierman <andy@yumaworks.com> Mon, 10 August 2015 15:32 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B31A41B36F3 for <netmod@ietfa.amsl.com>; Mon, 10 Aug 2015 08:32:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 1cnnDDsDFADE for <netmod@ietfa.amsl.com>; Mon, 10 Aug 2015 08:32:28 -0700 (PDT)
Received: from mail-lb0-f170.google.com (mail-lb0-f170.google.com [209.85.217.170]) (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 E7F7C1B36F2 for <netmod@ietf.org>; Mon, 10 Aug 2015 08:32:27 -0700 (PDT)
Received: by lbbsx3 with SMTP id sx3so13591269lbb.0 for <netmod@ietf.org>; Mon, 10 Aug 2015 08:32:26 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=4EMdHuAV604NpDUfrPdNHfr3qNrqao55md4Q0DvFyP4=; b=YYVMzNLRC3q4E0LMtWA61FpD5Ut5nnW0AKAimQzeKDhJC9FaPeMGltxPV5/7Tub3Dk 3T4DaB4JBJHApr2UdNmsdgk8AtFv61mFb0AaM9Y5XEXLWSYitraFiC1MOiDcgy1VapoX qxTDe+1x3f//r4g0qmMt4/1nx0KStA6ug0Z5NDeryTwna+oyHO5erzY8BmW0SW05Mgsv 3G9KTQ/I+gOQjC6Xz+AD0Xp00Fb/ZrbashttzZteEDTlwPqqAZjEj3FhRh+g0H+w3lyE cYfUqijFdvuUTvBsLu2G0HFEjb7hluC82WMa1k2fWPImPwNlPXjRfc+wyiiuzLyEr4Ng +Xuw==
X-Gm-Message-State: ALoCoQkMF+ntci4y5BtB0pgO2UfKYi2fCf1tCt0X9UpXUSGY9+4cZOhzKyOn5GZb1ZtSp0EY8F9f
MIME-Version: 1.0
X-Received: by 10.152.88.106 with SMTP id bf10mr20473963lab.82.1439220746367; Mon, 10 Aug 2015 08:32:26 -0700 (PDT)
Received: by 10.112.200.102 with HTTP; Mon, 10 Aug 2015 08:32:26 -0700 (PDT)
In-Reply-To: <935AE06C-DF0E-4B79-BBB0-FBFC67297106@nic.cz>
References: <m2tws7zhk1.fsf@birdie.labs.nic.cz> <CABCOCHQHD+s-WgUj3ohTXZ_qTjZMnJqarN6+HQN7TMKNr7ofKg@mail.gmail.com> <935AE06C-DF0E-4B79-BBB0-FBFC67297106@nic.cz>
Date: Mon, 10 Aug 2015 08:32:26 -0700
Message-ID: <CABCOCHQttPXhUQ1+GdhLEn9sAZd_sDHtic6SDnVUVoUipbw9dg@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Content-Type: multipart/alternative; boundary="001a11c2640e575667051cf6b1ef"
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/xfm3EiJxCCLgigMZgk7S0FMtqWQ>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Subject: Re: [netmod] extensions and conformance
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 10 Aug 2015 15:32:30 -0000

On Mon, Aug 10, 2015 at 4:24 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:

>
> > On 10 Aug 2015, at 12:17, Andy Bierman <andy@yumaworks.com> wrote:
> >
> > Hi,
> >
> > I am strongly against changing the contract on extensions.
> > They MAY be ignored by any YANG tool. Period.
> > That means they are far from mandatory.
> > They are little more than a keyword and a description clause.
>
> So do you prefer my proposed solution -02 or -03?
>

** Solution Yxx-03

   Make extensions optional. This means that extensions won't be
   allowed to change YANG language, NETCONF protocol, and validity of
   datastores and protocol messages.


This is how we use extensions to tag YANG data models
to drive automation tools.

Your entire problem statement assumes that the consumer
of the extension is a protocol (client and/or server).
IMO this is really bad design to use statements for standards
that are by definition external to the YANG language, as if they
were part of the YANG language.  This is just a hack and
it usually doesn't work well.

For example, when I pointed out that an extension for "ephemeral"
could not be modified with a refine-stmt, you just changed the
subject and ignored that problem.



 Andy


> >
> > There are not even any rules or help determining
> > which extensions can appear as children of other
> > extensions.  That indicates that they are not
> > real statements and not really part of YANG at all.
> >
> > There are some uses of extensions that fit the modular design,
> > but not many.  The NACM extensions only affect NACM.
> > They have no impact whatsoever on any YANG statement.
> > Yet even these statements should be real YANG statements.
> > There is really no need to force implementation of NACM
> > in order to utilize the concept of 'default-deny-all'.
> > But full implementation of NACM is required to use these
> > extensions.
> >
>
> The descriptions of “default-deny-write” and “default-deny-all” describe
> normative server behaviour. It is not even clear from 6020 text whether
> server implementations can ignore these extensions or not and still use the
> modules where the extensions are present.
>
> Lada
>
> >
> > Andy
> >
> >
> > On Mon, Aug 10, 2015 at 1:14 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
> > Hi,
> >
> > recent discussions show that 6020(bis) text about extensions isn't
> > sufficiently clear about the scope and semantics of extensions. IMO this
> > needs to be fixed and so I propose to add the following item to YANG 1.1
> > issue list. Comments and additional solutions are welcome.
> >
> > Lada
> >
> > ------------------------------------------------------------------------
> > * NEW :Yxx: clarify conformance wrt extensions
> >
> > ** Description
> >
> >    YANG extensions as defined in RFC 6020 have no limits on scope –
> >    they can possibly modify YANG language, datastore semantics or even
> >    the NETCONF protocol. However, from the text in RFC 6020 it is
> >    unclear whether extensions appearing in YANG modules advertised by
> >    a server are mandatory to implement: "If a YANG compiler does not
> >    support a particular extension, which appears in a YANG module as
> >    an unknown-statement (see Section 12), the entire unknown-statement
> >    MAY be ignored by the compiler."
> >
> > ** Solution Yxx-01
> >
> >    Extensions appearing in the server's model are an integral part of
> >    the server-client contract. That is, the server MUST implement
> >    them, and the client SHOULD terminate the session if it doesn't
> >    implement any of the extensions.
> >
> > ** Solution Yxx-02
> >
> >    Develop a mechanism for negotiating extensions.
> >
> > ** Solution Yxx-03
> >
> >    Make extensions optional. This means that extensions won't be
> >    allowed to change YANG language, NETCONF protocol, and validity of
> >    datastores and protocol messages.
> > ------------------------------------------------------------------------
> >
> > --
> > Ladislav Lhotka, CZ.NIC Labs
> > PGP Key ID: E74E8C0C
> >
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> >
>
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>
>
>
>
>