> On 15 Aug 2015, at 01:40, Andy Bierman <[email protected]> wrote:
> 
> 
> 
> On Fri, Aug 14, 2015 at 4:32 PM, heasley <[email protected]> wrote:
> > On Thu, Aug 13, 2015 at 12:43 PM, Ladislav Lhotka <[email protected]> wrote:
> >
> > >
> > > > On 13 Aug 2015, at 21:31, Andy Bierman <[email protected]> wrote:
> > > >
> > > > Hi,
> > > >
> > > > IMO this is issue is closed.
> > > > I see no reason to re-open it.
> > > > YANG does not allow augments to add mandatory nodes.
> > >
> > > I strongly disagree with this attitude, this is a normal IETF procedure.
> > > Things can be changed even during WGLC.
> > >
> > > Virtual interims aren?t good for discussing non-trivial technical issues.
> > >
> > >
> > I am not hearing any new arguments for changing this rule for augments.
> > It's up to the co-chairs whether they want to re-open this issue.
> 
> This might be ignorance of detail, but doesn't this approach essentially force
> vendors to publish [what i've been calling] enterprise yang models for models
> that they might otherwise just augment to support proprietary features?
> 
> if so, what is the point of defining *any* models?
> 
> 
> 
> The issue here is that augment cannot directly add mandatory nodes.
> They must be inside a list or a P-container.

In both examples, the augments are applied inside a list, only the list is 
defined in the module that’s being augmented. 

>  
> 
> 
>     augment /foo:bar {
>        leaf NOT_ALLOWED {
>           mandatory true;
>           type string;
>        }
>     }
> 
>     augment /foo:bar {
>        container THIS_IS_ALLOWED {
>           presence "new feature enabled";
>           leaf THIS_IS_NOW_ALLOWED {
>              mandatory true;
>              type string;
>           }
>        }
>     }
> 
> IMO this extra P-container is not a burden and it serves
> an important purpose, which is to allow clients that
> know the base structure to keep working.  Otherwise

But it also allows clients to create invalid DNS resource records in my 
example, or invalid if:interface entries in Rob’s example, because the 
p-container can be omitted entirely.
 

> when they create or replace the node, the edit will be
> rejected because a mandatory node is missing.

The client has no good reason to create list entries with types that it doesn’t 
support. 

My workaround in the dns-zones module is a must statement in the “rdata” list 
that requires the p-container to be always present:

    must “count(*) > 2”;

This is a tricky and brittle solution though.

Lada

> 
> 
> 
> 
> >
> >
> > > Lada
> > >
> 
> 
> Andy
>  
> >
> >
> > Andy
> 
> _______________________________________________
> netmod mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/netmod
> 
> _______________________________________________
> netmod mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/netmod

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




_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to