Re: [netmod] datastore-specific constraints
Martin Bjorklund <mbj@tail-f.com> Thu, 13 December 2018 08:51 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 9B852130FA9 for <netmod@ietfa.amsl.com>; Thu, 13 Dec 2018 00:51:47 -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 TdpkOcrGeItZ for <netmod@ietfa.amsl.com>; Thu, 13 Dec 2018 00:51:45 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 0A0ED130FD3 for <netmod@ietf.org>; Thu, 13 Dec 2018 00:51:44 -0800 (PST)
Received: from localhost (unknown [173.38.220.45]) by mail.tail-f.com (Postfix) with ESMTPSA id A11CF1AE034F; Thu, 13 Dec 2018 09:51:40 +0100 (CET)
Date: Thu, 13 Dec 2018 09:51:39 +0100
Message-Id: <20181213.095139.2195805691286738924.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: <b434351564e5244c1341a247b819e5fe935788e5.camel@nic.cz>
References: <BE57F393-5E00-4877-BA04-7B980DDB3CDF@tail-f.com> <2c2eff9a-4cdb-d755-dc2b-05c01d8c8d1d@cisco.com> <b434351564e5244c1341a247b819e5fe935788e5.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/PIYM5XcX0wM_nfKdbKisbPGuO8E>
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 08:51:55 -0000
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 [...] 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 would be useful with a YANG statement that indicates when the modeller's intention is that a constraint doesn't apply to <operational>. For now, this can be indicated in the description statement, for example: leaf foo { when "../auto-foo = 'false'" { description "This when expression does not apply to <operational>."; } ... } /martin > > Anyway, the logic of my example could then be implemented using "must". I agree > though that ignoring the configured value if auto-foo is true may be preferable. > > Lada > > > > Thanks, > > Rob > > > > On 12/12/2018 14:52, Jan Lindblad wrote: > > > Lada, > > > > > > Maybe you could just skip the when and explain the behavior in the > > > description? E.g. > > > > > > leaf foo { > > > ... > > > description "Foo controls bla, bla. > > > Any configured value will be ignored when auto-foo is true."; > > > } > > > > > > Best Regards, > > > /jan > > > > > > > On 12 Dec 2018, at 15:33, Ladislav Lhotka <lhotka@nic.cz> wrote: > > > > > > > > Hi, > > > > > > > > in some cases, constraints expressed with "when" or "must" may only be > > > > intended for configuration datastores. A typical example is an > > > > auto-negotiable parameter: > > > > > > > > leaf auto-foo { > > > > type boolean; > > > > default true; > > > > description "If true, parameter 'foo' will be auto-negotiated."; > > > > } > > > > leaf foo { > > > > when "../auto-foo = 'false'"; > > > > ... > > > > } > > > > > > > > This means that if auto-foo is true, it is impossible to configure the > > > > foo parameter. However, even with auto-foo = true, it is desirable to > > > > see the auto-negotiated value in <operational>, so, ideally, the "when" > > > > constraint should not apply in <operational>. > > > > > > > > How can this logic be modelled under NMDA? Is an extra leaf > > > > "foo-operational" needed? > > > > > > > > Thanks, Lada > > > > > > > > -- > > > > Ladislav Lhotka > > > > Head, CZ.NIC Labs > > > > PGP Key ID: 0xB8F92B08A9F76C67 > > > > > > > > _______________________________________________ > > > > netmod mailing list > > > > netmod@ietf.org > > > > https://www.ietf.org/mailman/listinfo/netmod > > > > > > > > > > > > > > > > _______________________________________________ > > > netmod mailing list > > > netmod@ietf.org > > > https://www.ietf.org/mailman/listinfo/netmod > -- > Ladislav Lhotka > Head, CZ.NIC Labs > PGP Key ID: 0xB8F92B08A9F76C67 > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod >
- [netmod] datastore-specific constraints Ladislav Lhotka
- Re: [netmod] datastore-specific constraints Jan Lindblad
- Re: [netmod] datastore-specific constraints Robert Wilton
- Re: [netmod] datastore-specific constraints Reshad Rahman (rrahman)
- Re: [netmod] datastore-specific constraints Jan Lindblad
- Re: [netmod] datastore-specific constraints Ladislav Lhotka
- Re: [netmod] datastore-specific constraints Juergen Schoenwaelder
- Re: [netmod] datastore-specific constraints Martin Bjorklund
- Re: [netmod] datastore-specific constraints Ladislav Lhotka
- Re: [netmod] datastore-specific constraints Martin Bjorklund
- Re: [netmod] datastore-specific constraints Ladislav Lhotka
- Re: [netmod] datastore-specific constraints Robert Wilton
- Re: [netmod] datastore-specific constraints Ladislav Lhotka
- Re: [netmod] datastore-specific constraints Randy Presuhn