Jan Lindblad <j...@tail-f.com> writes:

> Italo,
>
> While I agree that tools are easier to update than WG documents, and that a 
> broken yanglint isn't a strong reason to avoid the proposed axis construct, I 
> do think it will have a cost. In current YANG practice, XML axis constructs 
> are esoteric, and many implementations will either not support it, or have 
> not been tested properly in this area before. Many engineers will never have 
> seen this before, and might stumble.
>
> Bottom line, this is valid YANG, and it is supposed to work. For many people 
> it will definitely be less readable than a relative path. I expect choosing 
> the axis solution will slow the uptake of this module.

I disagree. Tools should faithfully implement the standard, and especially 
those that are used as "authoritative" in RFC validation process. I don't see 
how axes could be considered esoteric - in fact, they are very fundamental in 
XPath and things like '..' or '//' are just syntactic sugar for axes contructs.

Lada

>
> Best Regards,
> /Jan
>
>
>> On 28 Jan 2022, at 12:12, Italo Busi 
>> <Italo.Busi=40huawei....@dmarc.ietf.org> wrote:
>> 
>> Thanks Michal for the clarification
>> 
>> We have discussed this issue among the co-authors of 
>> draft-ietf-ccamp-flexigrid-yang and we are not sure about how to address a 
>> WG LC comment we have received on this topic
>> 
>> While the YANG code using the ancestor instead of relative paths looks 
>> easier to read and understand to an human code writer/reader, we are 
>> concerned about whether it is worthwhile standardizing in IETF a YANG data 
>> model which fails compilation with yanglint
>> 
>> The YANG code is correct (at least it passes pyang validation) but it fails 
>> yanglint validation just because yanglint does not support axes, so we 
>> expect that as soon as we upload the updated draft, the IETF datatracker 
>> will signal yang validation errors
>> 
>> Is there any guideline/suggestion from Netmod WG and YANG doctors on how to 
>> deal with such a case?
>> 
>> Thanks, Italo (on behalf of co-authors)
>> 
>>> -----Original Message-----
>>> From: Michal Vaško [mailto:mva...@cesnet.cz <mailto:mva...@cesnet.cz>]
>>> Sent: martedì 18 gennaio 2022 08:07
>>> To: Italo Busi <italo.b...@huawei.com <mailto:italo.b...@huawei.com>>
>>> Cc: Ladislav Lhotka <ladislav.lho...@nic.cz 
>>> <mailto:ladislav.lho...@nic.cz>>; Martin Björklund
>>> <mbj+i...@4668.se <mailto:mbj+i...@4668.se>>; netmod@ietf.org 
>>> <mailto:netmod@ietf.org>
>>> Subject: Re: [netmod] YANG 'when' with absolute path
>>> 
>>> Hi,
>>> 
>>> yanglint uses its own XPath implementation, which unfortunately does not
>>> support axes, hence the error.
>>> 
>>> Regards,
>>> Michal
>>> 
>>> On Monday, January 17, 2022 16:59 CET, Italo Busi
>>> <Italo.Busi=40huawei....@dmarc.ietf.org> wrote:
>>> 
>>>> 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
>>>>> 
>>>> 
>>>> 
>> _______________________________________________
>> yang-doctors mailing list
>> yang-doct...@ietf.org <mailto:yang-doct...@ietf.org>
>> https://www.ietf.org/mailman/listinfo/yang-doctors 
>> <https://www.ietf.org/mailman/listinfo/yang-doctors>
> _______________________________________________
> netmod mailing list
> 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