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

Andy Bierman <andy@yumaworks.com> Tue, 12 July 2016 18:36 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 5D7BD12D5B2 for <netmod@ietfa.amsl.com>; Tue, 12 Jul 2016 11:36:07 -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 2OsIinxTF5FU for <netmod@ietfa.amsl.com>; Tue, 12 Jul 2016 11:36:05 -0700 (PDT)
Received: from mail-vk0-x236.google.com (mail-vk0-x236.google.com [IPv6:2607:f8b0:400c:c05::236]) (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 4894712D53D for <netmod@ietf.org>; Tue, 12 Jul 2016 11:36:05 -0700 (PDT)
Received: by mail-vk0-x236.google.com with SMTP id f7so34288763vkb.3 for <netmod@ietf.org>; Tue, 12 Jul 2016 11:36:05 -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 :cc; bh=9SrATAYHx9+OaksGdG+4X+6hE/8CbQZnBh659SnWS0U=; b=FwbY0jBBsHyYjRctAgFH8RYkHy/3sqzhGHW94EJbeWVSlzjRdy/YQ3Yz9HjnQo96lb 2sTALsPCQYfoCG/Tbov0C3EeYdLzllZEs05cn/8W83RSmPc0Zi/CCTbvJ9WeWHtjEu/x xnJraiYus8p6l+FBzuYiiI36ZTJIH8B9c1wgxxAapXiOku+1VE701V4iuZucWuXrcqnj JF5nnmTZMT9z39LdxTCbGKHjLJBZ2uaNw6QE75YEFI+mbmJv8SjEjp0ApE7bWgqvsq2o 7Zx2aAzWdljLrM5FYqWm4znfuz0yPIf5FaLYYdvvqEZB+KoYLmvviNGj2oQS3WqK9+9e NTqw==
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:cc; bh=9SrATAYHx9+OaksGdG+4X+6hE/8CbQZnBh659SnWS0U=; b=hwwRJPo+slxP4zGIWhDUelvn+DB7RIE28T+T/60FyU4gcOuSdHI4jUmOO37AByQI8L SuwaHuj2gETUZGgiCDx9KLjfIB0Zky3WtJZvHynUebDXHTXfqNNahRfoT2BvhDo0Rz31 sYcaxMYDKVyymOJfp8DWt4HpATsDjCJyHxXb0QUdh0BOi9dR3IZLNS0PZkSMr4sphd81 SIUUp7zhUA+uZ4Gjg7WUJ8pzDEHqMx5vTCc4PKZ7eHc8Bgo5VzLfAcN95QSpmrLGTkH+ SiGWBQXk4gQ/bgo86W0i10SIYpFL36IHs+QbhnlGEDQxrjyYoE2lNTt8H81cjbm3wBB+ YZLA==
X-Gm-Message-State: ALyK8tIo8WZaWx1vxhY+mpWCHkpCAJenRuHaUMX3fZcspnU6768IBR55Ww15SBIcXNtMACzpWBWA0eVGsyo26A==
X-Received: by 10.159.55.204 with SMTP id q70mr1688726uaq.16.1468348564335; Tue, 12 Jul 2016 11:36:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.20.2 with HTTP; Tue, 12 Jul 2016 11:36:03 -0700 (PDT)
In-Reply-To: <D3AAA2CF.6B279%acee@cisco.com>
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>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 12 Jul 2016 11:36:03 -0700
Message-ID: <CABCOCHSa5ECo-j42uMFCqQOU7hUf4qYiDACu+269zd9Rgthafg@mail.gmail.com>
To: "Acee Lindem (acee)" <acee@cisco.com>
Content-Type: multipart/alternative; boundary="94eb2c04cbfa9583f30537748ae1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Jvo7KBUxe-wZpee2BpvOzKpDBhU>
Cc: netmod WG <netmod@ietf.org>
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 18:36:07 -0000

On Tue, Jul 12, 2016 at 10:43 AM, Acee Lindem (acee) <acee@cisco.com> wrote:

>
>
> From: netmod <netmod-bounces@ietf.org> on behalf of Andy Bierman <
> andy@yumaworks.com>
> Date: Tuesday, July 12, 2016 at 1:27 PM
> To: "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <
> rwilton@cisco.com>
> Cc: netmod WG <netmod@ietf.org>
> Subject: Re: [netmod] OpsState Direction Impact on Recommended IETF YANG
> Model Structure
>
>
>
> On Tue, Jul 12, 2016 at 10:22 AM, Robert Wilton <rwilton@cisco.com> wrote:
>
>>
>>
>> On 12/07/2016 18:05, Andy Bierman wrote:
>>
>>
>>
>> On Tue, Jul 12, 2016 at 9:59 AM, Robert Wilton <rwilton@cisco.com> wrote:
>>
>>> Hi Andy,
>>>
>>> On 12/07/2016 17:17, Andy Bierman wrote:
>>>
>>>
>>>
>>> On Tue, Jul 12, 2016 at 8:23 AM, Lou Berger < <lberger@labn.net>
>>> lberger@labn.net> wrote:
>>>
>>>> Acee,
>>>>
>>>>     I personally was assuming we'd follow 3, but I'd like to understand
>>>> the implication of 2 as I'm not sure I really understand what you're
>>>> thinking here.  Can you elaborate what you're thinking here?
>>>>
>>>> Thanks,
>>>>
>>>> Lou
>>>> .....
>>>> >   3. #2 plus collapse the config (read-write) and  system-state
>>>> > (read-only) into common containers. No more branching of
>>>> > <model-name>-config and <model-name>-state at the top level of the
>>>> model.
>>>> >.....
>>>
>>>
>>>
>>> I would really like to understand what problem (3) is supposed to solve.
>>>
>>> My personal view is that I think that it makes the models simpler, with
>>> less duplication.
>>>
>>> E.g. I also see that it makes it easier for a client to fetch all of the
>>> information associated with a particular feature in a single sub tree
>>> rather that needing to merge data from two separate config & state sub
>>> trees.
>>>
>>>
>> This is your opinion.
>> I think separate makes it easier to read, especially if the monitoring
>> data
>> is relevant regardless of how associated configuration was done.
>>
>> This is easily achievable by filtering (e.g. only return config false
>> leaves + config true structural nodes).
>>
>>
>
> Filtering is not widely implemented or implemented correctly.
>
> IMO it is up to the data model designers how they want to organize their
> data.
> I have not heard any valid reasons why a generalized solution is even
> needed,
> let alone why separate config and state needs to be avoided.
>
>
> There is definitely value in having model conventions. One argument for
> collapsing the config and state is that once you have the implicit
> retrieval of the applied state, there is much less operational state that
> isn’t redundant.
>
>
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.

There is also requirement #4 in
> https://www.ietf.org/id/draft-ietf-netmod-opstate-reqs-04.txt. However, I
> know you’ve never been a fan of this document.
>
> Thanks,
> Acee
>
>
>
>
>
Andy


>
>
> Andy
>
>
>>
>>
>>
>>
>>>
>>> Most of the foo-state variables are for monitoring.
>>> This information is useful even if the server uses proprietary
>>> configuration mechanisms.
>>> (e.g., the way the SNMP world has worked for 30 years)
>>>
>>> I thought that it was config that was originally driving YANG because
>>> there is already a solution for state data (SNMP).  Hence, I would have
>>> thought that the most common case would be that YANG is used just for
>>> config, or config & state.  So, I think that it makes sense to optimize
>>> models for these scenarios.
>>>
>>
>>
>> This is marketing.
>> Do you have any technical arguments?
>>
>> Yes, I gave them below: I don't see that merging config and state
>> prevents entities from only monitoring state if they wish.
>>
>> Thanks,
>> Rob
>>
>>
>>
>>
>>>
>>>
>>> If you forbid separate monitoring subtrees and force the data to be
>>> co-located
>>> with configuration, that means the standard monitoring will not be
>>> supported
>>> unless the standard configuration is also supported.
>>>
>>> Both datastore draft solutions allow for system created config entries.
>>> So in both drafts the operational state datastore can instantiate whatever
>>> config nodes are necessary to parent config false state nodes.
>>>
>>> I also don't think that separate monitoring subtrees are going to be
>>> banned, they should be used where appropriate.  It is just that it will be
>>> no longer be required to have separate state subtrees purely because of
>>> potential differences in the lifetime of config vs state objects (e.g.
>>> interfaces vs interfaces-state).
>>>
>>> I would be very happy if "interfaces" and "interfaces-state" could be
>>> merged into "interfaces" as a new/updated interfaces YANG model that draft
>>> models could be updated to use.  I understand that would be a impactful
>>> change to make (but seemingly mostly on IETF models that haven't yet been
>>> standardized).  But I hope that we are going to have to live with the YANG
>>> model structure for a long time, and if we still have an opportunity to
>>> "fix" a fairly big wart then I think that it would be good to do so.
>>>
>>>
>> I can't say if the pre-provisioning model in ietf-interfaces should be
>> generalized.
>> I have not seen any good general solutions for combining config and state.
>>
>>
>>
>>
>>
>>> Rob
>>>
>>
>> Andy
>>
>>
>>>
>>>   Why is that progress?
>>>
>>>
>>> Andy
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> netmod mailing listnetmod@ietf.orghttps://www.ietf.org/mailman/listinfo/netmod
>>>
>>>
>>>
>>
>>
>