Subject: [netmod] yang-05, 8.3, constraint enforcement

From: Andy Bierman <[email-masked]>
Date: Sat, 23 May 2009 16:42:34 -0700

Hi,

Section 8.3.1 completely ignores access-denied errors.
None of the specified errors will be returned if
the ACM test fails first.  Then access-denied is
the only error reported.

Section 8.3.2 is mostly a redundant explanation
of NETCONF processing rules.  The last bullet mentions
false 'when' statements but not false 'if-feature' statements/

This section on <edit-config> should specify if it is OK
for a client to create a new node which has a false when
statement attached to it.  Clearly, a false 'if-feature' node
is treated as an 'unknown-element' error.  (Or is it?)

The issue is of course the candidate config.
An implementation must attempt to defer all errors
that can possibly be fixed before the commit.
(That's why it's called a scratch-pad database.)

What if the when expression result(s) change before the <commit>?

What if they change many times before the <commit>?

Since it is a global scratch-pad, if another session issues
a validate(), then is it OK for the agent to remove
'false conditional' nodes from the candidate?

Can these nodes be silently removed like empty NP containers,
or must an error be reported if they are set?

What if the 'when' result(s) are true during <edit-config>,
but false later, during another <edit-config>, or during a <commit>?

What if the set of enabled features changes before the <commit>?
Same sort of issues as for when-stmt.

Andy