Hi Jan, Thank you for the help. Based on your example I crafted another version of the BRSKI-PRM voucher request with a grouping containing only the additional 3 fields needed in BRSKI-PRM, which is then used to augment the original voucher.
We have to do some further testing to see if it works out. Best regards Steffen > -----Original Message----- > From: Anima <[email protected]> On Behalf Of Jan Lindblad > Sent: Freitag, 5. August 2022 10:41 > To: Michael Richardson <[email protected]> > Cc: [email protected]; [email protected] > Subject: Re: [Anima] [netmod] mcr's YANG question raised during the ANIMA > WG session > > Michael, > > Comments inline. > > > On 5 Aug 2022, at 01:01, Michael Richardson <[email protected]> wrote: > > > > Thank you for very much for the reply. > > > > Jan Lindblad <[email protected]> wrote: > >> I had a look at your test example. The example is invalid, but pyang > >> fails to detect the error and overwrites some internal structures, > >> with the result below. The root cause of the problem is this: > > > > ... > > > >> Each one of the two uses statement brings in a "container voucher" > >> (with partly different content) at this point in the schema. That is > >> an attempt at a duplicate definition of voucher, which is an error. > > > > okay, so it partly works, which is an error, and I'll see if I can > > make that into a test case for pyang. > > Very good. > > > BUT: > > The goal is exactly to be able to combine two extensions to RFC8366 into a > > new module that has both extensions. Is there another way to do this? > > > > Puting them into two containers does not accomplish the goal, because > > now you have two expires-on, ... > > Of course. I just added the containers to show that pyang could understand the > modules once the modeling error was removed. Just to clarify what was going > on. > > >> Pyang > >> misses this, and overwrites one voucher object with the next, losing > >> some of the content. > > > >> By placing the two uses statements into separate containers, pyang is > >> able to successfully make a tree: > > > > ... > > > >> Normally in YANG, it wouldn't be hard to to let modules "B" and "C" > >> augment module "A" independently. But here you are working with > >> groupings in such a way that both "B" and "C" build up a complete > >> grouping with everything in "A". When "D" tries to use both "B" and > >> "C", there is inevitably unwanted duplication. > > > >> If instead, "B" and "C" > >> just defined their little contributions, "D" could import groupings > >> from "A", "B" and "C" and compose them as desired. > > > > The reason I am asking this question now, and proposing this example > > now, is so that if there is a better way to build "B" and "C" then we > > need to know about that *now* > > > > I see that you have proposed a different way, which I will attempt to > > work through. Fortunately, we still have time to fix some things. > > Feel free to reach out offline for discussion and review. > > Best Regards, > /jan > > _______________________________________________ > Anima mailing list > [email protected] > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf > .org%2Fmailman%2Flistinfo%2Fanima&data=05%7C01%7Csteffen.fries%4 > 0siemens.com%7Cc6d32de3502f4fb9a11d08da76be46cc%7C38ae3bcd95794fd4 > addab42e1495d55a%7C1%7C0%7C637952856978140952%7CUnknown%7CTWF > pbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6 > Mn0%3D%7C3000%7C%7C%7C&sdata=6RbTSa19uWUc8EqPVSiGCmkEjLwj > Y8eq18K1uXn5kn0%3D&reserved=0 _______________________________________________ Anima mailing list [email protected] https://www.ietf.org/mailman/listinfo/anima
