Re: [netmod] What's the problem with NMDA? was Re: RE: RE: Please clarify implementation about ‘when’

Andy Bierman <andy@yumaworks.com> Fri, 04 October 2019 23:39 UTC

Return-Path: <andy@yumaworks.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 04D1F120086 for <netmod@ietfa.amsl.com>; Fri, 4 Oct 2019 16:39:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 OmT9amFt5VG1 for <netmod@ietfa.amsl.com>; Fri, 4 Oct 2019 16:39:09 -0700 (PDT)
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3742812006B for <netmod@ietf.org>; Fri, 4 Oct 2019 16:39:09 -0700 (PDT)
Received: by mail-lj1-x235.google.com with SMTP id m13so8053733ljj.11 for <netmod@ietf.org>; Fri, 04 Oct 2019 16:39:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WSRl4fXEHckMBy260wsX5JwJFy7ub8aPidEwuSSSp5Q=; b=P3JCNpA4r7CBQ6MLN4zKybIxnAjxjBGqf7J7DW0eOCVfuk7UN3lJwqdcC66zYc5m0e wVYmG/8W0FUE2wF/Hp1PC+84hlE9knYrAd20N8WbZ/3zhfFE5gH1B5hadi5vI68y7cVi zGTwzDUVSuARmPJ9JJkjjXbrVCjMGAigz6HqHMAIDSiS+7zQDVmpKwyll4g8Z8r7jQSu 2M/NMi7b7g5bJgfmtIUFrik2QEVL5r2pjIXpEL9NsDeiTMhEOUZvHW9rljK2uG4rUMRO aSPoIldzhEtxRBJA32LSGLhLojkewuXU9hBMrGPqmXsVBMbpiM+zdUvVno5bAgC3XBwE vlFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WSRl4fXEHckMBy260wsX5JwJFy7ub8aPidEwuSSSp5Q=; b=UMkd89bV34ba91RUqGZ/A3JRrOnLm3K7erLfrwfxp2LE49xCcio1/ef97E3MSeQADI AiT7YbrfDNDxQztNMi2e3Vewxsm7Nt8RZzXIV4mzxN5AWBSIULvX7+zgIg5RE+cXjDfO SkAY2sj4ER9P7ljY+1CkMZbNF5kJSNKp/kGwU3jj2jx2HECXfsbdCBwFcbcuNx3bSuco iK0TyBkPs9ZwAX8Y5vujiJLYMiWwzRE3AsV9MEalI1+XCcS5osUT1tdTKGuF1qyPWSwd YJgGcXPWOOt20/p62Siy+UeBH7L6Ao539sGsFb4PAM21dxTkywXB7bHpzAD4WSxHBl3W Yu0A==
X-Gm-Message-State: APjAAAU42Z+AoAkgyNtXG+/6d0h6vkBuvcHEGBeKPvqoSsighwbeZs/t n8X5FdiQxNUddaNzb09gkaJWH8d1lieDI9s/dtm9QQ==
X-Google-Smtp-Source: APXvYqz5TTjlX9z74V3egh1u1w83Q6WTzjripCpZIaBHcxX13ZLgFTWYKJw2xpbcOYpjeQKbuF/8z7YMRHMIfxycZ2U=
X-Received: by 2002:a2e:8603:: with SMTP id a3mr10989929lji.98.1570232347351; Fri, 04 Oct 2019 16:39:07 -0700 (PDT)
MIME-Version: 1.0
References: <B8F9A780D330094D99AF023C5877DABAA934036B@dggeml511-mbx.china.huawei.com>
In-Reply-To: <B8F9A780D330094D99AF023C5877DABAA934036B@dggeml511-mbx.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 04 Oct 2019 16:38:56 -0700
Message-ID: <CABCOCHQsdDHAZ_NvU-EuNNDOfSAP6+961R3tEhjUjTv4_Br4Yg@mail.gmail.com>
To: Qin Wu <bill.wu@huawei.com>
Cc: "Schönwälder, Jürgen" <J.Schoenwaelder@jacobs-university.de>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000004775c505941e3522"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Lrt1vbFkXTckeAy21ME-jlRqzZM>
Subject: Re: [netmod] What's the problem with NMDA? was Re: RE: RE: Please clarify implementation about ‘when’
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: Fri, 04 Oct 2019 23:39:13 -0000

On Thu, Oct 3, 2019 at 5:30 PM Qin Wu <bill.wu@huawei.com> wrote:

>
>
> *发件人:* netmod [mailto:netmod-bounces@ietf.org] *代表 *Andy Bierman
> *发送时间:* 2019年9月27日 11:42
> *收件人:* Schönwälder, Jürgen <J.Schoenwaelder@jacobs-university.de>
> *抄送:* netmod@ietf.org
> *主题:* Re: [netmod] What's the problem with NMDA? was Re: 答复: 答复: Please
> clarify implementation about ‘when’
>
>
>
>
>
>
>
> On Thu, Sep 26, 2019 at 11:35 AM Schönwälder, Jürgen <
> J.Schoenwaelder@jacobs-university.de> wrote:
>
> On Thu, Sep 26, 2019 at 10:44:01AM -0700, Andy Bierman wrote:
>
> > The IETF has completely punted the problem of converting data for a
> > configuration datastore to the schema tree for <operational>.
>
> I am not sure. The <operational> model consists of the applied
> configuration plus any config false extras. NMDA simplifies things
> since there is now a single tree structure instead of two if you have
> to handle models where applied configuration can be different than
> intended config. If I configure /foo/bar in <running>, I can check
> /foo/bar in <operational> whether it exists and matches what I
> configured.
>
> > Deviations may be different.  A leaf may be string in 1 tree and
> > decimal64 in the other. There is an incorrect assumption that
> > software developers will deal with these corner-cases (correctly and
> > consistently).
>
> Not really true for applied config. And with non NMDA, there is no
> guarantee either that /foo/bar and /foo-state/bar use the same type
> and semantics.
>
>
>
>
>
> different deviation modules in each module-set are allowed in the YANG
> library.
>
> That makes it kind of mandatory for the client to support it, or choose to
>
> not conform to the standard.
>
>
>
>
>
>
>
>
>
> > The other big problem is an untested NMDA transition strategy that is not
> > well understood by vendors.
> > Should non-NMDA (/foo-state) be visible to <get-data> or just <get>?
>
> Perhaps there is more explanation necessary. The idea here is that an
> NMDA client should not bother to search for /foo-state, it should send
> a <get> for /foo/state in operational.
>
> Yes, NMDA requires updates to clients. Whether these are visible or in
> which form they are visible to application logic likely depends on the
> client design. But yes, NMDA is not for free for clients. But once you
> have updated, we believe NMDA actually makes things simpler and more
> consistent.
>
> > Using the YANG library to separate the modules relies on the assumption
> that
> > the client is capable of managing each datastore independently (instead
> of
> > 1 schema tree per server).
>
> Yes, YANG library can express pretty complex server model
> organizations.  This does not mean that all server have to use server
> model organizations.  I assume that also many clients will not be
> interested to understand the entire server model, they likely want to
> check the existance of only those pieces that they care about.
>
>
>
> I am not trying to revive debates on the value of NMDA or the solution,
>
> but more flexibility for the server means more complexity for the client.
>
> IMO this is contributing to the slow adoption of NMDA.
>
>
>
> I hope the industry will find a transition solution (NMDA Lite) that fully
> supports
>
> the protocol operations, but uses the same module-set(s) in the YANG
> library
>
> for all datastores.  If this is the expected norm for servers then clients
> that support it
>
> will work.  (I would like to hear about even one NMDA implementation
>
> that supports complex YANG libraries).
>
>
>
> [Qin]: Should Non-NMDA client fall back to RFC7895 YANG library or adopt
> new YANG library in RFC8525 and assume same module-set(s), schema for all
> datastores?
>
> RFC7895 has already been obsoleted.
>
>
>


No.  The /modules-state subtree has status "deprecated" in RFC 8525.
It is not desirable to list non-NMDA only modules in the new /yang-library
so the deprecated tree will never go away as long as the server intends to
support non-NMDA clients.

NMDA has this MUST requirement:



   The datastore schema for <operational> MUST be a superset of the
   combined datastore schema used in all configuration datastores,
   except that configuration data nodes supported in a configuration
   datastore MAY be omitted from <operational> if a server is not able
   to accurately report them.


The "foo" module will be listed in /yang-library and /modules-state.

The temporary "foo-state" module will be listed only in /modules-state.


(I don't see much value in implementing /yang-library but if think you need it

then go ahead ;-)



/js
>
>
>
> Andy
>
>
>


Andy


>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>
>