Re: [netmod] YANG coordination feedback on draft-openconfig-netmod-opstate-01

Robert Wilton <rwilton@cisco.com> Mon, 14 September 2015 11:03 UTC

Return-Path: <rwilton@cisco.com>
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 33FC41B3EC8 for <netmod@ietfa.amsl.com>; Mon, 14 Sep 2015 04:03:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 Hh6SxjbHHmEj for <netmod@ietfa.amsl.com>; Mon, 14 Sep 2015 04:03:42 -0700 (PDT)
Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A090C1B3B00 for <netmod@ietf.org>; Mon, 14 Sep 2015 04:03:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=20045; q=dns/txt; s=iport; t=1442228621; x=1443438221; h=subject:to:references:cc:from:message-id:date: mime-version:in-reply-to; bh=CvSYSY3P9c0BCFheNG1+/1DouwKfDZwdLiymQrFFHe8=; b=Zb9TZLHvoPhgogqofSi9BTyRO+pZELPWsp2NfESB7ZH0tD37WTuvje8+ /4rj5X0dqewQMWDw89P69ZunEMfzfHu8s7ZONMFBrPJ3841Jqoj05c3Pn xNZqGMdvvBaTe+G76fUqCMx3boC86VPA0udmtGYfH/02YHtPxD9Tt0OJM I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ChBADKqPZV/xbLJq1TCoN3ab83AQmFL0oCggIBAQEBAQGBC4QjAQEBAwEBAQFrCgEFCwsYCRYIBwkDAgECAQ8GHxEGAQwGAgEBF4d+AwoIDcR9DYRtAQEBAQEBAQEBAQEBAQEBAQEBAQEBEwSGc4R9glCBYBJLB4QsBZI0gyOHNoNbgW2IfYpFhzxjghEcgVU9M4p9AQEB
X-IronPort-AV: E=Sophos;i="5.17,527,1437436800"; d="scan'208,217";a="605108777"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Sep 2015 11:03:39 +0000
Received: from [10.63.23.86] (dhcp-ensft1-uk-vla370-10-63-23-86.cisco.com [10.63.23.86]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id t8EB3dhf026951; Mon, 14 Sep 2015 11:03:39 GMT
To: Andy Bierman <andy@yumaworks.com>, Martin Bjorklund <mbj@tail-f.com>
References: <8EB9E89D-7955-4B00-9910-2DADE4CEFFF4@cisco.com> <50F53BDE-0B2A-4FBB-BA0C-F05A752AFBA1@gmail.com> <15E410A7-B372-4889-B0ED-4613F3C2FA5B@gmail.com> <20150911.093846.709202940600841233.mbj@tail-f.com> <CABCOCHSwNnMMP1rXBxK4BU77p0ufOXWbf9Bg12CYY=V3wfjh8g@mail.gmail.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <55F6A98B.3030509@cisco.com>
Date: Mon, 14 Sep 2015 12:03:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0
MIME-Version: 1.0
In-Reply-To: <CABCOCHSwNnMMP1rXBxK4BU77p0ufOXWbf9Bg12CYY=V3wfjh8g@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------050307050900060300010108"
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/n6rKONwmdGWLZsUWlEyZ2ml1kY0>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Subject: Re: [netmod] YANG coordination feedback on draft-openconfig-netmod-opstate-01
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 11:03:50 -0000

Hi Andy,

On 11/09/2015 17:42, Andy Bierman wrote:
>
>
> On Fri, Sep 11, 2015 at 12:38 AM, Martin Bjorklund <mbj@tail-f.com 
> <mailto:mbj@tail-f.com>> wrote:
>
>     Sam Aldrin <aldrin.ietf@gmail.com <mailto:aldrin.ietf@gmail.com>>
>     wrote:
>     >
>     > > On Sep 10, 2015, at 4:13 PM, Mahesh Jethanandani
>     > > <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> wrote:
>     > >
>     > >
>     > >> On Sep 10, 2015, at 12:43 PM, Carl Moberg (camoberg)
>     > >> <camoberg@cisco.com <mailto:camoberg@cisco.com>
>     <mailto:camoberg@cisco.com <mailto:camoberg@cisco.com>>> wrote:
>     > >>
>     > >> Now, think about configuration parameters that have applied
>     > >> configuration located in more than one place. Let’s say you
>     change the
>     > >> IP address of an interface, it is likely that this
>     configuration will
>     > >> be passed around as input to a handful of subsystems (e.g.
>     the DHCP
>     > >> server, some routing daemons that may bind to specific IP
>     > >> addresses). Is the intended and applied in sync when a
>     specific subset
>     > >> of those configurations are updated. What happens if there’s
>     a partial
>     > >> failure?
>     > >
>     > > This is a good example. Another example, and somebody on the call
>     > > today started to ask this but got cut off, relates to
>     interfaces on
>     > > the device.
>     > >
>     > > Interfaces already exist on a system. As such they have a
>     > > configuration (default values) that exists on them. They are
>     enabled
>     > > when configuration gets applied on them. They will have applied
>     > > configuration but no intended configuration. Should this be
>     reported?
>     > >
>     > > Yet another example is of a BFD session that gets bootstrapped
>     because
>     > > of a ping. There is no intended configuration, but the session
>     exists
>     > > and a query of configuration in this case would return a valid BFD
>     > > session.
>     > >
>     > > Could we get some clarification (with examples, preferably) on
>     what
>     > > the expectation is from a openconfig opstate perspective?
>     >
>     > Section 7 of draft-openconfig-netmod-opstate talks about
>     > that. Specifically, #3 talks about the interface question you
>     raise..
>
>     I think it is important that we understand how this 'applied config'
>     is supposed to be populated on a device.
>
>     First it was said that it there is just one way they can be different;
>     time (on async systems).  After some discussion I think there are now
>     four ways:
>
>
>
> IMO it would help to think just a bit about the operational aspects
> of these issues.
>
> There are at least 2 outcomes I can think of:
>
>   Outcome 1) Convergence:
>   Intended config eventually matches Applied
>
>   Outcome 2) Non-convergence:
>   Intended config is not going to become Applied
>
> A system needs to decide if/when outcome 2 has occurred.
> When is a fault raised because convergence is not happening?

I think that this same issue exists for a servers handling a sync config 
commit as well.  Presumably these would also block forever or require 
some timeout to determine (2)?


> There are probably other uses for all this extra meta-data.
>
> So how do these 4 types of differences relate to these outcomes?
>
>       1.  Time (in async systems).
>
>
> Obviously the main use-case.
> Nothing in any solution proposal helps the client  decide Outcome 2 
> has occurred.
> That is out of scope I guess.
>
> For most systems, this time delta will be too short to worry about ( < 
> 5 sec.)
> A good solution would not impact this vast majority of servers.
>
>
>
>
>       2.  Hardware.  If something is in intended config but there is no hw
>           present, it is not in applied.
>
>
> This is usually handled with a notification that the line-card was 
> plugged in, which
> causes the NMS to re-check the config.  The solution proposal assumes 
> the server
> can identify all the resources or other reasons that some specific 
> leaf is not applied yet.
> This seems very complicated to implement in the server.
>
>
>
>       3.  System-controlled stuff.  If the system auto-creates an
>           interface (for example), it will be in the applied config but
>           not in intended.
>
>
>
> There is no convergence here because this is a case where applied has 
> more than intended,
> not the other way around.
>
>
>
>       4.  "Template substitution"; the draft uses the example of an 'all'
>           interface that exists in intended config but not in applied.
>
>
> There is no convergence here because the template is not supposed to 
> show up in Applied.
> However it is worth noting than none of the proposals solve this problem.
> The Intended and Applied will never match.  The NMS must understand
> how the specific template works to know what actual instances are 
> expected in Applied.

Yes, and this is why I am suggest that templating shouldn't be part of 
applied cfg.  It looks like templating only turns up in section 7 of 
openconfig-netmod-opstate-01 rather than being listed in section 4 on 
requirements.

If support for generic YANG templating is required, then I would suggest 
that should be considered separately from the current opstate draft.

Thanks,
Rob


>
>
>     Then Lada brought up the example of ip addresses.  It was mentioned
>     on the call that for ip addresses there would be three lists; one for
>     intended, one for applied, and one in derived state, where the one in
>     derived state is what the box *really* uses.  So for example if it
>     gets an ip from dhcp, it will be in the derived state list, but not in
>     applied config.
>
>     Why is this ip-address list different from the interface list?  Why
>     was it enough with two lists for interfaces, but we need three for ip
>     addresses?
>
>
>     /martin
>
>
>
> Andy
>
>     _______________________________________________
>     netmod mailing list
>     netmod@ietf.org <mailto:netmod@ietf.org>
>     https://www.ietf.org/mailman/listinfo/netmod
>
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod