Re: [Netconf] quick comment on NETCONF Light draft

Andy Bierman <andy@netconfcentral.org> Thu, 19 January 2012 08:37 UTC

Return-Path: <andy@netconfcentral.org>
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 05F4221F846E for <netconf@ietfa.amsl.com>; Thu, 19 Jan 2012 00:37:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.557
X-Spam-Level:
X-Spam-Status: No, score=-2.557 tagged_above=-999 required=5 tests=[AWL=0.042, BAYES_00=-2.599]
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 uMm8e6xi8vFi for <netconf@ietfa.amsl.com>; Thu, 19 Jan 2012 00:37:37 -0800 (PST)
Received: from omr14.networksolutionsemail.com (omr14.networksolutionsemail.com [205.178.146.64]) by ietfa.amsl.com (Postfix) with ESMTP id 07DE121F86C4 for <netconf@ietf.org>; Thu, 19 Jan 2012 00:37:36 -0800 (PST)
Received: from cm-omr2 (mail.networksolutionsemail.com [205.178.146.50]) by omr14.networksolutionsemail.com (8.13.8/8.13.8) with ESMTP id q0J8bXCU020822 for <netconf@ietf.org>; Thu, 19 Jan 2012 03:37:33 -0500
Authentication-Results: cm-omr2 smtp.user=andy@andybierman.com; auth=pass (PLAIN)
X-Authenticated-UID: andy@andybierman.com
Received: from [75.84.164.152] ([75.84.164.152:59176] helo=[192.168.0.9]) by cm-omr2 (envelope-from <andy@netconfcentral.org>) (ecelerity 2.2.2.41 r(31179/31189)) with ESMTPA id D3/02-15882-D46D71F4; Thu, 19 Jan 2012 03:37:33 -0500
Message-ID: <4F17D64D.2050701@netconfcentral.org>
Date: Thu, 19 Jan 2012 00:37:33 -0800
From: Andy Bierman <andy@netconfcentral.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111124 Thunderbird/8.0
MIME-Version: 1.0
To: NETCONF <netconf@ietf.org>
References: <4F17662E.3010209@netconfcentral.org> <20120119074356.GA31476@elstar.local>
In-Reply-To: <20120119074356.GA31476@elstar.local>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [Netconf] quick comment on NETCONF Light draft
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: Thu, 19 Jan 2012 08:37:38 -0000

On 01/18/2012 11:43 PM, Juergen Schoenwaelder wrote:
> On Wed, Jan 18, 2012 at 04:39:10PM -0800, Andy Bierman wrote:
>> Hi,
>>
>> I was looking over this draft:
>>
>> http://www.ietf.org/id/draft-schoenw-netconf-light-01.txt
>>
>> I can agree with the problem statement:
>> There is a need for a constrained server which supports a limited subset of NETCONF operations.
>>
>> I don't agree with the solution, since it is not backward-compatible with
>> any version of NETCONF.  A base:1.0 or base:1.1 peer will simply terminate
>> the session when a NETCONF Light peer does not advertise either of these capabilities.
>
> And this is correct. A NETCONF Light server does not implement
> base:1.0 nor base:1.1 - so announcing it would be bad.
>
>> YANG deviations can be used to fully describe the operations subset
>> that a server implements, and this is backward-compatible with the
>> current version of NETCONF.
>
> There are two concerns with this:
>
> 1) YANG says deviations can't be standardized:
>
>     Deviations define the way a device or class of devices deviate from a
>     standard.  This means that deviations MUST never be part of a
>     published standard, since they are the mechanism for learning how
>     implementations vary from the standards.
>

The purpose of deviations is to describe to the client what details in the API
are different than the 'contract'.  YANG deviations are designed and included in the standard
for exactly the purpose that a NETCONF light server needs.

> 2) Can we reasonably expect all client implementations, including
>     scripts, to handle deviations correctly? If not, announcing the
>     base:1.x with deviations will likely lead dumb clients to assume
>     the server speaks NETCONF while it does not. By using a different
>     capability, it is explicit from the start that the device
>     implements NETCONF Lite.
>

Yes, we can expect clients that implement YANG correctly to understand deviations.

IMO this 'light' solution is a hack -- a client would be better off ignoring all of this
and just going by the operation-not-supported errors it gets back.
A new client would have to be coded to look for the special new URI
instead of the old ones, then apply the features from the fake 'light' module
to the ietf-netconf module, and use the ietf-netconf module XML namespace as well.

Or, an existing client could ignore all the deviations and URIs
and just attempt operations to see if they worked.

> I believe it is more robust to use a different capability + features
> than using the NETCONF base:1.1 capability + deviations.
>

IMO, robust would be if the solution did not break with existing versions of the standard.
A non-backward-compatible solution is not robust at all.


> /js
>

Andy