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

Robert Wilton <rwilton@cisco.com> Wed, 13 July 2016 17:12 UTC

Return-Path: <rwilton@cisco.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 8F45D12D15A for <netmod@ietfa.amsl.com>; Wed, 13 Jul 2016 10:12:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.807
X-Spam-Level:
X-Spam-Status: No, score=-15.807 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.287, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 BHWlvYDaktKc for <netmod@ietfa.amsl.com>; Wed, 13 Jul 2016 10:12:42 -0700 (PDT)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96D9E12D13D for <netmod@ietf.org>; Wed, 13 Jul 2016 10:12:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18940; q=dns/txt; s=iport; t=1468429961; x=1469639561; h=subject:to:references:cc:from:message-id:date: mime-version:in-reply-to; bh=GmCdPJgVWPr+bO5RKUS9bwV1YNzLtFogVb+nRGtRqQ8=; b=Q2FVVs55qstrI0dQRB4RmSYkQzP5Gm1wtUs9MYCAzZkJWy2RJU1/Uk8V j+wGjfNvP3lDJmAqvK1Xh+K0cHTF8TFYCdxBlnWJUu0fSguk3DdF3Ydrh XrmpM1GMGkrQVs6HKGZm/1K2RQcWQCiAaUA9K2msWK5m7aAxngD//P86I 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BjCwDFdYZX/xbLJq1bgnCBJCpSumMihSxKAoF6AQEBAQEBZieEXAEBBAEBASFLCwULCxEEAQEBJwMCAicfCQgGDQYCAQEXiA0IDrF3jnwBAQEBAQEBAQEBAQEBAQEBAQEBAQEXBYYqgXiCVYQTEQEGHi6CS4JaBYgchWuLFY5XgWuHZCOFPZAXVINyOzKHdQ0XB4EXAQEB
X-IronPort-AV: E=Sophos;i="5.28,358,1464652800"; d="scan'208,217";a="638539138"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Jul 2016 17:12:38 +0000
Received: from [10.63.23.50] (dhcp-ensft1-uk-vla370-10-63-23-50.cisco.com [10.63.23.50]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id u6DHCci8011712; Wed, 13 Jul 2016 17:12:38 GMT
To: Andy Bierman <andy@yumaworks.com>
References: <D3A935F0.6A4DC%acee@cisco.com> <02b5661f-22e0-6ccc-89d2-ef0370c4e87c@labn.net> <CABCOCHSH5wC3-VbAF6tXOc+3tSxpC3a0MA23YEkUFEBojoo25w@mail.gmail.com> <1468403388400.60799@Aviatnet.com> <71cc8992-5422-0acb-4152-c72fd80e141d@cisco.com> <CABCOCHQmfHTo1G60vRqh6E5o3CwC2Dbn7Vps04DKJsXnchj3+w@mail.gmail.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <28f6da67-a8a2-1eff-413f-90076446c31f@cisco.com>
Date: Wed, 13 Jul 2016 18:12:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1
MIME-Version: 1.0
In-Reply-To: <CABCOCHQmfHTo1G60vRqh6E5o3CwC2Dbn7Vps04DKJsXnchj3+w@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------BB3E1230707301DAAFB3D358"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/QRmrTqRxh2KwMuTjX3pgXM3LDpw>
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: Wed, 13 Jul 2016 17:12:44 -0000


On 13/07/2016 17:27, Andy Bierman wrote:
>
>
> On Wed, Jul 13, 2016 at 3:04 AM, Robert Wilton <rwilton@cisco.com 
> <mailto:rwilton@cisco.com>> wrote:
>
>     Hi Alex,
>
>
>     What you describe is close, but not quite what either of the two
>     datastore solutions are proposing.
>
>     In this case, the two solutions in both proposed drafts would contain:
>       - intended config doesn't contain the list entries
>       - applied config doesn't contain the list entries
>       - operational state datastore contains the system created
>     (config true) list entries + descendant config false nodes.
>
>     The reason why these system created entries are not in the applied
>     configuration is because of the requirement from
>     draft-ietf-netmod-opstate-reqs state that "intended config" =
>     "applied config" if the system has converged and all configuration
>     has been successfully applied.
>
>     But, yes, the reason for allowing system created config true
>     entries in the operational state datastore is to solve this problem.
>
>
>
>
> I do not agree with Alex that config=true can mean "no client can ever 
> set this value".
> It can only if NACM is configured to disable client write access.
RW:
I agree with you, but I didn't read Alex's email as stating that.

Instead, I read it as: even if a device doesn't allow the nodes to be 
configured then they could still be populated by the device in the 
applied configuration datastore.


> I understand how one might want to use server-created values in 
> validation rules
> but YANG does not support that right now (for config=false).
>
> The line between server-created config and operational state is 
> confusing at best.
RW:

Yes, OK.  That is perhaps because they are not completely related.

The original OpenConfig opstate draft also asked for a solution to what 
they perceived as an unnecessary split between "feature" vs "feature-state".

When discussing the datastore solutions it became clear that having a 
formal definition of an "operational state datastore" also allowed for a 
solution to the problem above.  Specifically by allowing the operational 
state datastore to contain any necessary config true leaves (even if 
they have not been configured) that are required to hold any descendant 
config false leaves.

To cite an example:

If the schema content of if:interfaces-state was merged into the schema 
for if:interfaces then the "operational state datastore" of a device 
would be allowed to contain entries in the if:interfaces list for 
interfaces that exist in the system but have not been configured.

As a side note, the metadata draft that I've put forward then suggests 
to use metadata annotations of these system created entries in the 
"operational state datastore" to allow clients to distinguish between 
config true entries that exist because they are applied configuration, 
vs config true entries that exist because they are system created.

Rob



>
>
>
>
>     Rob
>
>
>
> Andy
>
>
>     On 13/07/2016 10:49, Alex Campbell wrote:
>>     Isn't that exactly what the proposed applied configuration
>>     datastore is for?
>>     If a device doesn't allow management stations to create or remove
>>     list entries, but still creates or removes list entries itself,
>>     then it can publish them through the applied configuration
>>     datastore, while leaving the intended configuration datastore
>>     empty. Operational data can be contained inside those list
>>     entries which exist in the applied configuration store, instead
>>     of needing a separate tree to contain it.
>>
>>     - Alex
>>
>>
>>
>>
>>     ------------------------------------------------------------------------
>>     *From:* netmod <netmod-bounces@ietf.org>
>>     <mailto:netmod-bounces@ietf.org> on behalf of Andy Bierman
>>     <andy@yumaworks.com> <mailto:andy@yumaworks.com>
>>     *Sent:* Wednesday, 13 July 2016 4:17 a.m.
>>     *To:* Lou Berger
>>     *Cc:* netmod WG
>>     *Subject:* Re: [netmod] OpsState Direction Impact on Recommended
>>     IETF YANG Model Structure
>>
>>
>>     On Tue, Jul 12, 2016 at 8:23 AM, Lou Berger <lberger@labn.net
>>     <mailto: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.
>>
>>     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)
>>
>>     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.  Why is that
>>     progress?
>>
>>
>>     Andy
>>
>>
>>
>>
>>
>>     _______________________________________________
>>     netmod mailing list
>>     netmod@ietf.org <mailto:netmod@ietf.org>
>>     https://www.ietf.org/mailman/listinfo/netmod
>
>