Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure

Andy Bierman <andy@yumaworks.com> Tue, 12 July 2016 19:15 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 3EECF12B02B for <netmod@ietfa.amsl.com>; Tue, 12 Jul 2016 12:15:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 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_LOW=-0.7, 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 FLc8St8nrssO for <netmod@ietfa.amsl.com>; Tue, 12 Jul 2016 12:15:33 -0700 (PDT)
Received: from mail-vk0-x22b.google.com (mail-vk0-x22b.google.com [IPv6:2607:f8b0:400c:c05::22b]) (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 28EFA12B005 for <netmod@ietf.org>; Tue, 12 Jul 2016 12:15:33 -0700 (PDT)
Received: by mail-vk0-x22b.google.com with SMTP id x130so35904578vkc.0 for <netmod@ietf.org>; Tue, 12 Jul 2016 12:15:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=CQ36/j8ahjFo7HlhwlyTqSEDkYc9tMhT5XLMRdU1BnU=; b=yAQoMGMNXQBIhYu/cR5MqSxunpbSMvbEkxAesC3nV5sdmnqsK0drvNu04mpW+MDMAm eD/sAMJ+VBPRQsQs3EsVsGU4wXyTJo8bsOHuNI7LgwctGBGyUQRFR/AIL5oRQd/tqzPX lfXxbHgrvUngkE0G/NUzEKO8liWdMnTsHeybMZeRgwQtdG4LsbE0+GmshN3jP7n7cGCL q4IxwQYDWPglNWuSLEcjnNcPEvUxtZJjkIEf6nykEbnYsFhyCjifx6GsBr9H1JA/m+5G jEpbovRUoAbERW6mmhj5mcgv7ElB/+qMkO5KXJx90pLfzWpio0JE688Le1rJAF+J18+a yspQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=CQ36/j8ahjFo7HlhwlyTqSEDkYc9tMhT5XLMRdU1BnU=; b=fmp5C8n1z3kQO037BS5uDmKFKqeajCoEdqEel1tZUk0jXDdSKTn7+nSm9+QbFIkLWj /mz9U6Ha04XR6H/wWSCfCHtRvN8zdpSsGhFxVlII7SOLjvxNyOpf4+r1gBj4sb6hoTph nx+9wgvUMkXYGYDyNYhvAXFdQZ/OuINerO0dw3MCeMKri9bCR26PJ16NJAhdg7tLUkwY QD/KrjGMvqTMNisbmEn1pp5+HQnDBf7TAJ2k5sem25dn6n8+2LeygiKf9+iZtY7ceh1o yEn/tcKuKFiitutpokTLmphfjHsqr88g4Pk+bOuv26hFboPb++iYO89L2ucS7FSlp9pW rt1Q==
X-Gm-Message-State: ALyK8tLJ+889gmQnpjmhTYHEmj1tQPy024HoMpod3ZM6K/Tq8RidchK9BBQ21cBUkKxCovtH3qN67Lewt8EbSw==
X-Received: by 10.159.35.112 with SMTP id 103mr1981205uae.55.1468350932234; Tue, 12 Jul 2016 12:15:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.20.2 with HTTP; Tue, 12 Jul 2016 12:15:31 -0700 (PDT)
In-Reply-To: <20160712190709.GA36335@elstar.local>
References: <D3A935F0.6A4DC%acee@cisco.com> <02b5661f-22e0-6ccc-89d2-ef0370c4e87c@labn.net> <CABCOCHSH5wC3-VbAF6tXOc+3tSxpC3a0MA23YEkUFEBojoo25w@mail.gmail.com> <2b35a279-3c13-8b39-6e93-6c5e9d3ba2c2@cisco.com> <CABCOCHTOEY4dZM+bduWZ5N-k8dB_uO8=mdqtYQV0ktC6-TPyBw@mail.gmail.com> <3deb9416-e012-e8e3-43e2-be0d090a707a@cisco.com> <CABCOCHSnWaiUPqtpQpND0m3WYy6aYOTJJfJNEe5295bttuy_zw@mail.gmail.com> <D3AAA2CF.6B279%acee@cisco.com> <CABCOCHSa5ECo-j42uMFCqQOU7hUf4qYiDACu+269zd9Rgthafg@mail.gmail.com> <20160712190709.GA36335@elstar.local>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 12 Jul 2016 12:15:31 -0700
Message-ID: <CABCOCHTSshuiihRkpzG=ppMROYcg0AFqtDM=t9A2==mT7gqvrQ@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>, netmod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="001a113ab81ab8c840053775179b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/KyA2jM-ZNt2RK89sLAkCHKBSZpk>
Subject: Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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: Tue, 12 Jul 2016 19:15:35 -0000

On Tue, Jul 12, 2016 at 12:07 PM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Tue, Jul 12, 2016 at 11:36:03AM -0700, Andy Bierman wrote:
> > Yes there is value in modeling conventions in general.
> > I am trying to understand the value of this specific convention.
> >
> > If I have an RPC that asks for applied state, then it doesn't really
> matter
> > how the config and state is organized.  There is only overlap in the
> objects
> > if the data model is designed that way.
> >
> > Whether or not an edit is applied yet is a property of the
> implementation,
> > not the data model.
>
> The current /foo and /foo-state approach requires some amount of
> duplication. If the trees contain some nested lists of lists, you have
> to at least replicate all the key leafs in the schema definition. For
> a small model, this is not a bit deal; for more complex models, this
> becomes complex and there are possible sources of errors. If it is
> possible to simply data models, this may be a long-term win.
>
>

It only requires duplication if you insist on modeling opstate objects.
IMO an RPC + notification approach is far superior.
In this approach I only need to identify the intended config object
and retrieve (or be notified) of the applied-state transition.



> The reason why we have the /foo and /foo-state convention is, I
> believe, the design of the NETCONF <get/> operation, which assumes
> state and config can be represented together in a single tree. And we
> have carried this further into YANG (e.g., the way contexts are
> constructed for xpath expressions). In hindsight, I am not sure the
> consequences of the <get/> design were that well thought through - but
> I am not complaining, at that time we did not have YANG nor did we
> have experience with bigger data models written in YANG. Is it worth
> fixing it? This is a tough question and I understand that people have
> different opinions and also different views on where we are on the
> lifecycle of this technology. The challenge, as always, is to evolve a
> technology along with its usage and upcoming new requirements. If the
> evolution is too fast, you risk fragmentation since people will then
> run many different versions. If evolution is too slow or stops
> entirely, you pave the way for complete replacements of the
> technology.
>
> I think it is worth to step back for a moment and to think about where
> we like to be in 5 or 10 years from now when we discuss architectural
> questions.
>


We have read-only foo-state because we have only been standardizing
monitoring data for the last 30 years.  I completely agree that if the
state depends
on the config in order for an instance to exist, then co-locate the config
and
state and share the node naming.


But modeling admin-state and oper-state with the same object is not a
requirement.
Being able to determine if the intended config is applied yet is a
requirement.
This can be done with protocol operations so it is 100% data model neutral.




>
> /js
>

Andy


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