Re: [netmod] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)

Andy Bierman <andy@yumaworks.com> Wed, 17 June 2015 15:13 UTC

Return-Path: <andy@yumaworks.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 D73591ACEE0 for <netmod@ietfa.amsl.com>; Wed, 17 Jun 2015 08:13:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] 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 kdYbr_jTZF76 for <netmod@ietfa.amsl.com>; Wed, 17 Jun 2015 08:13:32 -0700 (PDT)
Received: from mail-la0-f53.google.com (mail-la0-f53.google.com [209.85.215.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E89851ACE9F for <netmod@ietf.org>; Wed, 17 Jun 2015 08:13:31 -0700 (PDT)
Received: by labbc20 with SMTP id bc20so35347724lab.1 for <netmod@ietf.org>; Wed, 17 Jun 2015 08:13:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=dPZTTD7Ob401o5LomsoVIjf9zzCpqWpDlmlmyaqjLzU=; b=TunrU6jZxn6zs+80bokWrko44hx8LzoIm34rYtX0TtJjVUkeRmKOMGQ43Ch6uHbSiw EFMRRrFaBTvTnM6M8alZTKut1BoOi54yhLQsijlypwoAT7dsBMyuUiwekaAXHCoxSdHh Wnt4z1xU8K4GKRDg03KeD9oT9V99DEerJoi/I/XfP7LAq4df+QbLBp5ia73quzRgi+UI CyEzcESkhw97ibU4ZQqqOL6JF1gjup98bKYWgUlSe6TaMuaX/2eiMOjAgJEbWUj8NVbg BCyFx8LuNmmAeDkhdwyov7/xbkCb4BeNxaZudW47qSNY26QstVh0ZVwDAhPlCcYIItm9 3pEw==
X-Gm-Message-State: ALoCoQkHwj8MKSlXAvRTAP6+W9unf5wd192O7Okvv42XkZEkIM1lwR5U/PJkfGIlowtzvSX7Mp3h
MIME-Version: 1.0
X-Received: by 10.112.24.71 with SMTP id s7mr8287198lbf.37.1434554010305; Wed, 17 Jun 2015 08:13:30 -0700 (PDT)
Received: by 10.112.200.102 with HTTP; Wed, 17 Jun 2015 08:13:30 -0700 (PDT)
In-Reply-To: <1727EA47-E767-48F1-BB47-D2C13C16EE5D@nic.cz>
References: <D1A4CEBA.B22F8%kwatsen@juniper.net> <20150617.095439.2211831130594238981.mbj@tail-f.com> <m2vbem4ryj.fsf@nic.cz> <20150617.121216.1211666276307602571.mbj@tail-f.com> <7E9BC65B-8A73-4352-87C7-8A826EFAC45B@nic.cz> <20150617115109.GC21292@elstar.local> <4D6394A6-06D1-4275-8151-E1C34DB20965@nic.cz> <20150617125009.GA21463@elstar.local> <1727EA47-E767-48F1-BB47-D2C13C16EE5D@nic.cz>
Date: Wed, 17 Jun 2015 08:13:30 -0700
Message-ID: <CABCOCHRMGySt=3KOOA-ms4WJkKzAS=5CXBctarhbf-59S=WUNg@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Content-Type: multipart/alternative; boundary="001a113438323220110518b82234"
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/bw3Wd7B30cxZMPb0kBnqHNeI1J8>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Subject: Re: [netmod] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)
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: <http://www.ietf.org/mail-archive/web/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, 17 Jun 2015 15:13:35 -0000

On Wed, Jun 17, 2015 at 6:13 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:

>
> > On 17 Jun 2015, at 14:50, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
> >
> > On Wed, Jun 17, 2015 at 02:34:52PM +0200, Ladislav Lhotka wrote:
> >>
> >>> On 17 Jun 2015, at 13:51, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
> >>>
> >>> On Wed, Jun 17, 2015 at 01:41:56PM +0200, Ladislav Lhotka wrote:
> >>>>
> >>>>
> >>>> Well, but it is exactly what Kent objected against. It is the
> requirement to support “old clients” that causes the trouble here (and
> elsewhere). If client A sets “inactive” somewhere, then the datastore
> semantics will change also for client B that doesn’t understand “inactive”
> and may be wondering why the server ignores his edits.
> >>>>
> >>>> I understand (although RFC 6241 doesn’t say it explicitly) that,
> unlike YANG extensions, a NETCONF capability advertised by the server can
> be mandatory for the client in the sense that it has to understand and
> honour it.
> >>>
> >>> There is no way for a client to tell whether a certain capability URI
> >>> (it has never seen before) is mandatory to understand or not. In fact,
> >>
> >> So it means that, e.g. the annotations from
> >>
> >> https://tools.ietf.org/html/draft-kwatsen-conditional-enablement-00
> >>
> >> cannot be safely used by the server even after advertising them via
> :conditional-enablement capability.
> >
> > Yes, advertisement is not sufficient.
> >
> >>> Without further protocol support to negotiate annotations, I think
> >>> annotations must be limited to things that can be safely ignored by a
> >>> client. I have not read the I-D yet but I would expect that it should
> >>> say something like that. ;-)
> >>
> >> But it’s not a specific problem of this draft, it would simply mean
> that annotations that cannot be ignored cannot be used at all, no matter
> what. However, some annotations that have been proposed (and probably used
> in the wild) are of that sort.
> >>
> >
> > They cannot be used safely until there is an annotation negotiation
> > mechanism, or as Martin indicated, a way for a client to explicitely
> > enable the functionality associated with certain annotations.
>
> Even this breaks down if an annotation has global side effects. This
> actually seems to be true for the whole idea of a client cherry-picking
> from the capabilities (and YANG modules) advertised by the server.
>
>

IMO conditional enablement is trivial to add in a way that does not break
clients unaware of the disabled nodes.  As Martin pointed out, the only
way the client can see them is to ask explicitly that the metadata be
returned.
Otherwise the disabled nodes look like deleted nodes.  For validation
purposes, they are deleted nodes.

The NETCONF-EX <get2> operation had a "metadata" parameter so the
client could ask for specific attributes.  Hard-wired parameters like
"with-defaults" or "with-disabled" will also work.

If the client cannot ignore the behavior defined by the capability,
then it isn't a NETCONF protocol capability, it's a different non-standard
protocol.



> Lada
>

Andy


>
> >
> > /js
> >
> > --
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>