Re: [Netconf] Netconf Light or Netconf for constrained devices

Kent Watsen <kwatsen@juniper.net> Tue, 03 April 2012 20:22 UTC

Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9755211E81D7 for <netconf@ietfa.amsl.com>; Tue, 3 Apr 2012 13:22:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GH0HSQaYuOxb for <netconf@ietfa.amsl.com>; Tue, 3 Apr 2012 13:22:26 -0700 (PDT)
Received: from exprod7og107.obsmtp.com (exprod7og107.obsmtp.com [64.18.2.167]) by ietfa.amsl.com (Postfix) with ESMTP id E27EF11E81DD for <netconf@ietf.org>; Tue, 3 Apr 2012 13:22:25 -0700 (PDT)
Received: from P-EMHUB02-HQ.jnpr.net ([66.129.224.36]) (using TLSv1) by exprod7ob107.postini.com ([64.18.6.12]) with SMTP ID DSNKT3tcAOQD36WbN3HDwf/zcqkKLJ1DKoAm@postini.com; Tue, 03 Apr 2012 13:22:25 PDT
Received: from EMBX01-HQ.jnpr.net ([fe80::c821:7c81:f21f:8bc7]) by P-EMHUB02-HQ.jnpr.net ([fe80::88f9:77fd:dfc:4d51%11]) with mapi; Tue, 3 Apr 2012 13:22:21 -0700
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@netconfcentral.org>, "netconf@ietf.org" <netconf@ietf.org>
Date: Tue, 03 Apr 2012 13:22:13 -0700
Thread-Topic: [Netconf] Netconf Light or Netconf for constrained devices
Thread-Index: Ac0RhRMTz41ncoBMTM+65WxLLJxIGQAKMYqg
Message-ID: <84600D05C20FF943918238042D7670FD48C0724606@EMBX01-HQ.jnpr.net>
References: <B9468E58D6A0A84AAD66FE4E694BEABB49CA8C16@ucolhp4j.easf.csd.disa.mil><4F765A4F.3040805@netconfcentral.org><20120331051538.GB70150@elstar.local><4F76AA02.4030401@netconfcentral.org><20120331093809.GB70620@elstar.local><4F7701F9.7020802@netconfcentral.org><20120331142936.GA71199@elstar.local> <4F776898.9060904@netconfcentral.org> <83C941F7F59F3F42AC017AD1E650546206952E1E@GDUKADH850.uk1.r-org.net> <4F7AD1B9.3050009@netconfcentral.org>
In-Reply-To: <4F7AD1B9.3050009@netconfcentral.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [Netconf] Netconf Light or Netconf for constrained devices
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/netconf>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Apr 2012 20:22:32 -0000

[back from vacation, which is why I've been MIA for the last week]



Andy writes:
>
>On 04/03/2012 02:29 AM, Jonathan.Hansford@generaldynamics.uk.com wrote:
>> For someone recently coming to NETCONF, I would have thought constrained
>> devices would include some or all of the following characteristics:
>>
>> * During development, prior to release, it would be good to
>> incrementally add NETCONF functionality without the need to add
>> deviation statements
>
> This is the only use case I find puzzling.
> In my experience, internal server releases to the NMS developers
> never use deviations.  Partial functionality is often delivered,
> but its scope and limitations are communicated out of band. (e.g., email).


We have learned the hard way that communicating limitations "out of band" doesn't work.  It's too easy for stuff to fall through cracks, and the cruft that builds up over time becomes unbearable to maintain, but the worst for us is that the hacks cannot be supported without a corresponding release of the NMS software, which is unacceptable in some customer environments [this is the same reason "deviations" are a non-starter for us].


Pushing forwards, there appear that there are two distinct concerns:

  1) a definition of "constrained"
  2) if "netconf-zero" plus features is viable


Looking at these in turn:

  1) what is "constrained"? - Juergen's impetus for the draft was
     to support physically constrained devices.  Realizing that the 
     solution to Juergen's concern overlapped with the solution 
     needed to support my "non-technical" issues, I raised
     it at IETF'79.  Mehmet and Juergen agreed and we added it.

     My feelings are that the draft is still too focused on "physical
     constraints", when maybe the focus should be turned around to 
     look at the limitations of the NETCONF protocol itself.  I
     wouldn't say NETCONF is "constrained", it's "constraining".  IMO,
     looking for a definition of a "constrained device" is barking
     up the wrong tree.


  2. is "netconf-zero + features" a viable strategy?  You know, my
     original thought was to just allow "<get-config> without subtree
     filtering".  Jeurgen's idea was to have <get>, <close-session>,
     and <kill-session>.  Then, on Jan 21, you wrote (in a PM) that
     "<copy-config>, <get-config> w/o filters, and <close-session>"
     plus correct <hello> message would suffice, but now I see you've
     added <edit-config>, <lock>, and <unlock>.  A lot of variance,
     perhaps illustrating a zero-based makes sense afterall...? 

     As mentioned above, I originally thought to just have <get-config>,
     since it seemed all other NETCONF operations depended on it, but I
     now believe it's better this way, per -01, section 2.2, BP #1;
     which I contend *is* "relevant to IETF", since NETCONF defined
     the extensibility mechanism in the first place.  Think of it as
     a sign of success, as we wouldn't have picked NETCONF otherwise ;)

     But the question to ask might be, what difference does it make if
     "light" starts with netconf-zero?  Surely it's better for the devices,
     and it's not like the NMSs are going to implement any less NETCONF,
     as they're going to need it all to interoperate with other devices.
     So, again, what difference does it really make?


FWIW, as mentioned before, my company has been developing a *data-driven* NMS app for almost 7 years now.  The app is designed to manage our entire product line while never closing the door towards going "multi-vendor" someday - while my company is a "vendor", our NMS is developed in the same way that you'd expect from a 3rd-party developer.  Our NMS implements device-adapters so that it can communicate NETCONF to devices that don't support it natively.  We've worked with a number of OEM partners who already had "NETCONF" implemented, only to discover that it didn't implement half the operations or some incorrectly, and yet our NMS still has to manage the OEM-ed device.  Trust me, this isn't just the "device team is lazy" - there is much more in the way.  This draft has the potential to resolve many real-world issues for us.


PS: And I thought we'd reached the end of this discussion when you wrote:

  "I don't think there is enough standards value in this draft
   to be worth implementing, but I'll shut up now since others
   appear to want to implement it."

   http://www.ietf.org/mail-archive/web/netconf/current/msg07356.html





Thanks,
Kent