Re: [netmod] Proposal to enhance the YANG tree output

Martin Bjorklund <mbj@tail-f.com> Fri, 15 September 2017 11:39 UTC

Return-Path: <mbj@tail-f.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 E5ADE13301C for <netmod@ietfa.amsl.com>; Fri, 15 Sep 2017 04:39:24 -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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 WHLaFxBRRuFd for <netmod@ietfa.amsl.com>; Fri, 15 Sep 2017 04:39:23 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 2285C13217D for <netmod@ietf.org>; Fri, 15 Sep 2017 04:39:23 -0700 (PDT)
Received: from localhost (h-40-225.A165.priv.bahnhof.se [94.254.40.225]) by mail.tail-f.com (Postfix) with ESMTPSA id 75BEF1AE00A0; Fri, 15 Sep 2017 13:39:21 +0200 (CEST)
Date: Fri, 15 Sep 2017 13:40:07 +0200
Message-Id: <20170915.134007.262763963470255554.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: lhotka@nic.cz, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <5b512435-cebd-3534-eeb3-649154450d81@cisco.com>
References: <CABCOCHQZ4zJ3p_4oB1Pu=1H60btzrccqTx7rUtsRsF0reXgrYw@mail.gmail.com> <1505470900.18681.0.camel@nic.cz> <5b512435-cebd-3534-eeb3-649154450d81@cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/QRqqJITC32F_R3HId1aWj9BPOsU>
Subject: Re: [netmod] Proposal to enhance the YANG tree output
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: Fri, 15 Sep 2017 11:39:25 -0000

Robert Wilton <rwilton@cisco.com> wrote:
> 
> 
> On 15/09/2017 11:21, Ladislav Lhotka wrote:
> > Andy Bierman píše v Čt 14. 09. 2017 v 08:43 -0700:
> >> Hi,
> >>
> >>
> >> Actually I liked the early pyang output that was concise and easy to
> >> remember.
> >> The current format gets very cluttered and there are too many little
> >> symbols
> >> to remember them all.
> > I agree.

Me too.  The current draft adds three new magic symbols: "mp" "@" and
"/".

"mp" is for a mount point, and it can be generated directly from the
YANG modules.

Directly under a "mp", "/" and "@" are used to indicate that a node is mounted
or available through a parent reference, respectively.

I actually question the usability of "/" and "@".  Since a parent
reference can be very specific, e.g. one specific interface, it isn't
really accurate to show:

                  +--mp vrf-root
                     +--rw rt:routing/
                     |  ...
                     +--ro if:interfaces@

And the trailing "/" on rt:routing doesn't add any information we
don't already know.  Since vrf-root is a mount point, it follows that
its children are mounted.

Also, what is mounted under a mount point is not defined in the
schema, so a tool cannot generate this from the YANG modules.


So maybe we should remove "/" and "@", and just keep "mp".

> I definitely think that "x" is a bit confusing since it both means
> "RPC" and also "status deprecated" depending on where it is.

Possibly.  "x" for "deprecated" comes from smidump.  "x" for "execute"
(rwx) is of course common.  So if we should change something it is
probably "x" for "deprecated".  But "x" looks better than "d"...


/martin



> 
> Thanks,
> Rob
> 
> 
> >
> > Lada
> >
> >>
> >> Andy
> >>
> >>
> >> On Thu, Sep 14, 2017 at 8:33 AM, Joe Clarke <jclarke@cisco.com> wrote:
> >>> I've been hacking on pyang, and I changed tree.py to add the enum
> >>> values
> >>> for enumeration types and identiyref bases for identityref types.
> >>> Here
> >>> is an example:
> >>>
> >>> module: yang-catalog
> >>>      +--rw catalog
> >>>         +--rw modules
> >>>         |  +--rw module* [name revision organization]
> >>>         |     +--rw name                     yang:yang-identifier
> >>>         |     +--rw revision                 union
> >>>         |     +--rw organization             string
> >>>         |     +--rw ietf
> >>>         |     |  +--rw ietf-wg?   string
> >>>         |     +--rw namespace                inet:uri
> >>>         |     +--rw schema?                  inet:uri
> >>>         |     +--rw generated-from?          enumeration [mib, code,
> >>> not-applicable, native]
> >>>         |     +--rw maturity-level?          enumeration [ratified,
> >>> adopted, initial, not-applicable]
> >>> ...
> >>>                                 +--rw protocols
> >>>                                 |  +--rw protocol* [name]
> >>>                                 |     +--rw name
> >>> identityref -> protocol
> >>> ...
> >>>
> >>> My questions are:
> >>>
> >>> 1. Is this useful?
> >>>
> >>> 2. If so, can this be added to pyang (happy to submit a PR) and
> >>> draft-ietf-netmod-yang-tree-diagrams?
> >>>
> >>> 3. What changes to the output format would you recommend?
> >>>
> >>> Thanks.
> >>>
> >>> Joe
> >>>
> >>> _______________________________________________
> >>> netmod mailing list
> >>> netmod@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/netmod
> >> _______________________________________________
> >> netmod mailing list
> >> netmod@ietf.org
> >> https://www.ietf.org/mailman/listinfo/netmod
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod