[Netconf] Fwd: Re: How to grep through a YANG? With grepyang
otilibil@eurecom.fr Fri, 30 March 2018 14:42 UTC
Return-Path: <otilibil@eurecom.fr>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6863512D7F3 for <netconf@ietfa.amsl.com>; Fri, 30 Mar 2018 07:42:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 hkXGBaIipxoR for <netconf@ietfa.amsl.com>; Fri, 30 Mar 2018 07:42:46 -0700 (PDT)
Received: from smtp2.eurecom.fr (smtp2.eurecom.fr [193.55.113.211]) by ietfa.amsl.com (Postfix) with ESMTP id 58D4F126C22 for <netconf@ietf.org>; Fri, 30 Mar 2018 07:42:45 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.48,382,1517871600"; d="scan'208";a="7866846"
Received: from thorgal.eurecom.fr ([10.3.2.220]) by drago2i.eurecom.fr with ESMTP; 30 Mar 2018 16:42:44 +0200
Received: (from apache@localhost) by thorgal.eurecom.fr (8.14.4+Sun/8.14.4/Submit) id w2UEghHI002346; Fri, 30 Mar 2018 16:42:43 +0200 (CEST)
X-Authentication-Warning: thorgal.eurecom.fr: apache set sender to otilibil@eurecom.fr using -f
Received: from reverse.completel.net (reverse.completel.net [92.103.89.82]) by webmail.eurecom.fr (Horde MIME library) with HTTP; Fri, 30 Mar 2018 16:42:43 +0200
Message-ID: <20180330164243.wp441i5thcskkgok@webmail.eurecom.fr>
Date: Fri, 30 Mar 2018 16:42:43 +0200
From: otilibil@eurecom.fr
To: netconf@ietf.org
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
User-Agent: Internet Messaging Program (IMP) H3 (4.1.4)
X-Originating-IP: 92.103.89.82
X-Remote-Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/5iYDsTUZgInIMnU4uK2y-M8SK_g>
Subject: [Netconf] Fwd: Re: How to grep through a YANG? With grepyang
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Mar 2018 14:42:49 -0000
Hi all, grepyang has got a new feature: it could grep for a node through a module: # ./grepyang cancel-commit ietf-netconf@2011-06-01.yang 853: rpc cancel-commit { 854: if-feature confirmed-commit; 855: description 856: "This operation is used to cancel an ongoing confirmed commit. 857: If the confirmed commit is persistent, the parameter 858: 'persist-id' must be given, and it must match the value of the 859: 'persist' parameter."; 860: reference "RFC 6241, Section 8.4.4.1"; 861: 862: input { 863: leaf persist-id { 864: type string; 865: description 866: "This parameter is given in order to cancel a persistent 867: confirmed commit. The value must be equal to the value 868: given in the 'persist' parameter to the <commit> operation. 869: If it does not match, the operation fails with an 870: 'invalid-value' error."; 871: } 872: } 873: } Now it can grep for a node with a greped node: # ./grepyang input cancel-commit ietf-netconf@2011-06-01.yang 853: rpc cancel-commit { 862: input { 863: leaf persist-id { 864: type string; 865: description 866: "This parameter is given in order to cancel a persistent 867: confirmed commit. The value must be equal to the value 868: given in the 'persist' parameter to the <commit> operation. 869: If it does not match, the operation fails with an 870: 'invalid-value' error."; 871: } 872: } 873: } pyang lacks such features; that's why I have been working on grepyang. It is out on Github (https://github.com/ariel-anieli/grepyang); feel free to play around with it. If you find it of any interest, have some remarks, or see it needs enhancements; please, do so: I will work on the issues. Regards, Ariel ----- Forwarded message from otilibil@eurecom.fr ----- Date: Mon, 26 Mar 2018 11:37:01 +0200 From: otilibil@eurecom.fr Reply-To: otilibil@eurecom.fr Subject: Re: [Netconf] How to grep through a YANG? With grepyang To: "Bert Wijnen (IETF)" <bwietf@bwijnen.net>, netconf@ietf.org Thanks, Bert; If, by playing around with the tool, you come across a behaviour you did not like, or a feature you would like to be in, please, open an issue (https://github.com/ariel-anieli/grepyang): I will improve on it. Regards, Ariel Quoting "Bert Wijnen (IETF)" <bwietf@bwijnen.net>: > Looks like an interesting too. > > Bert > > On 25/03/2018 00:55, otilibil@eurecom.fr wrote: >> Hello members, >> >> I have put on Github 'grepyang' >> (https://github.com/ariel-anieli/grepyang.git), a script that greps >> through a YANG, and extracts snippets matching a key, it seems >> 'pyang' does not have that feature; for example: >> >> # ./grepyang cancel-commit ietf-netconf@2011-06-01.yang >> 853: rpc cancel-commit { >> 854: if-feature confirmed-commit; >> 855: description >> 856: "This operation is used to cancel an ongoing confirmed commit. >> 857: If the confirmed commit is persistent, the parameter >> 858: 'persist-id' must be given, and it must match the value of the >> 859: 'persist' parameter."; >> 860: reference "RFC 6241, Section 8.4.4.1"; >> 861: >> 862: input { >> 863: leaf persist-id { >> 864: type string; >> 865: description >> 866: "This parameter is given in order to cancel a persistent >> 867: confirmed commit. The value must be equal to the value >> 868: given in the 'persist' parameter to the <commit> operation. >> 869: If it does not match, the operation fails with an >> 870: 'invalid-value' error."; >> 871: } >> 872: } >> 873: } >> >> If you have any feedback, please, do so: I will improve the tool from it. >> >> Regards, >> Ariel >> >> ------------------------------------------------------------------------------- >> This message was sent using EURECOM Webmail: http://webmail.eurecom.fr >> >> _______________________________________________ >> Netconf mailing list >> Netconf@ietf.org >> https://www.ietf.org/mailman/listinfo/netconf >> ------------------------------------------------------------------------------- This message was sent using EURECOM Webmail: http://webmail.eurecom.fr ----- End forwarded message ----- ------------------------------------------------------------------------------- This message was sent using EURECOM Webmail: http://webmail.eurecom.fr