Lada, Martin,

Thanks for your suggestion and thanks Tom for having raised this issue to 
Netmod WG

We have tried to follow your suggestion and replaced the relative paths with:
      when "ancestor::nw:network/nw:network-types/tet:te-topology"

You can find the updated YANG module on github:

https://github.com/ietf-ccamp-wg/draft-ietf-ccamp-flexigrid-yang/tree/wg-lc-resolution

However, we have found some issues when compiling the new code with yanglint. 
This is the error that we have got from the on-line YANG validator:

      libyang err : Invalid character 'a'[1] of expression 
'ancestor::nw:network/nw:network-types/tet:te-topology/flexgt:flexi-grid-topology'.
 
(/ietf-flexi-grid-topology:{augment='/nw:networks/nw:network/nt:link/tet:te/tet:te-link-attributes/tet:underlay/tet:primary-path/tet:path-element/tet:type/tet:label/tet:label-hop/tet:te-label/tet:technology'})
      YANGLINT[E]: Processing schema module from 
/var/yang/tmp/yangvalidator/yangvalidator-v2-workdir-tNQJZOjI/ietf-flexi-grid-topology.yang
 failed.

Is this an issue with yanglint or with the updated code?

Pyang compilation does not return any error/warning

Thanks in advance

Aihua, Sergio and Italo

> -----Original Message-----
> From: Ladislav Lhotka [mailto:ladislav.lho...@nic.cz]
> Sent: domenica 2 gennaio 2022 10:58
> To: Martin Björklund <mbj+i...@4668.se>
> Cc: c...@tzi.org; netmod@ietf.org
> Subject: Re: [netmod] YANG 'when' with absolute path
>
>
>
> On 02. 01. 22 10:43, Martin Björklund wrote:
> > Hi,
> >
> > Ladislav Lhotka <ladislav.lho...@nic.cz<mailto:ladislav.lho...@nic.cz>> 
> > wrote:
> >> Carsten Bormann <c...@tzi.org<mailto:c...@tzi.org>> writes:
> >>
> >>> On 2021-12-30, at 13:29, tom petch 
> >>> <ie...@btconnect.com<mailto:ie...@btconnect.com>> wrote:
> >>>>
> >>>>        when "../../../../../../nw:network-types/tet:te-topology/“
> >>>
> >>> I’m probably showing my ignorance about YANG again, but what is the
> >>> reason this is not phrased as
> >>>
> >>>        when "./ancestor::nw:network-types/tet:te-topology/“
> >>
> >> Yes, this would work, with a minor correction:
> >>
> >>      when "./ancestor::node()/nw:network-types/tet:te-topology"
> >>
> >> because 'nw:network-types' isn't an ancestor of the context node.
> >> Also, the initial './' isn't actually needed, hence
> >>
> >>      when "ancestor::node()/nw:network-types/tet:te-topology"
> >
> > Or the more direct:
> >
> >      when "ancestor::nw:network/nw:network-types/tet:te-topology"
>
> Right, this is the best option.
>
> >
> > This style works if we can guarantee that there will be exactly one
> > node "nw:network" among our ancestors.
> >
> > It is perhaps easier to get this style right w/o a YANG compiler
> > (which would detect if the number of ".." in the relative path is
> > wrong), but the relative path might be easier to understand for a
> > casual reader.
>
> +1
>
> Lada
>
> >
> >
> >
> > /martin
> >
> >
> >
> >>
> >> Lada
> >>
> >>>
> >>> ?
> >>>
> >>> Grüße, Carsten
> >>>
> >>> _______________________________________________
> >>> 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<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

Reply via email to