Re: [netmod] I-D Action: draft-ietf-netmod-factory-default-05.txt

Kent Watsen <> Fri, 01 November 2019 15:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3E87A12010C; Fri, 1 Nov 2019 08:23:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Status: No, score=-1.896 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_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mJ0N4TjP-Us3; Fri, 1 Nov 2019 08:23:56 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1D67E1200B8; Fri, 1 Nov 2019 08:23:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw;; t=1572621835; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=u0ayVGbocF1390bNSq77UvFJL78mnAiTzdFXFVhOjPo=; b=DSIV67Tje8h7zMmFLHyegSIbtj6XwBq2j2HNqGuL47MWml7dYEU6GZrBQSv1f0yT w1RQGRj/s8ZVwh2aF2C03zeMI4ZTyO/QK+Ua5PwHKNm+0xi5gdv5sDsaKldk6YD2HU+ vMungbEW1Ip9vylJ7xDdEaQNuVJr7uTJIiEJUL1E=
From: Kent Watsen <>
Message-ID: <>
Content-Type: multipart/alternative; boundary="Apple-Mail=_D18E2516-C64B-4CB6-803A-B219D878A1EB"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Fri, 01 Nov 2019 15:23:54 +0000
In-Reply-To: <>
To: "" <>
References: <> <>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.11.01-
Archived-At: <>
Subject: Re: [netmod] I-D Action: draft-ietf-netmod-factory-default-05.txt
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: Fri, 01 Nov 2019 15:23:58 -0000

I have reviewed -05 and support it so long as the following comments are considered:

Kent // contributor

==== review ====

Section 1 is missing a NMDA-compliance statement, per

Section 2 says:

   Factory-default content SHALL be specified by one of the following
   means in descending order of precedence

   1.  For the <running>,<candidate> and <startup> datastores as the
       content of the <factory-default> datastore, if it exists;

The (1) sentence doesn't flow from the sentence before.   Maybe you
mean something like:

   1.  Network management protocol (e.g., NETCONF, RESTCONF)
        operations may be used to access the contents  of <factory-default>.

Section 2 says:

   For the server supporting zero touch bootstrapping mechanisms, the
   factory default configuration causes the bootstrapping process to
   execute,e.g.,the server might reset configuration to device's factory
   default configuration,for the version of operating system software it
   is running.

s/the server might reset /the server resets /

Section 2 says:
   In addition,the "factory-reset" RPC might also be used
   to trigger some other restoring and resetting tasks such as files
   cleanup, restarting the node or some of the software processes,
   setting some security data/passwords to the default value, removing
   logs, or removing any temporary data (from datastore or elsewhere),

s/the "factory-reset" RPC might /the "factory-reset" RPC MAY / ???

Section 3 says:

   this document introduces a new datastore resource named
   'Factory-Default' ...

'Factory-Default' should not be capitalized.

Section 3 says:

    The contents of the datastore can be read using NETCONF, 
    RESTCONF <get-data> and <get-config> operations.

Which doesn't make sense.  Perhaps:

    The contents of the datastore can be read using NETCONF 
     <get-data> and <get-config> operations, and the RESTCONF
    protocol equivalents.

Section 3 says:

      The operation <factory-
      reset> can be used to copy the factory default content to a set of
      read-write configuration datastores and then the content of these
      datastores is propagated automatically to any other read only
      datastores, e.g., <intended> and <operational>.

This is confusing.  I think what you want to say is

      The operation <factory-
      reset> copies the factory default content to <running> and,
      if present, <startup>.

Section 4 says:

  import ietf-netconf { prefix nc ; }
  import ietf-datastores { prefix ds; }

These statements are missing "reference" statements.

Section 4 says:

    description "The read-only datastore contains the configuration that
      will be copied into e.g., the running datastore by the
      factory-reset operation if the target is the running

which excludes <startup> and confusingly mentions a "target" when
the RPC itself has no parameters.  Perhaps:

    description "The read-only datastore contains the configuration
    that  will be copied into <running> and, if present, <startup>.";

Section 5.

Please make the registrations have single-spaced lines.

Section 6.

The last paragraph doesn't make a point.  Perhaps conclude with
something like:

  "This module does not itself set "nacm:default-deny-write" on the 
   'factory-reset' RPC, leaving it to applications to configure the
    access control settings."

Appendix B should have a note to the RFC Stream Editor to 
remove it when the draft is published.


> On Nov 1, 2019, at 11:21 AM, Kent Watsen <> wrote:
> This begins a two-week Working Group Last Call (WGLC) on draft-ietf-netmod-factory-default-05.  The WGLC ends on Nov 15 (two days before the NETMOD 106 session).  Please send your comments to the working group 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.  Objections, concerns, and suggestions are also welcomed at this time.
> Thank you,
> NETMOD Chairs