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/> > >