Re: [RTG-DIR] rtgdir Last Call Review requested: draft-ietf-netmod-factory-default

Qin Wu <bill.wu@huawei.com> Sat, 21 March 2020 09:40 UTC

Return-Path: <bill.wu@huawei.com>
X-Original-To: rtg-dir@ietfa.amsl.com
Delivered-To: rtg-dir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 628D33A12E0; Sat, 21 Mar 2020 02:40:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 7LJos4TGNUuW; Sat, 21 Mar 2020 02:40:23 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4A3933A12DF; Sat, 21 Mar 2020 02:40:23 -0700 (PDT)
Received: from lhreml704-cah.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 39848399CFF9C46B4C8D; Sat, 21 Mar 2020 09:40:18 +0000 (GMT)
Received: from lhreml719-chm.china.huawei.com (10.201.108.70) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sat, 21 Mar 2020 09:40:17 +0000
Received: from lhreml719-chm.china.huawei.com (10.201.108.70) by lhreml719-chm.china.huawei.com (10.201.108.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 21 Mar 2020 09:40:17 +0000
Received: from DGGEML403-HUB.china.huawei.com (10.3.17.33) by lhreml719-chm.china.huawei.com (10.201.108.70) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Sat, 21 Mar 2020 09:40:17 +0000
Received: from DGGEML531-MBS.china.huawei.com ([169.254.5.75]) by DGGEML403-HUB.china.huawei.com ([fe80::74d9:c659:fbec:21fa%31]) with mapi id 14.03.0487.000; Sat, 21 Mar 2020 17:40:10 +0800
From: Qin Wu <bill.wu@huawei.com>
To: Antoni Przygienda <prz@juniper.net>, "rtg-dir@ietf.org" <rtg-dir@ietf.org>, "draft-ietf-netmod-factory-default.all@ietf.org" <draft-ietf-netmod-factory-default.all@ietf.org>, "netmod-wg@ietf.org" <netmod-wg@ietf.org>
Thread-Topic: rtgdir Last Call Review requested: draft-ietf-netmod-factory-default
Thread-Index: AdX/YoEBWwI/KLd3TqyMhpKsWtV0Cw==
Date: Sat, 21 Mar 2020 09:40:09 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAAD580D11@dggeml531-mbs.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.138.33.123]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-dir/hDZRpLSmiyBXS-tNFbqqcPpu4SU>
Subject: Re: [RTG-DIR] rtgdir Last Call Review requested: draft-ietf-netmod-factory-default
X-BeenThere: rtg-dir@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Routing Area Directorate <rtg-dir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-dir/>
List-Post: <mailto:rtg-dir@ietf.org>
List-Help: <mailto:rtg-dir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 21 Mar 2020 09:40:26 -0000

Thanks Antoni for valuable review, see reply inline.
-----邮件原件-----
发件人: Antoni Przygienda [mailto:prz@juniper.net] 
发送时间: 2020年3月14日 6:30
收件人: rtg-dir@ietf.org; draft-ietf-netmod-factory-default.all@ietf.org; netmod-wg@ietf.org
主题: Re: rtgdir Last Call Review requested: draft-ietf-netmod-factory-default

I have been selected to do a routing directorate “early” review of this draft.
​https://datatracker.ietf.org/doc/draft-ietf-netmod-factory-default/

Document: draft-ietf-netmod-factory-default
Reviewer: Tony Przygienda
Review Date: 03/15/20
Intended Status: Standards Track    

Summary:

I have some minor concerns about this document that I think should be resolved before it is submitted to the IESG.

Comments:

Good, clear, concise draft. Clear references, easy read. 

Following items need to be explained, treated IMO:

* it is not clear how "default configuration" defined in [RFC8342] interacts/is correlated with the "factory-default" store. Can "factory-default" overwrite the default configuration? Probably not since "it's in the data model" (RFC8342 is quite sparse on the subject). Generally I think it would be helpful to the reader to point out in a sentence that "default store" and "factory-default store" are utterly un-correlated since the language is suggesting they are closely related which in fact they are not.  
[Qin]:Correct, they are completely unrelated, there is no default store such thing.
as you clarified, default configuration is in the model instead of in any datastore.
default configuration is handled by the server based on RFC6243.

There is a subtle but big danger here with making it "read-only" and people misunderstanding this.
[Qin] "read-only " means the content in it can not be changed by management operations via NETCONF, RESTCONF, the CLI etc.

 If the device has been shipped with image X containing the store and then upgraded to image Y the factory-default-store for X may brick the device. It would be possibly a good thing to add somehow to the draft this consideration as in "when upgrading software version or Yang model of the server/device/node factory-default store in normally upgraded with it". 
[Qin]:How upgrading software version or Yang model affects other configuration datastore,e.g., running, operational.
Do you think factory default datastore handling should be different from other datastores handling.
In addition, the content of the datastore is set by the server in an implementation dependent manner.
not sure we should add implementation dependent restriction for factory default datastore after software upgrading or yang model upgrading.

* the draft says 

   o  Origin: This document does not define a new origin identity as it
      does not interact with the <operational> datastore.

This seems somewhat doubtful to me. Even if no new origin is defined here (maybe it should be) the draft should define what origins needs to be set or whether old origin should be preserved (I doubt that since .e.g. factory reset can overwrite default origin on current indented/operational)
[Qin]In some case, there is no factory default datastore, we only have rpc command factory-reset.
Secondly, "factory-reset" RPC will only directly affect read-write configuration datastore. Therefore I think it should not be
visible to intended or operational datastore.
In addition, there is no datastore for default origin or default store you described above.
* is the device clock reset/pertained or is the operation undefined as to what it does to internal device clock. This is often a very important operational consideration. 
[Qin]: We can not enumerate all other resetting tasks, but we do have already added statement to consider other resetting tasks in the draft. In addition, I am not sure device clock should be really affected by factory-reset operation.
* what happens to hardware installed keys on e.g. MACSEC? Are they reset/pertain/expected to be on factory-default and installed (vendors do different things here AFAIK), is that outside scope of this draft? 
[Qin]: Yes, it is beyond scope of this document, if I remember correctly, this was discussed in netconf ML, which is related to another draft.
* serialization, can other operations be performed @ the same time as factory reset? If so, which values do persist and when can the reset be executed? Will existing sessions be shut-down/warned/time-out'ed? If I missed the implications due to previous RFCs, which RFC governs the behavior here?
[Qin] This is something related to rfc8572, but based on discussion in the ML, it was suggested to remove this reference since there may be other implementation choice.
* Can the factory-default RPC lead to device reboot? Is that undefined/undesired (I think either is fine for the draft to say)? This is often an important operational consideration. The model says " after
          being reset, the device may become unreachable on the
          network". Does that pertain to this "reset" operation here or a reboot?
[Qin] Not directly, but "reset" operation may trigger device reboot only when the device is not reachable in the network.
 IMO following terms should be added & defined/distinguished in the glossary "reset" and "reboot". What is "on the network"? management interfaces/uplinks/inband ports. Either treat that more explicitly as in "after factory-default the device SHOULD be reachable via management ports and may not be reachable via uplinks/inband ports" or drop the "network".
[Qin]:I think it is close to the former, good suggestion, thanks.
 There is a big difference between "bricking it", "needs physical removal or hook up to short-range e.g. USB/WLAN" and "can only be reached out-of-band" ... Using vague descriptions like "on the network" is probably worse than not saying anything at all.