Subject: [netmod] Y27: allow mandatory nodes in an updated module

From: Martin Bjorklund <[email-masked]>
Date: Fri, 28 Mar 2014 16:14:30 +0100 (CET)

Hi,

>   This text in sec 10 is problematic:
> 
>       New data definition statements may be added if they do not add
>       mandatory nodes (Section 3.1) to existing nodes or at the top
>       level in a module or submodule, or if they are conditionally
>       dependent on a new feature (i.e., have an "if-feature" statement
>       that refers to a new feature).
> 
> 
>   Issues:
> 
>     - What difference does a new YANG feature make to an old client?
>       Why is the text about if-feature in the document?

I agree that this is wrong.

So, the reason for doing having this rule is stated in section 10:

   changes are not allowed if they have any
   potential to cause interoperability problems between a client using
   an original specification and a server using an updated
   specification.

Adding a mandatory node can break the old client.

So if we relax this rule, we need to be aware of how this affects
old clients.

/martin

---

From: Andy Bierman <[email-masked]>
Date: Fri, 28 Mar 2014 08:30:59 -0700

> Adding a mandatory node can break the old client.
Yes. Removing an object (status=obsolete) can break a client,
yet this is allowed.

> So if we relax this rule, we need to be aware of how this affects
It means there may be a max-version of a YANG module that
an application can use -- for either reason (objects added or removed).

IMO it is unrealistic to require all mandatory functionality
to be specified in the first version of a module.

> /martin
Andy