Re: [Netconf] 4741bis -- :url capability issues

Phil Shafer <phil@juniper.net> Fri, 30 April 2010 14:54 UTC

Return-Path: <phil@juniper.net>
X-Original-To: netconf@core3.amsl.com
Delivered-To: netconf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E6CE33A69B9 for <netconf@core3.amsl.com>; Fri, 30 Apr 2010 07:54:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.999
X-Spam-Level:
X-Spam-Status: No, score=-3.999 tagged_above=-999 required=5 tests=[BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ImUI+uPC2CNT for <netconf@core3.amsl.com>; Fri, 30 Apr 2010 07:54:07 -0700 (PDT)
Received: from exprod7og127.obsmtp.com (exprod7og127.obsmtp.com [64.18.2.210]) by core3.amsl.com (Postfix) with ESMTP id 0A1EE3A695C for <netconf@ietf.org>; Fri, 30 Apr 2010 07:54:05 -0700 (PDT)
Received: from source ([66.129.224.36]) (using TLSv1) by exprod7ob127.postini.com ([64.18.6.12]) with SMTP ID DSNKS9ru/9hjyHVE6vBTjJ2DPYW5jRBddRxx@postini.com; Fri, 30 Apr 2010 07:53:53 PDT
Received: from p-emfe01-sac.jnpr.net (66.129.254.71) by P-EMHUB01-HQ.jnpr.net (172.24.192.35) with Microsoft SMTP Server id 8.1.436.0; Fri, 30 Apr 2010 07:51:10 -0700
Received: from p-emlb02-sac.jnpr.net ([66.129.254.47]) by p-emfe01-sac.jnpr.net with Microsoft SMTPSVC(6.0.3790.4675); Fri, 30 Apr 2010 07:51:10 -0700
Received: from emailsmtp56.jnpr.net ([172.24.60.77]) by p-emlb02-sac.jnpr.net with Microsoft SMTPSVC(6.0.3790.3959); Fri, 30 Apr 2010 07:51:09 -0700
Received: from magenta.juniper.net ([172.17.27.123]) by emailsmtp56.jnpr.net with Microsoft SMTPSVC(6.0.3790.4675); Fri, 30 Apr 2010 07:51:09 -0700
Received: from idle.juniper.net (idleski.juniper.net [172.25.4.26]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id o3UEp6D52474; Fri, 30 Apr 2010 07:51:06 -0700 (PDT) (envelope-from phil@juniper.net)
Received: from idle.juniper.net (localhost [127.0.0.1]) by idle.juniper.net (8.14.3/8.14.3) with ESMTP id o3UEY42M068686; Fri, 30 Apr 2010 14:34:04 GMT (envelope-from phil@idle.juniper.net)
Message-ID: <201004301434.o3UEY42M068686@idle.juniper.net>
To: andyb@iwl.com
In-Reply-To: <4BDA3FA5.4020306@iwl.com>
Date: Fri, 30 Apr 2010 10:34:04 -0400
From: Phil Shafer <phil@juniper.net>
X-OriginalArrivalTime: 30 Apr 2010 14:51:09.0418 (UTC) FILETIME=[91D7F4A0:01CAE874]
MIME-Version: 1.0
Content-Type: text/plain
Cc: NETCONF <netconf@ietf.org>
Subject: Re: [Netconf] 4741bis -- :url capability issues
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Fri, 30 Apr 2010 14:54:08 -0000

Andy Bierman writes:
>Hi,
>
>Here are more issues for 4741bis:
>
>1) :url as a source for <edit-config>
>   (Martin already raised this issue)
>
>         choice edit-content {
>           mandatory true;
>           anyxml config {
>             description
>               "Inline Config content: 'config' element.
>                This is not full 'anyxml' because the <config>
>                element cannot directly contain a text node.";
>           }

I may be missing something, but why can't I put text in <config>?
If my data model (which NETCONF doesn't care about) is text-based
config, can I not put that config directly in the <config> element?

>           leaf url {
>             if-feature url;
>             type inet:uri;
>           }
>         }
>
>   The edit-config operation allows <url> as a source,
>   but there is no explanation what the file has to contain.

The file contains data acceptable to the data model(s) supported
by the device.  You can say "go load that file" instead of putting
it inline with the <config> element.

>   Does it even have to be XML?

If should be any content that would be acceptable in a <config>
element.

>   There is no <get-config> support for a URL database,
>   so why should there be any partial database editing?

What's an "URL database"?

>   Since the URL file always represents a complete database,
>   there are no operations other than copy-config and delete-config
>   that apply to it.

You aren't editing an URL file, you are using a file as an alternative
to <config>.  That's why it's inside a "choice".

>2) There is no lock support at all for URL databases, so it is 
>   not even clear that copy and delete are properly supported.
>
>   Issue: Should <url> be allowed in <lock> and <unlock>
>   operations?

Again, what's an URL database?  This is a new concept not
currently in 4741.

>3) :url interoperability
>
>   It is not clear what a client application should expect
>   for any given scheme, or what schemes a server SHOULD
>   or even MAY support.
>
>   Issue: is the :url capability interoperable?
>   If not, what should be done about it?

Not sure I follow you here, but the scheme allows the server
to tell the client what it supports.  There is no SHOULD or
MUST, and MAY is pointless.

>   Current text:
>       Similarly, just because someone says "go write a configuration
>       through the URL capability at a particular place", this does not mean
>       that an element should do it without proper authorization.

s/element/device/

s/someone/a client/

>5) 'file' scheme
>
>   It is not clear whether:
>     - absolute path specs must be supported by the server
>     - the path-spec represents a conceptual file-system in 
>       the server, or the real file-system.
>     - sub-directories must be supported
>     - how many sub-directory levels deep are allowed
>     - other restrictions apply, such as naming, number of files, etc.
>     - if the internal mirrored NV-store is really a file,
>       whether this file is accessible via the <url> parameter.
>     - if the external :startup config is accessible via the <url> 
>       parameter.
>
>   Issue: are any guidelines needed for the 'file' scheme?
>   This is the most likely scheme to be supported by a server.

There are massive interoperability issues with "file:", but
clearly absolute paths are required (file:///), but that the
device need not allow direct access to its native file systems,
if any, so the device can use any file naming mechanism.  There
are no requirements in place re: directories, etc.  Given the
extreme range of networking gear, I'm not sure this is worth
diving into.

Thanks,
 Phil