> On Sep 13, 2023, at 10:36, Ladislav Lhotka 
> <ladislav.lhotka=40nic...@dmarc.ietf.org> wrote:
> 
> 
> 
> Dne 13. 09. 23 v 16:06 Jernej Tuljak napsal(a):
>> On 13/09/2023 14:26, Jan Lindblad (jlindbla) wrote:
>>> Jernej,
>>> 
>>> Hat off for the tools (and tool vendors!) that assist authors to stay true 
>>> to YANG RFC sections 10 and 11 also. Well done. :-)
>>> 
>>> I intentionally used "compiler" rather than "toolchain", "IDE" or something 
>>> more open ended, because a compiler is what I have and can speak for.
>>> 
>>> Even so, I have a hard time thinking the customers of even the best YANG 
>>> IDEs would be interested to pay the effort for distinguishing between YANG 
>>> 1.1 and YANG 1.2 solely on the proposed RFC wording difference. Since a BC 
>>> verification capability apparently already exists in some IDEs, I think it 
>>> would make sense for their vendors to turn the checks it into a warnings 
>>> (if they aren't already), regardless of which yang-version statement is 
>>> found in the module header.
>>> 
>>> This might mean a non-zero implementation effort for a few YANG toolchain 
>>> implementors. While this is a good point, it does not really sway my 
>>> opinion about what the pragmatic choice for IETF is. Or Jernej, do you 
>>> think the users of those good IDEs would prefer a new YANG version? If so, 
>>> why?
>> If you are asking whether I'd like to see a new version of YANG for the sole 
>> purpose of changing those MUST and MUST NOTs - no, I would not. However, a 
>> change like this mandates a yang-version bump, IMHO.
> 
> Right, so we have two ugly options, but bumping YANG version really makes no 
> sense, so breaking those few tools that check update rules looks like a 
> better choice to me.
> 
> We have already seen cases that the update rules prevented fixing problems in 
> YANG modules in a straightforward way, and backward-compatible fixes 
> negatively affected module readability. This is inevitable until the 
> ecosystem of YANG modules stabilizes. That's why I think changing update 
> rules from MUST to SHOULD is appropriate - it should have been so from the 
> beginning.

I wholeheartedly agree. We need to be able to fix YANG modules with NBC 
changes. I know of at least one implementation that support NBC changes for 
proprietary models with node-specific translation

Thanks,
Acee 




> 
> Lada
> 
>> Jernej
>>> 
>>> Best Regards,
>>> /jan
>>> 
>>> 
>>> 
>>> 
>>> 
>>>> On 13 Sep 2023, at 10:57, Jernej Tuljak <jernej.tul...@mg-soft.si> wrote:
>>>> 
>>>> On 12/09/2023 14:43, Jan Lindblad (jlindbla) wrote:
>>>>> Jürgen, all,
>>>>> 
>>>>> I see the irony in changing the YANG RFC(s) without updating the YANG 
>>>>> language version number, but digging a bit deeper, I think the question 
>>>>> is not as clear-cut as it might seem at first.
>>>>> 
>>>>> Altering the contents of the backwards-compatibility section of RFC 6020 
>>>>> (sec 10) and RFC 7950 (sec 11) clearly implies changes in YANG module 
>>>>> authors' behavior.
>>>>> 
>>>>> Speaking as a YANG compiler implementor, however, I don't see any changes 
>>>>> that have to made to the compiler because of this RFC change. There are 
>>>>> no new keywords, none are removed. There is no change in the meaning of 
>>>>> existing keywords. There is no difference in the output the compiler 
>>>>> needs to generate.
>>>>> 
>>>>> So while there are changes to the YANG *standard* (meaning RFCs) there is 
>>>>> no actual change to the YANG *language*. If we require user's to mark 
>>>>> their modules with version 1.2 (or 2.0), from the compiler's pov, that 
>>>>> would just be an alias for YANG 1.1. It means a fair amount of trouble to 
>>>>> update all the tools out there to accept "yang-version 1.2" but do 
>>>>> nothing new. It also adds a burden to YANG module implementors, since 
>>>>> they would have to go through all YANG 1.1 modules and mark them 1.2, for 
>>>>> no change in meaning. For organizations with some modules still on YANG 
>>>>> 1.0, the bar is even higher.
>>>>> 
>>>>> I think the most pragmatic approach in this case would be to change the 
>>>>> RFC text in the backwards-compatibility sections and not update the 
>>>>> yang-version number as long as no change is required in the compilers. If 
>>>>> anyone can point to actual things the compiler needs to do differently, 
>>>>> I'd be interested to hear.
>>>> 
>>>> You will first have to define what a YANG compiler is before you can make 
>>>> such assumptions. YANG code validation rules may be implemented in several 
>>>> ways, depending on what the tool that utilizes them is used for. I choose 
>>>> to call that a "validation engine" - "compiler" implies translation into a 
>>>> lower level language in my world and not all tools require that. I know of 
>>>> at least one tool that utilizes a validation engine that performs the 
>>>> checks in Updating a Module sections of RFC 6020 and RFC 7950, when 
>>>> requested. And I would expect a YANG authoring tool to do the same if it 
>>>> claims full RFC compliance. Those are not optional guidelines intended 
>>>> just for humans. It is true that some of the rules can only be reliably 
>>>> checked by a human, but not all (or even most) of them. Point being - 
>>>> there are implementations out there that rely on the text of this Section 
>>>> to remain unchanged. I would imagine that they represent a drop in the sea 
>>>> compared to implementations that have chosen to completely ignore the spec 
>>>> (forking YANG into YANG' in the process), but they do exist.
>>>> 
>>>> I disagree that changing those sections does not change the language. Of 
>>>> course it does. It makes combinations of language constructs, that were 
>>>> previously not allowed, valid. This is no different to prescribing a 
>>>> mandatory-to-implement YANG extension.
>>>> 
>>>> File versioning is baked into YANG, a peculiarity of the language. There 
>>>> are many more such peculiarities. I'd like to know what other backward 
>>>> incompatible changes to the spec I can expect to occur in the future 
>>>> because there's now a precedent for it.
>>>> 
>>>> Jernej
>>>> 
>>>>> 
>>>>> Best Regards,
>>>>> /jan
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 12 Sep 2023, at 07:55, Jürgen Schönwälder 
>>>>>> <jschoenwaelder@constructor.university> wrote:
>>>>>> 
>>>>>> I disagree with the poll. There are important teachnigal differences
>>>>>> behind the two options that this polls tries to hide.
>>>>>> 
>>>>>> Updating YANG 1 and YANG 1.1 means creating YANG 1' and YANG
>>>>>> 1.1'. There is no way that a new versioning approach will be
>>>>>> understood by existing YANG tooling. That's an illusion.
>>>>>> 
>>>>>> /js
>>>>>> 
>>>>>> On Mon, Sep 11, 2023 at 10:39:39PM +0000, Kent Watsen wrote:
>>>>>>> WG,
>>>>>>> 
>>>>>>> Please help the YANG-versioning effort move forward by participating in 
>>>>>>> the following poll:
>>>>>>> 
>>>>>>>  - https://notes.ietf.org/netmod-2023-sept-poll  (Datatracker login 
>>>>>>> required)
>>>>>>> 
>>>>>>> Kent and Lou
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> netmod mailing list
>>>>>>> netmod@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/netmod
>>>>>> 
>>>>>> --
>>>>>> Jürgen Schönwälder              Constructor University Bremen gGmbH
>>>>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>>>>>> Fax:   +49 421 200 3103 <https://constructor.university/>
>>>>>> 
>>>>>> _______________________________________________
>>>>>> 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
> 
> -- 
> Ladislav Lhotka, CZ.NIC
> PGP Key ID: 0xB8F92B08A9F76C67
> 
> _______________________________________________
> 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

Reply via email to