Re: [netmod] FW: New Version Notification for draft-chairs-netmod-opstate-reqs-00.txt - REQ 6 clarification

Rob Shakir <rjs@rob.sh> Mon, 14 September 2015 14:17 UTC

Return-Path: <rjs@rob.sh>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AD1AB1A87BE for <netmod@ietfa.amsl.com>; Mon, 14 Sep 2015 07:17:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 JDc9kL62x61r for <netmod@ietfa.amsl.com>; Mon, 14 Sep 2015 07:16:59 -0700 (PDT)
Received: from cappuccino.rob.sh (cappuccino.rob.sh [IPv6:2a03:9800:10:4c::cafe:b00c]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7AC4F1A87AE for <netmod@ietf.org>; Mon, 14 Sep 2015 07:16:58 -0700 (PDT)
Received: from [70.30.123.113] (helo=piccolo.local) by cappuccino.rob.sh with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <rjs@rob.sh>) id 1ZbUYg-0005Mh-R7; Mon, 14 Sep 2015 15:16:38 +0100
Date: Mon, 14 Sep 2015 10:16:51 -0400
From: Rob Shakir <rjs@rob.sh>
To: "netmod@ietf.org" <netmod@ietf.org>, Benoit Claise <bclaise@cisco.com>, Kent Watsen <kwatsen@juniper.net>
Message-ID: <etPan.55f6d6d3.658f624c.2cf7@piccolo.local>
In-Reply-To: <55F6C0EE.4010404@cisco.com>
References: <20150911213636.11309.79529.idtracker@ietfa.amsl.com> <D218C74A.D7BAC%kwatsen@juniper.net> <55F6C0EE.4010404@cisco.com>
X-Mailer: Airmail Beta (324)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/hoNWh_3QezXaMa9uJgYSKIvIGl8>
Subject: Re: [netmod] FW: New Version Notification for draft-chairs-netmod-opstate-reqs-00.txt - REQ 6 clarification
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 14 Sep 2015 14:17:01 -0000

On 14 September 2015 at 08:43:53, Benoit Claise (bclaise@cisco.com) wrote:

> Re-reading this section 4.5, I understand 6A and 6C, but is 6B also
> required?
> Do we need to make the link between a config node and all the derived
> counters/statistics it influences, which might be in different YANG
> models btw?

Yes - we need to deterministically retrieve, for a particular configuration object (e.g., interface, BGP peer) the set set of derived state nodes associated with it, such that we do not need to maintain complex mapping tables on the client side for this - and can efficiently query the server for them.

For instance, knowing that we configured a BGP peer at $SOMEROOT/bgp/neighbors/neighbor[peer-address=‘192.0.2.1’]/config/{leaf-set} then we would find the counters at $SOMEROOT/bgp/neighbors/neighbor[peer-address=‘192.0.2.1’]/state/ - allows us to (based on the fact that we just configured a peer) retrieve the state and counters that a client application will likely want to check without having to map to some other (set of locations).

Note that in previous discussions, it was expressed that this implied that the model had knowledge of how the protocol operates such that it was known that leaf A corresponding to some other derived-state leaf B. However, this isn’t true. As I expressed before, the intention is that it is possible for a NMS layer to easily retrieve the set of state objects that an interested client may require, without many disparate queries, based on the configuration path. The actual meaning may be completely unknown to this layer.

The openconfig-opstate approach allows state and config to be defined in separate modules - since the ‘state’ module in this case can simply augment the relevant ‘state’ containers within the config model.

Regards,
r.