Re: [netmod] WG Last Call: draft-ietf-netmod-revised-datastores-04 duplicaiton

Robert Wilton <rwilton@cisco.com> Wed, 18 October 2017 16:38 UTC

Return-Path: <rwilton@cisco.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 3C2871321CB; Wed, 18 Oct 2017 09:38:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 CbIpHcUr-4rI; Wed, 18 Oct 2017 09:38:28 -0700 (PDT)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9BF6132031; Wed, 18 Oct 2017 09:38:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=11454; q=dns/txt; s=iport; t=1508344708; x=1509554308; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=Ra71NrQ7+7U7GtGUl/e1iO8keJFU+alAdwRG/kw07k0=; b=irgQOglkXLkIIu1z8BHm+u8MExz3B+tP+BIatLmVa/XgDWD87VSwbmgw nRNL/baZoNIqPSanZP1frjjTeb/UmKUdRard0PYjRJnsjv9FbxE2Pf5pO 92vMzKR15A246qa6g2A9F9LlKmL+8IL68pL1pOcOzOuRz28gykmpvs5DS k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0COAABVgudZ/xbLJq1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBhENuJ4N6ih90kD2WM4IUChgLgV6Ca08ChTgYAQIBAQEBAQEBayi?= =?us-ascii?q?FHQEBAQQBASEPAQU2BAcMBAsRBAEBAQICJgICJygIBgEMBgIBAReKBRCqb4Ini?= =?us-ascii?q?ykBAQEBAQEBAQEBAQEBAQEBAQEBAQEYBYEPgiCDWIIVgwSIGIJhBaFLlG2CFIV?= =?us-ascii?q?2g1wkhw6OEYdigTkfOIFbNCEIHRVJgmSEYD82iw0BAQE?=
X-IronPort-AV: E=Sophos;i="5.43,397,1503360000"; d="scan'208";a="655522871"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Oct 2017 16:38:23 +0000
Received: from [10.63.23.135] (dhcp-ensft1-uk-vla370-10-63-23-135.cisco.com [10.63.23.135]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id v9IGcNHL029116; Wed, 18 Oct 2017 16:38:23 GMT
To: "t.petch" <ietfc@btconnect.com>, netmod WG <netmod@ietf.org>, Lou Berger <lberger@labn.net>
Cc: netmod-chairs@ietf.org, draft-ietf-netmod-revised-datastores@ietf.org
References: <511deba5-34ca-dde2-6637-ceaf4c4af125@labn.net> <00bd01d32caf$4eb28e60$4001a8c0@gateway.2wire.net> <92a410a9-e479-2321-7420-4bd2d9dbed38@labn.net> <011e01d32d77$c980dca0$4001a8c0@gateway.2wire.net>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <b20f4ab9-3f2d-9b49-a0ef-bf6a4956de18@cisco.com>
Date: Wed, 18 Oct 2017 17:38:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <011e01d32d77$c980dca0$4001a8c0@gateway.2wire.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/FF1p6FOst5Uest-Rm8SDOiAzECQ>
Subject: Re: [netmod] WG Last Call: draft-ietf-netmod-revised-datastores-04 duplicaiton
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: Wed, 18 Oct 2017 16:38:32 -0000

Hi Tom,

Juergen has tweaked your proposed text into an additional objectives 
section before terminology with the following text:

2.  Objectives

    Network management data objects can often take two different values,
    the value configured by the user or an application (configuration)
    and the value that the device is actually using (operational state).
    These two values may be different for a number of reasons, e.g.,
    system internal interactions with hardware, interaction with
    protocols or other devices, or simply the time it takes to propagate
    a configuration change to the software and hardware components of a
    system.  Furthermore, configuration and operational state data
    objects may have different lifetimes.

    The original model of datastores required these data objects to be
    modeled twice in the YANG schema, as "config true" objects and as
    "config false" objects.  The convention adopted by the interfaces
    data model ([RFC7223]) and the IP data model ([RFC7277]) was using
    two separate branches rooted at the root of the data tree, one branch
    for configuration data objects and one branch for operational state
    data objects.

    The duplication of definitions and the ad-hoc separation of
    operational state data from configuration data leads to a number of
    problems.  Having configuration and operational state data in
    separate branches in the data model is operationally complicated and
    impacts the readability of module definitions. Furthermore, the
    relationship between the branches is not machine readable and filter
    expressions operating on configuration and on related operational
    state are different.

    With the revised architectural model of datastores defined in this
    document, the data objects are defined only once in the YANG schema
    but independent instantiations can appear in two different
    datastores, one for configured values and one for operational state
    values.  This provides a more elegant and simpler solution to the
    problem.

    The revised architectural model of datastores supports additional
    datastores for systems that support more advanced processing chains
    converting configuration to operational state.  For example, some
    systems support configuration that is not currently used (so called
    inactive configuration) or they support configuration templates that
    are used to expand configuration data via a common template.

This also removes the following, now repetitive, paragraph from the 
Background Section:

  Furthermore, separating operational state from configuration
  in a separate branch in the data model has been found operationally
  complicated, and typically impacts the readability of module
  definitions due to overuse of groupings.  The relationship between the
  branches is not machine readable and filter expressions operating on
  configuration and on related operational state are

OK?

We should provide an updated draft with all the last call review markups 
applied soon, which may make it easier to review this text in context.

Thanks,
Rob


On 14/09/2017 17:37, t.petch wrote:
> Lou
>
> I am proposing that the text I included would go more or less as is into
> the beginning of section 3.  I think that it makes sense even before we
> get into the historic definitions of configuration etc.  I want to spell
> out the problem - two different values of the one conceptual object,
> originally handled with two schema nodes in one store of data, now
> handled with one schema node in two datastores.  Thus start section 3
> with
>
> NEW
>
> Some data objects can take two different values, the one configured by
> the user (configuration), the other the one that the device is using
> (operational state),
> perhaps as a result of interactions with hardware, with protocols, with
> other devices and so on.
>
>   The original model of datastores
> required these data objects to be modelled twice, as configuration false
> and as configuration true, and, since there could be many of them, and
> the rules of YANG require them to be in separate trees, this led to a
> twin-trees approach, such as can be seen in RFC7277 or RFC7223.
>
> This duplication of definitions and separation of operationsl state from
> configuration leads to a number of problems.  Having them in
>   separate branches in the data model is operationally
> complicated and impacts the readability of module
>   definitions.  The relationship between
>   the branches is not machine readable and filter expressions operating
> on configuration and on related operational state are different.
>
> With revised datastores,  the data object appears once in the model
> but can appear in two datastores, one for the
> configured value, one for the operational state value.
>
>   Instead of two YANG data nodes there is one data node in two
> datastores, a more elegant and simpler solution to the problem.
>
> /NEW
>
> I would make minor changes to the last three paragraphs of Section 3
> mostly excising where I have already included that material
>
> Tom Petch
>
>>> The problem that is hinted at but never explicitly stated is that
> data
>>> objects can appear both as configuration and as state, e.g. when
> learned
>>> by other means or at other times.  The original model of datastores
>>> required these data objects to be modelled twice, as configuration
> false
>>> and as configuration true, and since there could be many of them,
> and
>>> the rules of YANG require them to be in separate trees, this led to
> a
>>> twin-trees approach such as can be seen in RFC7277 or RFC7223.
>>>
>>> Amongst other problems, this separation of operational state from
>>> configuration in a
>>>     separate branch in the data model has been found to be
> operationally
>>>     complicated and impacts the readability of module
>>>     definitions.  The relationship between
>>>     the branches is not machine readable and filter expressions
> operating
>>>     on configuration and on related operational state are different.
>>>
>>> With revised datastores, there is a single data object to model both
>>> values  but this now appears in two datastores, one for the
>>> configuration value, one for the operational state value.
>>>
>>> Instead of two YANG data nodes there is one data node in two
> datastores,
>>> a more elegant and simpler solution to the problem.
>>>
>>>
> ta
>>> objects can appear both as configuration and as state, e.g. when
> learned
>>> by other means or at other times.  The original model of datastores
>>> required these data objects to be modelled twice, as configuration
> false
>>> and as configuration true, and since there could be many of them,
> and
>>> the rules of YANG require them to be in separate trees, this led to
> a
>>> twin-trees approach such as can be seen in RFC7277 or RFC7223.
>>>
>>> Amongst other problems, this separation of operational state from
>>> configuration in a
>>>     separate branch in the data model has been found to be
> operationally
>>>     complicated and impacts the readability of module
>>>     definitions.  The relationship between
>>>     the branches is not machine readable and filter expressions
> operating
>>>     on configuration and on related operational state are different.
>>>
>>> With revised datastores, there is a single data object to model both
>>> values  but this now appears in two datastores, one for the
>>> configuration value, one for the operational state value.
>>>
>>> Instead of two YANG data nodes there is one data node in two
> datastores,
>>> a more elegant and simpler solution to the problem.
>>>
>>>
> Tom Petch
>
> ----- Original Message -----
> From: "Lou Berger" <lberger@labn.net>
> To: "t.petch" <ietfc@btconnect.com>om>; "netmod WG" <netmod@ietf.org>
> Cc: <netmod-chairs@ietf.org>rg>;
> <draft-ietf-netmod-revised-datastores@ietf.org>
> Sent: Wednesday, September 13, 2017 5:56 PM
> Subject: Re: [netmod] WG Last Call:
> draft-ietf-netmod-revised-datastores-04 duplicaiton
>
>
>>> I believe that text such as this would make the I-D much easier to
>>> follow.  As it stands, you have to read between the lines and
> speculate.
>> Tom,
>>
>> Thank you for the comments. Do you have a specific change in mind,
>> or could your propose text, that would address this?
>>
>> Thanks,
>> Lou
>>
>> On 9/13/2017 12:42 PM, t.petch wrote:
>>> I think that in one respect, perhaps the key respect, this I-D fails
> to
>>> state the obvious (or at least what is likely obvious to those who
> have
>>> been at this for a while:-).
>>>
>>> The problem that is hinted at but never explicitly stated is that
> data
>>> objects can appear both as configuration and as state, e.g. when
> learned
>>> by other means or at other times.  The original model of datastores
>>> required these data objects to be modelled twice, as configuration
> false
>>> and as configuration true, and since there could be many of them,
> and
>>> the rules of YANG require them to be in separate trees, this led to
> a
>>> twin-trees approach such as can be seen in RFC7277 or RFC7223.
>>>
>>> Amongst other problems, this separation of operational state from
>>> configuration in a
>>>     separate branch in the data model has been found to be
> operationally
>>>     complicated and impacts the readability of module
>>>     definitions.  The relationship between
>>>     the branches is not machine readable and filter expressions
> operating
>>>     on configuration and on related operational state are different.
>>>
>>> With revised datastores, there is a single data object to model both
>>> values  but this now appears in two datastores, one for the
>>> configuration value, one for the operational state value.
>>>
>>> Instead of two YANG data nodes there is one data node in two
> datastores,
>>> a more elegant and simpler solution to the problem.
>>>
>>>
>>> I believe that text such as this would make the I-D much easier to
>>> follow.  As it stands, you have to read between the lines and
> speculate.
>>> Tom Petch
>>>
>>>
>>> ----- Original Message -----
>>> From: "Lou Berger" <lberger@labn.net>
>>> To: "netmod WG" <netmod@ietf.org>
>>> Cc: <netmod-chairs@ietf.org>rg>;
>>> <draft-ietf-netmod-revised-datastores@ietf.org>
>>> Sent: Friday, September 01, 2017 10:02 PM
>>>
>>>> All,
>>>>
>>>> This starts a two week working group last call on
>>>> draft-ietf-netmod-revised-datastores-04.
>>>>
>>>> The working group last call ends on September 17.
>>>> Please send your comments to the netmod mailing list.
>>>>
>>>> Positive comments, e.g., "I've reviewed this document and
>>>> believe it is ready for publication", are welcome!
>>>> This is useful and important, even from authors.
>>>>
>>>> Thank you,
>>>> Netmod Chairs
>>>>
>>>> _______________________________________________
>>>> netmod mailing list
>>>> netmod@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/netmod
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
> .
>