Subject: [yang-doctors] symd.py tool: reminder

From: Benoit Claise <[email-masked]>
Date: Fri, 2 Sep 2016 11:47:38 +0200

Dear all,

[email-masked] has been published as RFC7952.
The draft version was: [email-masked]

Obviously, the revision change breaks something.
  What? symd.py can help to discover the impacted modules.

symd.py --recurse --draft-repos /home/bclaise/yang/modules/ --rfc-repos 
/home/bclaise/ietf/YANG-rfc --single-impact-analysis ietf-yang-metadata

*** Scanning 35 RFC yang module files for 'import' and 'revision' 
statements...
WARNING: Replacing revision for module 'ietf-inet-types' ('2010-09-24' 
-> '2013-07-15')

*** Found 33 RFC yang modules.

*** Scanning 466 draft yang module files for 'import' and 'revision' 
statements...
WARNING: Replacing revision for module 'ietf-inet-types' ('2010-09-24' 
-> '2013-07-15')
WARNING: Replacing revision for module 'ietf-inet-types' ('2010-09-24' 
-> '2013-07-15')
WARNING: Replacing revision for module 'openconfig-extensions' 
('2015-10-09' -> '2016-07-08')
WARNING: Replacing revision for module 'ietf-system' ('2014-08-06' -> 
'2016-08-15')
WARNING: Replacing revision for module 'ietf-template' ('2010-05-18' -> 
'2016-03-20')

*** Found 416 draft yang modules.

*** Analyzing imports...
WARNING: Module 'bbf-fast-inventory': imports module 'bbf-fastdsl' that 
was not scanned
WARNING: Module 'bbf-fast-pointers': imports module 'bbf-fastdsl' that 
was not scanned
WARNING: Module 'bbf-ghs-pointers': imports module 'bbf-fastdsl' that 
was not scanned
WARNING: Module 'ietf-bgp-policy': imports module 'ietf-routing-policy' 
that was not scanned
WARNING: Module 'bbf-vdsl-pointers': imports module 'bbf-fastdsl' that 
was not scanned
WARNING: Module 'bbf-fast-base': imports module 'bbf-fastdsl' that was 
not scanned
WARNING: Module 'bbf-fast-status-monitoring': imports module 
'bbf-fastdsl' that was not scanned
WARNING: Module 'bbf-vdsl-test-diagnostics': imports module 
'bbf-fastdsl' that was not scanned
WARNING: Module 'ietf-yang-patch': imports module 'ietf-restconf' that 
was not scanned
WARNING: Module 'ietf-bgp': imports module 'ietf-routing-policy' that 
was not scanned
WARNING: Module 'ietf-sr-topology': imports module 
'ietf-l3-unicast-igp-topology' that was not scanned
WARNING: Module 'bbf-vdsl-line': imports module 'bbf-fastdsl' that was 
not scanned
WARNING: Module 'bbf-vdsl-xtu': imports module 'bbf-fastdsl' that was 
not scanned
WARNING: Module 'bbf-dhcpv6': imports module 'bbf-subscriber-types' that 
was not scanned
WARNING: Module 'bbf-dhcpv4': imports module 'bbf-subscriber-types' that 
was not scanned
WARNING: Module 'bbf-vdsl-base': imports module 'bbf-fastdsl' that was 
not scanned
WARNING: Module 'bbf-fast-performance-management': imports module 
'bbf-fastdsl' that was not scanned
WARNING: Module 'ietf-gen-oam-ais': imports module 'ietf-gen-oam' that 
was not scanned
WARNING: Module 'ietf-bgp-peer-group': imports module 
'ietf-routing-policy' that was not scanned
WARNING: Module 'ietf-otn-service': imports module 'yang-ext' that was 
not scanned
WARNING: Module 'bbf-vdsl-performance-management': imports module 
'bbf-fastdsl' that was not scanned
WARNING: Module 'ietf-bgp-neighbor': imports module 
'ietf-routing-policy' that was not scanned
WARNING: Module 'ietf-bgp-common': imports module 'ietf-routing-policy' 
that was not scanned
WARNING: Module 'bbf-vdsl-status-monitoring': imports module 
'bbf-fastdsl' that was not scanned
WARNING: Module 'ietf-isis': imports module 'ietf-routing-key-chain' 
that was not scanned
WARNING: Module 'bbf-fast-test-diagnostics': imports module 
'bbf-fastdsl' that was not scanned
WARNING: Module 'BATTERY-MIB': imports module 'SNMP-FRAMEWORK-MIB' that 
was not scanned
WARNING: Module 'BATTERY-MIB': imports module 'ENTITY-MIB' that was not 
scanned
WARNING: Module 'dot1q-tag-types': imports module 'ieee-types' that was 
not scanned
WARNING: Module 'dot1q-tag-types': imports module 'ieee-dot1q-types' 
that was not scanned
WARNING: Module 'ietf-bgp-common-multiprotocol': imports module 
'ietf-routing-policy' that was not scanned
WARNING: Module 'bbf-ghs-base': imports module 'bbf-fastdsl' that was 
not scanned
WARNING: Module 'ietf-l3-te-topology': imports module 
'ietf-l3-unicast-igp-topology' that was not scanned

*** Found 12 imported/included yang modules that were scanned.

*** Creating module dependencies...

Initialization finished.

===Impacting Modules===

ietf-yang-metadata: *

===Impacted Modules===

ietf-yang-metadata: *
     ietf-yang-opstate-metadata

On this specific case, I warned Rob Wilton already 
(draft-wilton-netconf-opstate-metadata-00.txt 
<http://datatracker.ietf.org/doc/draft-wilton-netconf-opstate-metadata>). 
Btw, the error obviously shows on 
http://www.claise.be/IETFYANGPageCompilation.html

symd.py -h
usage: symd.py [-h] [--draft-repos DRAFT_REPOS [DRAFT_REPOS ...]]
                [--rfc-repos RFC_REPOS [RFC_REPOS ...]] [-r]
                [--graph | --sub-graphs SUB_GRAPHS [SUB_GRAPHS ...] |
                --impact-analysis | --single-impact-analysis
                SINGLE_IMPACT_ANALYSIS | --dependency-tree |
                --single-dependency-tree SINGLE_DEPENDENCY_TREE]

Show the dependency graph for a set of yang models.

optional arguments:
   -h, --help            show this help message and exit
   --draft-repos DRAFT_REPOS [DRAFT_REPOS ...]
                         List of local directories where models defined 
in IETF
                         drafts are located.
   --rfc-repos RFC_REPOS [RFC_REPOS ...]
                         List of local directories where models defined 
in IETF
                         RFC are located.
   -r, --recurse         Recurse into directories specified to find yang 
models
   --graph               Plot the overall dependency graph.
   --sub-graphs SUB_GRAPHS [SUB_GRAPHS ...]
                         Plot the dependency graphs for the specified 
modules.
   --impact-analysis     For each scanned yang module, print the 
impacting and
                         impacted modules.
   --single-impact-analysis SINGLE_IMPACT_ANALYSIS
                         For a single yang module, print the impacting and
                         impacted modules
   --dependency-tree     For each scanned yang module, print to stdout its
                         dependency tree, (i.e. show all the modules that it
                         depends on.
   --single-dependency-tree SINGLE_DEPENDENCY_TREE
                         For a single yang module, print to stdout its
                         dependency tree, (i.e. show all the modules that it
                         depends on)

Enjoy.
Note: tool developed by Jan Medved and augmented by Einar Nilsen-Nygaard
See https://github.com/xym-tool/symd

Regards, Benoit.

---

From: Ladislav Lhotka <[email-masked]>
Date: Fri, 2 Sep 2016 13:34:42 +0200

Hi,

FWIW, apart from the change in revision, the ietf-yang-metadata module hasn't been changed since 24 February 2016.

Lada
 
> On 02 Sep 2016, at 11:47, Benoit Claise <[email-masked]> wrote:
> 
> Dear all,
> 
> symd.py --recurse --draft-repos /home/bclaise/yang/modules/ --rfc-repos /home/bclaise/ietf/YANG-rfc --single-impact-analysis ietf-yang-metadata
> 
> *** Scanning 35 RFC yang module files for 'import' and 'revision' statements...
> WARNING: Replacing revision for module 'ietf-inet-types' ('2010-09-24' -> '2013-07-15')
> 
> *** Scanning 466 draft yang module files for 'import' and 'revision' statements...
> WARNING: Replacing revision for module 'ietf-inet-types' ('2010-09-24' -> '2013-07-15')
> WARNING: Replacing revision for module 'ietf-inet-types' ('2010-09-24' -> '2013-07-15')
> WARNING: Replacing revision for module 'openconfig-extensions' ('2015-10-09' -> '2016-07-08')
> WARNING: Replacing revision for module 'ietf-system' ('2014-08-06' -> '2016-08-15')
> WARNING: Replacing revision for module 'ietf-template' ('2010-05-18' -> '2016-03-20')
> 
> WARNING: Module 'bbf-fast-inventory': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-fast-pointers': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-ghs-pointers': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'ietf-bgp-policy': imports module 'ietf-routing-policy' that was not scanned
> WARNING: Module 'bbf-vdsl-pointers': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-fast-base': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-fast-status-monitoring': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-vdsl-test-diagnostics': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'ietf-yang-patch': imports module 'ietf-restconf' that was not scanned
> WARNING: Module 'ietf-bgp': imports module 'ietf-routing-policy' that was not scanned
> WARNING: Module 'ietf-sr-topology': imports module 'ietf-l3-unicast-igp-topology' that was not scanned
> WARNING: Module 'bbf-vdsl-line': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-vdsl-xtu': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-dhcpv6': imports module 'bbf-subscriber-types' that was not scanned
> WARNING: Module 'bbf-dhcpv4': imports module 'bbf-subscriber-types' that was not scanned
> WARNING: Module 'bbf-vdsl-base': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'bbf-fast-performance-management': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'ietf-gen-oam-ais': imports module 'ietf-gen-oam' that was not scanned
> WARNING: Module 'ietf-bgp-peer-group': imports module 'ietf-routing-policy' that was not scanned
> WARNING: Module 'ietf-otn-service': imports module 'yang-ext' that was not scanned
> WARNING: Module 'bbf-vdsl-performance-management': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'ietf-bgp-neighbor': imports module 'ietf-routing-policy' that was not scanned
> WARNING: Module 'ietf-bgp-common': imports module 'ietf-routing-policy' that was not scanned
> WARNING: Module 'bbf-vdsl-status-monitoring': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'ietf-isis': imports module 'ietf-routing-key-chain' that was not scanned
> WARNING: Module 'bbf-fast-test-diagnostics': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'BATTERY-MIB': imports module 'SNMP-FRAMEWORK-MIB' that was not scanned
> WARNING: Module 'BATTERY-MIB': imports module 'ENTITY-MIB' that was not scanned
> WARNING: Module 'dot1q-tag-types': imports module 'ieee-types' that was not scanned
> WARNING: Module 'dot1q-tag-types': imports module 'ieee-dot1q-types' that was not scanned
> WARNING: Module 'ietf-bgp-common-multiprotocol': imports module 'ietf-routing-policy' that was not scanned
> WARNING: Module 'bbf-ghs-base': imports module 'bbf-fastdsl' that was not scanned
> WARNING: Module 'ietf-l3-te-topology': imports module 'ietf-l3-unicast-igp-topology' that was not scanned
> 
> On this specific case, I warned Rob Wilton already (draft-wilton-netconf-opstate-metadata-00.txt). Btw, the error obviously shows on http://www.claise.be/IETFYANGPageCompilation.html
> 
> symd.py -h
>                         List of local directories where models defined in IETF
>                         drafts are located.
>                         List of local directories where models defined in IETF
>                         RFC are located.
>   -r, --recurse         Recurse into directories specified to find yang models
>                         Plot the dependency graphs for the specified modules.
>   --impact-analysis     For each scanned yang module, print the impacting and
>                         impacted modules.
> _______________________________________________
> yang-doctors mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/yang-doctors

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C