Re: [i2rs] modeling options for draft-ietf-i2rs-yang-network-topo

Martin Bjorklund <mbj@tail-f.com> Thu, 16 March 2017 08:17 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54C07127076 for <i2rs@ietfa.amsl.com>; Thu, 16 Mar 2017 01:17:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 ZtOkg9Ljq7Sx for <i2rs@ietfa.amsl.com>; Thu, 16 Mar 2017 01:17:47 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 58AE11250B8 for <i2rs@ietf.org>; Thu, 16 Mar 2017 01:17:47 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 486CE1AE0332; Thu, 16 Mar 2017 09:17:45 +0100 (CET)
Date: Thu, 16 Mar 2017 09:17:50 +0100
Message-Id: <20170316.091750.1171910884753078345.mbj@tail-f.com>
To: kwatsen@juniper.net
Cc: xufeng.liu.ietf@gmail.com, i2rs@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <36B6098C-84A9-480C-AF83-1EF04E18E50F@juniper.net>
References: <20170216.221949.1797970554181706414.mbj@tail-f.com> <9B5F937A-346D-429A-9E9C-1D453BED83B3@juniper.net> <36B6098C-84A9-480C-AF83-1EF04E18E50F@juniper.net>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/i2rs/Rld_uXGO6O4EIkqddAszeLc6TgU>
Subject: Re: [i2rs] modeling options for draft-ietf-i2rs-yang-network-topo
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Mar 2017 08:17:49 -0000

Hi,

So this new option 3 tries to fast-track what's being done in
draft-ietf-netmod-revised-datastores.  It has to solve many of the
issues that we face in that draft.  It is not clear to me that this
will produce a result that (i) is completed much faster than that
draft and (ii) is guaranteed to be compatible with the solution in
that draft.

So I still think that option 1 is the best way forward (unless this
draft can wait for the generic solution in
draft-ietf-netmod-revised-datastores).


/martin


Kent Watsen <kwatsen@juniper.net> wrote:
> Hi Martin,
> 
> Speaking with the authors offline late last week, this discussion
> regarding OPTION-2 came up, and I mentioned again my concerns for
> CON 'c':
> 
>   c) unable to return the opstate value for any configured node
>  
> ...to which the Xufeng suggested we take your idea to heart.
> Specifically, rather than augment <get-config>, let's look-ahead and
> use the opstate <get-data> RPC (including the 'origin' attribute) 
> now.  This way, <get-config> would return the configured value, while
> <get-data> could return the applied value, as well as the system
> generated/learned topology.  So, as in previous fashion, I formally
> submit OPTION 3:
> 
> 
> 
> OPTION 3: use new RPC <get-topo-data>, which is just like <get-data>
> --------------------------------------------------------------------
> 
> This option defines a new RPC called <get-topo-data> that is fashioned
> directly after the <get-data> RPC from the revised-datastores draft.
> The RPC is renamed for fear of conflicting with any possible future
> changes that may occur to the planned <get-data> RPC.  The <get-topo-data> RPC would take an optional 'with-origin-data' selector to return the
> 'origin' attribute.
> 
> PROS:
>   a) does NOT break legacy clients (how we got here).
>   b) ability to return the opstate value for any configured node.
>   c) minimal rewrite of the module for revised-datastores solution.
> 
> CONS:
>   a) seems like a shady thing for an IETF module to do.
>   b) would need to resolve other issues (e.g., how to support with
>      RESTCONF), which makes the draft quite a bit more than just
>      a module draft.
>   c) requires server to support metadata, which is a relatively
>      new concept and maybe not well supported by servers.
> 
> 
> Thanks,
> Kent
> 
> 
> 
> -------ORIGINAL MESSAGE-------
> >>>> 2) It doesn't say anything about how the opstate data is stored on the
> >>>>    server.  The opstate data is not modeled at all.  This approach
> >>>>    only defines a presentation-layer format for how opstate data can
> >>>>    be returned via an RPC.  The server is free to persist the opstate
> >>>>    data anyway it wants, perhaps in an internal datastore called
> >>>>    'operational-state' or in an uber-datastore with the opstate data
> >>>>    flagged with a datastore='oper-state' attribute.  Regardless, it's
> >>>>    an implementation detail, and the conceptual datastore model is
> >>>>    preserved.
> >>> 
> >>> You are essentially defining a new operation, but do it by modifying the
> >>> semantics of an existing one.  I don't think this is a good idea; it is
> >>> better to define a new rpc.
> >> 
> >> [Xufeng] Is using a new rpc is acceptable? If so, this could be a viable
> >> option.
> >
> >The draft-ietf-netmod-revised-datastores proposes a new rpc (maybe
> ><get-data>) to return data from the new operational-state datastore.
> >This is IMO better than adding opstate nodes to the reply to a
> ><get-config> request.
> 
> 
> Martin,
> 
> Going back your earlier "better to define a new rpc" comment, I fail to
> see how this proposal is significantly different than RFC 6243.
> 
> If not this, then the new RPC would be something like <get-config-ex>
> more than the planned <get-data>, as the goal is to return 'running'
> + "some opstate" (not just opstate).
> 
> Still, in looking the the pros/cons, Option 1 appears stronger - only
> the authors don't like the idea of having to rewrite their models
> later...
> 
> Kent
> 
> 
> 
> 
> 
> _______________________________________________
> i2rs mailing list
> i2rs@ietf.org
> https://www.ietf.org/mailman/listinfo/i2rs
> 
>