Re: [netmod] <running> vs <intended>

Andy Bierman <andy@yumaworks.com> Mon, 18 September 2017 18:25 UTC

Return-Path: <andy@yumaworks.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 13405132D49 for <netmod@ietfa.amsl.com>; Mon, 18 Sep 2017 11:25:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 J72zfLp_jqnn for <netmod@ietfa.amsl.com>; Mon, 18 Sep 2017 11:25:33 -0700 (PDT)
Received: from mail-lf0-x22f.google.com (mail-lf0-x22f.google.com [IPv6:2a00:1450:4010:c07::22f]) (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 EADC41342AF for <netmod@ietf.org>; Mon, 18 Sep 2017 11:25:28 -0700 (PDT)
Received: by mail-lf0-x22f.google.com with SMTP id k9so1420042lfe.10 for <netmod@ietf.org>; Mon, 18 Sep 2017 11:25:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=hOx2R4BGo0YhYo07WNvAp18CVKu8oCrTfZuRTvcc2/I=; b=MMqhT5zHZDKLgJ6Ntbq4Ht/40QnOA86b3LdfHV0APbEZU0G6WVb+wsFN/zMp7DQKr5 GWme8/rtaKxY0pqaZSCqoz5VmOO1UwnR1T/fH2qN7SuyOfM581CHPyD48lWQV4r0mZkF O/o0/PPmtBfMmdRZJGTX+U1wsMUdlQAP5oeVZJpfhuDDZy5FzyV269X2glytpMVhi4+t 993ySaCuNmOHhL4NnQWEDt7/JrlfvQu2f8HSPicT9C2kC4Y8mdoscy6DmkKcryt38Cwa OXFrvDh5GNaZohR3wqvD1J1cRQUwcHqWSniE4QBrL8horA2oT5kcXnni2H5gEcfOB4+P yHzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=hOx2R4BGo0YhYo07WNvAp18CVKu8oCrTfZuRTvcc2/I=; b=K9GRMfl5Pdl8Ixdb6t/KUKY5dA2+0bSbMzGMAo8Hsr9NJEZShCDM2wX5+WxN+s4mdg FboO7bkBIzKfuyZA/RQVZ5M86VoMv4/DWorYTsKkBQUT3crCELOFWccnmn9FhpRo9z/9 KWTFGe/FoBQqxKK5cbITnmUmaFH7JcaoD3xdoVqWCHek8wC/beCL40Q1bw9nHq/Nk3ln YW0Y039hSNjdqPIV+XvnXWlGmRV65sA+Tr3T4rdBSocbrCkydPag5aXC1OgDpfepdo5k q/NqfOpvahPXvcoRbBuXPiewRcJKBCvMTnkWNSxRjD7BLlVuB55eLm25Tb29Hb0MG6wX d2WQ==
X-Gm-Message-State: AHPjjUj1J/hR8lOW5jQ264s68IgDXNqcIxmAXJhvvUBNaO7FaeIJ555b WlkpKSq+r2DJdHuyO8UYoFSOsD620y6atNtkrGtZXw==
X-Google-Smtp-Source: AOwi7QCT5RuydNevD1ezpYKk0Bl1BjOrBMZuBjyH+QvOxEmfBx/kPsLrBMElAQAQDGnKe6fTjEaUR4oOmyd0axmlTCA=
X-Received: by 10.25.211.14 with SMTP id k14mr3821303lfg.51.1505759127144; Mon, 18 Sep 2017 11:25:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.25.18.41 with HTTP; Mon, 18 Sep 2017 11:25:26 -0700 (PDT)
In-Reply-To: <20170918.200734.1805388289423863575.mbj@tail-f.com>
References: <CABCOCHQE3irqdL7Pv+DF=YFy_RVAZ95xmFt0v17FUiLcFbiV-g@mail.gmail.com> <f411c5e0-ae05-e8b2-c5c0-199a9b24f1d2@cisco.com> <20170918162107.6qnmrl5hepqcxsrm@elstar.local> <20170918.200734.1805388289423863575.mbj@tail-f.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 18 Sep 2017 11:25:26 -0700
Message-ID: <CABCOCHTD_6yQj1QFn0BsPg8hbkuUc9guEB6rhG46W1jnNRh=bA@mail.gmail.com>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Robert Wilton <rwilton@cisco.com>, "t.petch" <ietfc@btconnect.com>, Berger Lou <lberger@labn.net>, "netmod@ietf.org" <netmod@ietf.org>, NetMod WG Chairs <netmod-chairs@ietf.org>, draft-ietf-netmod-revised-datastores@ietf.org
Content-Type: multipart/alternative; boundary="001a11400d72e424b105597add17"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/vMtTnBGzOglXV0y2UkoeNpsk1aU>
Subject: Re: [netmod] <running> vs <intended>
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 18 Sep 2017 18:25:36 -0000

On Mon, Sep 18, 2017 at 11:07 AM, Martin Bjorklund <mbj@tail-f.com> wrote:

> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> > On Mon, Sep 18, 2017 at 05:17:46PM +0100, Robert Wilton wrote:
> > >
> > > > No.  I do not agree that the MUST in RFC 7950 can be removed.
> > > > I do not agree the architecture should update YANG at all.
> > > OK.
> >
> > I am with Andy here. <running> has always had the requirement to be
> > valid and we are not supposed to change that. Mechanisms for inactive
> > configuration or templating must be designed to be backwards compatible
> > I think.
>
> Ok.  If we keep the requirement that <running> in itself must be
> valid, it just restricts the usefulness/expressiveness of inactive and
> template mechanisms, but it might be ok.
>
> I think that even w/o this requirement, the observable behavior for a
> client can be backwards compatible.  For example, suppose we have an
> inactive access control rule that refers to a non-existing interface in
> <running>.  If a client that doesn't know anything about inactive asks
> for the contents of <running>, our implementation removes the inactive
> nodes from the reply to the client.  Only a client that opts-in to
> inactive will receive a reply with things that looks invalid if you
> don't take the inactive annotation into account.
>
>
>
There are many ways that validation can fail because inactive nodes are
present,
and considered part of the validation.

e,g, min-elements, max-elements, mandatory, unique.

I think we all agree that validation on the enabled nodes is supposed to
continue to work.

Here is an attempt at a backwards-compatible solution:

1) current <get-config> and <get> responses only include enabled nodes.
2) old-style <edit-config> operations do not alter inactive nodes
3) NMDA clients use <get-data>, not <get-config> or <get>.  These responses
    include enabled and disabled nodes, so validation does not apply for
<running>
4) new style <edit-config> (i.e. <datastore> parameter used) can alter any
type of data node

Note that the YANG MUST rule still applies, because validation is only done
on enabled nodes.
It is only the response message representations that cannot be validated,
not the contents
of <running> on a server.



> /martin
>

Andy