Re: [netmod] kw review of draft-liu-netmod-yang-schedule

Xufeng Liu <xliu@kuatrotech.com> Thu, 14 April 2016 20:03 UTC

Return-Path: <xliu@kuatrotech.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 5D33D12E3CD for <netmod@ietfa.amsl.com>; Thu, 14 Apr 2016 13:03:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 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_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=kuatrotechnology.onmicrosoft.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 MeJbnJVLYzRa for <netmod@ietfa.amsl.com>; Thu, 14 Apr 2016 13:03:24 -0700 (PDT)
Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1on0661.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe00::661]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D55F212E3CC for <netmod@ietf.org>; Thu, 14 Apr 2016 13:03:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kuatrotechnology.onmicrosoft.com; s=selector1-kuatrotech-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=pKuBFyv04tUKZXw6UQAK3ZQmOmQ8h6tUGjWoiugo69Y=; b=N2ipbJnNBwLHzqp1OPTX0wA+nQ329FhJYGm7Oag4FzfRPoaXzLO2jinPvhPgjnMEXq8EHj3FUgNis2fh8gtvDWw8uJFo7Gxl6joamGaTuyL1LWsxXV/CuoeJkWZe2tIx7Hv4v6rMYa0VcBP2wPPhQO9ZFBPNRl5128neXzz10Zg=
Received: from DBXPR06MB623.eurprd06.prod.outlook.com (10.255.71.170) by DBXPR06MB624.eurprd06.prod.outlook.com (10.255.71.171) with Microsoft SMTP Server (TLS) id 15.1.453.26; Thu, 14 Apr 2016 20:03:05 +0000
Received: from DBXPR06MB623.eurprd06.prod.outlook.com ([169.254.1.211]) by DBXPR06MB623.eurprd06.prod.outlook.com ([169.254.1.211]) with mapi id 15.01.0453.030; Thu, 14 Apr 2016 20:03:05 +0000
From: Xufeng Liu <xliu@kuatrotech.com>
To: Kent Watsen <kwatsen@juniper.net>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] kw review of draft-liu-netmod-yang-schedule
Thread-Index: AQJ0hqPMUcYXu2mLgmpGLwn3QPNMqZ5DxxCA
Date: Thu, 14 Apr 2016 20:03:05 +0000
Message-ID: <DBXPR06MB623D1071080C7258FD22C1EB1970@DBXPR06MB623.eurprd06.prod.outlook.com>
References: <8DC36161-54BC-435B-B8BA-AA72A153451F@juniper.net>
In-Reply-To: <8DC36161-54BC-435B-B8BA-AA72A153451F@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: juniper.net; dkim=none (message not signed) header.d=none; juniper.net; dmarc=none action=none header.from=kuatrotech.com;
x-originating-ip: [98.191.72.170]
x-ms-office365-filtering-correlation-id: 8ac596cb-3320-4b59-9281-08d3649fcacb
x-microsoft-exchange-diagnostics: 1; DBXPR06MB624; 5:UsmX8VzndjX6LUNOJYPsSo6jfxocKgyVoWCpeFXGL3dknrK+WueM2I5iwnOkz0hBBCZsNMkP0GXjeytnLez7XSt8ZMBqxJo/Mpr0WhCbz2ADSXr6rNdAv/FUQ06clzzE9vCaDOkubaIHbCQ1LzqF7w==; 24:ZCIxY5Zjj8JBlc+WtLhC4NAnl0qTqO1e/Ubo3HVwxOwSxA3Csy/sia3NBZseycnkr/8b2gtUmB27tVde1txm3jS2dBepV2eTQU25NXA3QTg=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DBXPR06MB624;
x-microsoft-antispam-prvs: <DBXPR06MB62468CAD6BA186F06CE4B22B1970@DBXPR06MB624.eurprd06.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040102)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041046)(6043046); SRVR:DBXPR06MB624; BCL:0; PCL:0; RULEID:; SRVR:DBXPR06MB624;
x-forefront-prvs: 0912297777
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(76104003)(51914003)(377454003)(50986999)(230783001)(76176999)(15975445007)(2906002)(164054004)(3660700001)(10400500002)(3280700002)(54356999)(19300405004)(76576001)(102836003)(3846002)(92566002)(106116001)(2900100001)(19580395003)(19580405001)(2950100001)(1220700001)(16236675004)(586003)(1096002)(790700001)(6116002)(74316001)(5002640100001)(19625215002)(9686002)(5004730100002)(19617315012)(5001770100001)(5008740100001)(2501003)(86362001)(189998001)(87936001)(107886002)(81166005)(122556002)(33656002)(66066001)(5003600100002)(11100500001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:DBXPR06MB624; H:DBXPR06MB623.eurprd06.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_DBXPR06MB623D1071080C7258FD22C1EB1970DBXPR06MB623eurprd_"
MIME-Version: 1.0
X-OriginatorOrg: kuatrotech.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2016 20:03:05.3508 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 99314f4e-50ab-4d4e-a9c6-b21b0c887384
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBXPR06MB624
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/f51ahJlspTIabVPikOY8yc41aZY>
Subject: Re: [netmod] kw review of draft-liu-netmod-yang-schedule
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: Thu, 14 Apr 2016 20:03:27 -0000

Hi Kent,

Thanks for the valuable comments.

Best,

- Xufeng

From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Kent Watsen
Sent: Monday, April 4, 2016 10:54 AM
To: netmod@ietf.org
Subject: [netmod] kw review of draft-liu-netmod-yang-schedule


[As a contributor]

While it's clear what this document is trying to achieve at a high level, it is unclear why the solution is needed.   A "motivation" section explaining why this should be standardized would be nice.
[Xufeng] Agree.

When reading this draft, I was reminded of my long expired draft https://tools.ietf.org/html/draft-kwatsen-conditional-enablement-00.  That draft provided a more general solution, in that it enabled sub-trees to be enabled/disabled for any reason.  It was primarily focused on supporting comments, but it did call out that expressions could include time, though it didn't flush out that thought to any extent.

Other than draft-kwatsen-conditional-enablement being a more generic solution, another difference is that this draft enables the module-designer to specify where in the data model the grouping is used, whereas my old draft let the client enabled/disabled nodes anywhere in the data model, potentially producing nonsensical results, though we have to assume that the server would fail any invalid results.
[Xufeng] Agree that it is more generic solution, though the intention and mechanism are a bit different. I think that the described technique is still useful, and I’d support it to proceed.

Regarding this solution, I have some specific questions:

1) why is the "schedule" node a list?  How is a list to be processed?   Are there any overlapping issues?
[Xufeng] The list is used so that a series of schedules (such as durations) can be specified. If several durations are specified, the object is configured in all these durations, inclusively. If two durations are overlapped, the union is used, so that the result is one longer duration. Do you see any problem here?

2) does the "schedule-id" leaf have any useful purpose other than being the list's key?
[Xufeng] Its only purpose is to be the key.

3) the "schedule-duration" node's pattern matches XSD's "duration" type, is it the intent to process it as such?
[Xufeng] Yes.

4) the draft-ietf-netconf-server-model draft originally had a duration-like value, but the WG consensus was at the time was to instead use an unsigned integer value with a "units" value (e.g., seconds, minutes, etc.).  The claim was that, when large values where needed (e.g., 3600-seconds instead of 1-hour), that the client could always do the math.  Any thoughts on that?
[Xufeng] The integer value is surely an alternative, though the fixed “units” might be limiting. For example, why should we pick “seconds” instead of “minutes”? What should be proper range of the integer? In this case, I think ISO 8601 format is more convenient and flexible than asking the client to do the math all the time (which may not be adequate). Also, the duration is used along with a data-time leaf which is also in ISO 8601 format, so that the style and processing are consistent.

5) are there any issues with the "repeat-interval" node?  I'm specifically thinking about the interval being expressed in terms of hours and days in the context of daylight savings and leap year...
[Xufeng] Heard some criticisms on the IOS 8601 expressions. There could be some issues, but are they significant enough to stop us from using it? The behaviors could be defined and clarified, couldn’t they? What do you think?

Nit: some examples in the draft would've been nice.
[Xufeng] Sure we will do.

Thanks,
Kent