Re: [netmod] draft-bjorklund-netmod-structural-mount: Namespace issues

Martin Bjorklund <mbj@tail-f.com> Wed, 23 March 2016 21:01 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EC0412D566 for <netmod@ietfa.amsl.com>; Wed, 23 Mar 2016 14:01:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 opsLynAIUIvZ for <netmod@ietfa.amsl.com>; Wed, 23 Mar 2016 14:01:21 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 5668012D91B for <netmod@ietf.org>; Wed, 23 Mar 2016 14:01:17 -0700 (PDT)
Received: from localhost (h-53-58.a165.priv.bahnhof.se [46.59.53.58]) by mail.tail-f.com (Postfix) with ESMTPSA id 973391AE0385; Wed, 23 Mar 2016 22:01:16 +0100 (CET)
Date: Wed, 23 Mar 2016 22:01:16 +0100
Message-Id: <20160323.220116.2259282208531577772.mbj@tail-f.com>
To: lhotka@nic.cz
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <m2h9fxmd0i.fsf@birdie.labs.nic.cz>
References: <1458566013189.55874@pantheon.tech> <m2h9fxmd0i.fsf@birdie.labs.nic.cz>
X-Mailer: Mew version 6.5 on Emacs 24.3 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/rN4FMeBQVA8MeSVcyA7nKIgHFP4>
Cc: netmod@ietf.org
Subject: Re: [netmod] draft-bjorklund-netmod-structural-mount: Namespace issues
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 23 Mar 2016 21:01:23 -0000

Ladislav Lhotka <lhotka@nic.cz> wrote:
> Hi Anton,
> 
> Anton Tkáčik <anton.tkacik@pantheon.tech> writes:
> 
> > Hi,
> >
> > if I understand correctly netmod-structural-mount inlines "mounted" data directly to container / list which is used,
> >
> > which brings up following issues:
> >
> >
> > 1. It is possible to have identifier conflict between data from model
> > defining mount and mounted data (if mounted schema
> 
> I think we need to eliminate all kinds of recursive mount, so this
> should not happen. 
> 
> >
> > contains same model).
> >
> > e.g.
> >
> >       module mount-under-mount {
> >
> >              container mounts {
> >
> >                    list mount {
> >
> >                        key name;
> >
> >                        leaf name;
> >
> >                               container mounts {
> >
> >                                     // List of discovered remote mounts
> >
> >                               }
> >
> >                               mnt:mount-point data;
> >
> >                    }
> >
> >              }?
> >
> >       }
> >
> >
> > 2. Expanding data directly under container / list may be problematic
> > for clients which do not support netmod-structural-mount.
> 
> I don't think it can work if the client doesn't support the mount mechanism.
> 
> >
> >
> > I believe both can be solved elegantly by requiring mount-point
> > extension to be used inside anydata element, which signifies
> 
> This has been already discussed in the mailing list. IMO, the biggest
> problem of anydata (as it is currently defined, at least) is that it
> permits really anything, i.e. not only stuff contributed by the mounted
> modules.

The fact that anydata can represent "really anything" does not mean
that every server MUST allow the client to create "really anything"
for all anydata config nodes.  It will depend on the semantics of each
particular anydata node.

I think that using mount-point as a substatement to anydata is in fact
the only really safe option to mount.  Both the proposed solutions in
the current structural mount and ysdl drafts are unsafe for clients
that don't understand the mount.


/martin