Re: [netmod] Adoption poll for draft-wu-netmod-factory-default-02

Qin Wu <> Mon, 13 May 2019 03:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 62350120049 for <>; Sun, 12 May 2019 20:25:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.94
X-Spam-Status: No, score=-3.94 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=0.26, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id I0SsO-o9tYLC for <>; Sun, 12 May 2019 20:25:54 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id DC2E912015C for <>; Sun, 12 May 2019 20:25:53 -0700 (PDT)
Received: from (unknown []) by Forcepoint Email with ESMTP id F0860407AD45BAB4B7CB for <>; Mon, 13 May 2019 04:25:51 +0100 (IST)
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 13 May 2019 04:25:51 +0100
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Mon, 13 May 2019 04:25:51 +0100
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1713.5 via Frontend Transport; Mon, 13 May 2019 04:25:50 +0100
Received: from ([]) by ([]) with mapi id 14.03.0415.000; Mon, 13 May 2019 11:25:43 +0800
From: Qin Wu <>
To: "Joe Clarke (jclarke)" <>
CC: Kent Watsen <>, "" <>
Thread-Topic: [netmod] Adoption poll for draft-wu-netmod-factory-default-02
Thread-Index: AdUJOv5diBJKwEvESayhrM+gAUAW3Q==
Date: Mon, 13 May 2019 03:25:43 +0000
Message-ID: <>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_B8F9A780D330094D99AF023C5877DABAA491092Bnkgeml513mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <>
Subject: Re: [netmod] Adoption poll for draft-wu-netmod-factory-default-02
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 13 May 2019 03:25:56 -0000

发件人: Joe Clarke (jclarke) []
发送时间: 2019年5月9日 22:27
收件人: Qin Wu <>
抄送: Kent Watsen <>;
主题: Re: [netmod] Adoption poll for draft-wu-netmod-factory-default-02

First, the term “YANG server” sounds odd to me.  I know what you mean, but I haven’t seen this defined before.  Maybe just saying a device or host is sufficient?

[Qin]: Right, “host”, in my opinion, is not a term used in the context of NETCONF, it is also usually referred to end device in many cases, I prefer to use device. The device should have YANG capability.

Seems like suggestions from Martin and Jürgen will sort this out.

When you talk about the datastore to be reset, you list <running>, <startup>, and <candidate>.  You state that each will receive the contents of <factory-default>.  The <candidate> DS wouldn’t need that.  I think it would just be zeroed out.

[Qin]: I have no strong opinion for this, <candidate> is also part of read-write configuration datastores, we could reset <candidate>, but I think it is not recommended based on what you say.

That’s my point.  I don’t think you want to really do anything with <candidate>.  Resetting <startup> and for runtime, <running> would seem to be sufficient (modulo other DSes the system may support).

[Qin]:I will add text to make this clear.

I think the RPC should reset any and all non-derived read-write datastores and not imply that a specific DS’s contents (i.e., the factory-default DS) is copied to them.  This way, other DSes would just be handled by this RPC based on implementation.  The <factory-default> can exist as the factory default contents for <startup>.
[Qin]: We have decoupled <factory-reset> rpc from <factory-default> datastore, since <factory-default> datastore is defined as optional datastore in the current version, <factory-default> content can be specified in many different ways, not limited to take content of <factory-default> datastore.
Also <factory-default> content is referred to preconfigured initial configuration that can be used to initialize the configuration of a server.
These will address your comment.

You still mention that you copy these contents as part of the RPC (or maybe I misread).  This is what led to my confusion.
[Qin]:I see, I will tweak the text to change as follows:
“copy the content of the datastore” into “copy the factory default content”.
Thanks Joe.