Re: [netmod] datastore-specific constraints

Martin Bjorklund <mbj@tail-f.com> Thu, 13 December 2018 10:25 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 64570128CFD for <netmod@ietfa.amsl.com>; Thu, 13 Dec 2018 02:25:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zVV2-hpsG-LC for <netmod@ietfa.amsl.com>; Thu, 13 Dec 2018 02:24:59 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id D3E4E1286E3 for <netmod@ietf.org>; Thu, 13 Dec 2018 02:24:58 -0800 (PST)
Received: from localhost (unknown [173.38.220.45]) by mail.tail-f.com (Postfix) with ESMTPSA id 6BAB21AE034F; Thu, 13 Dec 2018 11:24:55 +0100 (CET)
Date: Thu, 13 Dec 2018 11:24:54 +0100 (CET)
Message-Id: <20181213.112454.11250508028477040.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: rwilton@cisco.com, janl@tail-f.com, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <f962e20f8dfbe8f21db0abc399851f8acd454ed9.camel@nic.cz>
References: <b434351564e5244c1341a247b819e5fe935788e5.camel@nic.cz> <20181213.095139.2195805691286738924.mbj@tail-f.com> <f962e20f8dfbe8f21db0abc399851f8acd454ed9.camel@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/7GnjAUkSPcoqWcLs_bvkNLuvlXM>
Subject: Re: [netmod] datastore-specific constraints
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Dec 2018 10:25:00 -0000

Ladislav Lhotka <lhotka@nic.cz> wrote:
> On Thu, 2018-12-13 at 09:51 +0100, Martin Bjorklund wrote:
> > Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > On Wed, 2018-12-12 at 15:23 +0000, Robert Wilton wrote:
> > > > Hi Lada,
> > > > I basically agree with Jan's suggestion.
> > > > I don't think that I would use a when statement for this scenario since
> > you
> > > > want a leaf to report the operational value that is in effect, and one of
> > the
> > > > aims of NMDA is to try and get the configured and operational value onto
> > the
> > > > same path wherever possible.
> > > > But, I think that the question about validity of must statements is more
> > > > interesting.  RFC 8342 states that these can be violated in operational,
> > but
> > > > the intention is that the constraints in <operational> should generally
> > apply
> > > > (but never be actually checked by the server).  In this case, it might be
> > > > useful to be able to annotate a must statement to indicate that it only
> > > > applies to configuration data and not operational data.
> > > 
> > > Another option could be that "must" constraints on config data do not apply
> > in
> > > <operational>, whereas constraints on "config false" data serve as binding
> > > guidelines for implementors.
> > 
> > Not sure what "binding guideline" means, but note that RFC 8342 says
> > for <operational>:
> > 
> >    <operational> SHOULD conform to any constraints specified in the data
> >    model, but given the principal aim of returning "in use" values, it
> >    is possible that constraints MAY be violated [...]
> 
> According to the definition of SHOULD and MAY in RFC 2119, this sentence
> contradicts itself.

It should probably have been "may" then...?

> >    Only semantic constraints MAY be violated.  These are the YANG
> >    "when", "must", "mandatory", "unique", "min-elements", and
> >    "max-elements" statements; and the uniqueness of key values.
> 
> It is nice to see "when" listed among semantic constraints.

Yeah, I was a bit surprised that this sentence classifies "when" as a
semantic constraint...

> Note, however, that
> in sec. 8.1 of RFC 7950, "when" ended up among the constraints that
> are true in 
> all data trees (despite my hefty protests in the past).

Note that also uniqueness of keys is listed in 8.1 as true all data
trees, but relaxed by 8342.


/martin