idnits 2.17.1 draft-wu-netconf-restconf-factory-restore-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 11, 2018) is 2024 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC3688' is mentioned on line 305, but not defined == Missing Reference: 'RFC6020' is mentioned on line 315, but not defined == Unused Reference: 'RFC6241' is defined on line 354, but no explicit reference was found in the text == Unused Reference: 'RFC7950' is defined on line 359, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-netconf-zerotouch' is defined on line 379, but no explicit reference was found in the text == Outdated reference: A later version (-29) exists of draft-ietf-netconf-zerotouch-25 == Outdated reference: A later version (-05) exists of draft-lengyel-netmod-yang-instance-data-03 Summary: 0 errors (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NETCONF Working Group Q. Wu 3 Internet-Draft Huawei 4 Intended status: Standards Track B. Lengyel 5 Expires: April 14, 2019 Ericsson Hungary 6 Y. Niu 7 Huawei 8 October 11, 2018 10 Factory default Setting 11 draft-wu-netconf-restconf-factory-restore-03 13 Abstract 15 This document defines a method to reset a YANG datastore to its 16 factory-default content. The reset operation may be used e.g. during 17 initial zero-touch configuration or when the existing configuration 18 has major errors, so re-starting the configuration process from 19 scratch is the best option. 21 A new reset-datastore RPC is defined. Several methods of documenting 22 the factory-default content are specified. 24 Optionally a new "factory-default" read-only datastore is defined, 25 that contains the data that will be copied over to the running 26 datastore at reset. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on April 14, 2019. 45 Copyright Notice 47 Copyright (c) 2018 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (https://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 64 2. Reset-Datastore RPC . . . . . . . . . . . . . . . . . . . . . 3 65 3. Factory-Default Datastore . . . . . . . . . . . . . . . . . . 4 66 4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 5 67 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 68 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 69 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 70 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 71 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 72 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 73 9.2. Informative References . . . . . . . . . . . . . . . . . 9 74 Appendix A. Open Issues . . . . . . . . . . . . . . . . . . . . 9 75 Appendix B. Changes between revisions . . . . . . . . . . . . . 9 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 78 1. Introduction 80 This document defines a method to reset a YANG datastore to its 81 factory-default content. The reset operation may be used e.g. during 82 initial zero-touch configuration or when the existing configuration 83 has major errors, so re-starting the configuration process from 84 scratch is the best option. When resetting a datastore all previous 85 configuration settings will be lost and replaced by the factory- 86 default content. 88 A new reset-datastore RPC is defined. Several methods of documenting 89 the factory-default content are specified. 91 Optionally a new "factory-default" read-only datastore is defined, 92 that contains the data that will be copied over to the running 93 datastore at reset. This datastore can be used in or 94 operations. 96 NETCONF defines the operation that allows resetting the 97 datastore, and the operation that copies 98 the content of the datastore into the 99 datastore. However it is not possible to reset the running 100 datastore, to reset the candidate datastore without changing the 101 running datastore or to reset any dynamic datastore. 103 A RESTCONF server MAY implement the above NETCONF operations, but 104 that would still not allow it to reset the running configuration. 106 1.1. Terminology 108 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 109 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 110 "OPTIONAL" in this document are to be interpreted as described in BCP 111 14 [RFC2119] [RFC8174] when, and only when, they appear in all 112 capitals, as shown here. 114 The following terms are defined in [RFC8342] and are not redefined 115 here: 117 o startup configuration datastore 119 o candiate configuration datastore 121 o running configuration datastore 123 o intended configuration datastore 125 o operational state datastore 127 The following terms are defined in this document as follows: 129 o factory-default datastore: A read-only datastore holding a 130 preconfigured minimal initial configuration that can be used to 131 initialize the configuration of a server. The content of the 132 datastore is usually static, but MAY depend on external factors 133 like available HW. 135 2. Reset-Datastore RPC 137 A new "reset-datastore" RPC is introduced. It will have a target 138 datastore as a parameter. Upon receiveing the RPC the YANG server 139 resets the content of the target datastore to its factory-default 140 content. Only writable datastores can be specified as a target. 142 Read-only datastores receive their content from other datastores 143 (e.g. gets its content from ). 145 Factory-default content SHALL be specified by one of the following 146 means in order of precedence 148 1. For the , and datastores as the 149 content of the datastore, if it exists 151 2. YANG Instance Data [I-D.lengyel-netmod-yang-instance-data] 153 3. In some implementation specific manner 155 4. For dynamic datastores unless otherwise specified the factory- 156 default content is empty. 158 3. Factory-Default Datastore 160 This document introduces a new datastore resource named 'Factory- 161 Default' that represents a preconfigured minimal initial 162 configuration that can be used to initialize the configuration of a 163 server. 165 o Name: "factory-default" 167 o YANG modules: all 169 o YANG nodes: all "config true" data nodes 171 o Management operations: The content of the datastore is set by the 172 YANG server in an implementation dependent manner. The content 173 can not be changed by management operations via NETCONF, RESTCONF, 174 the CLI etc. unless specialized, dedicated operations are 175 provided. The contents of the datastore can be read using 176 NETCONF, RESTCONF operation. The operations or can be used to copy the content of the 178 datastore to another datastore. The content of the datastore is 179 not propagated auomatically to any other datastores. 181 o Origin: This document does not define a new origin identity as it 182 does not interact with datastore. 184 o Protocols: All e.g. Restconf, Netconf 186 o Defining YANG module: "ietf-factory-reset" 187 The datastore content is usually defined by the device vendor. It is 188 usually static, but MAY change e.g. depending on external factors 189 like HW available or during device upgrade. 191 On devices that support non-volatile storage, the contents of 192 MUST persist across restarts 194 4. YANG Module 196 file "ietf-factory-reset.yang" 197 module ietf-factory-reset { 198 yang-version 1.1; 199 namespace urn:ietf:params:xml:ns:yang:ietf-factory-reset ; 200 prefix fres ; 202 import ietf-netconf { prefix nc ; } 203 import ietf-datastores { prefix ds; } 205 organization 206 "IETF NETCONF (Network Configuration) Working Group"; 207 contact 208 "WG Web: 209 WG List: 211 WG Chair: Kent Watsen 212 214 WG Chair: Mahesh Jethanandani 215 217 Editor: Balazs Lengyel 218 220 Editor: Qin Wu 221 "; 223 description 224 "This module defines the 225 - reset-datastore RPC 226 - factory-default datastore 227 - an extension to the Netconf operation to 228 allow it to operate on the factory-default datastore. 230 It provides functionality to reset a YANG datastore to its 231 factory-default content. 233 Copyright (c) 2018 IETF Trust and the persons identified as 234 authors of the code. All rights reserved. 236 Redistribution and use in source and binary forms, with or 237 without modification, is permitted pursuant to, and subject to 238 the license terms contained in, the Simplified BSD License set 239 forth in Section 4.c of the IETF Trust's Legal Provisions 240 Relating to IETF Documents 241 (https://trustee.ietf.org/license-info). 243 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 244 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'MAY', and 245 'OPTIONAL' in the module text are to be interpreted as described 246 in RFC 2119 (https://tools.ietf.org/html/rfc2119). 248 This version of this YANG module is part of RFC XXXX 249 (https://tools.ietf.org/html/rfcXXXX); see the RFC itself for 250 full legal notices."; 252 revision 2018-10-09 { 253 description 254 "Initial revision."; 255 reference "RFC XXXX: Factory default Setting Capability for 256 RESTCONF"; 257 } 259 feature factory-default-as-datastore { 260 description "Indicates that the factory default configuration is 261 also available as a separate datastore"; 262 } 264 rpc reset-datastore { 265 description "The target datastore is reset to its factory 266 default content. "; 268 input { 269 leaf-list target-datasore { 270 type identityref { 271 base "ds:datastore" ; 272 } 273 min-elements 1; 274 description "The datastore(s) whose content will be 275 replaced by the factory-default configuration."; 276 } 277 // Do we need an extra parameter that may order a restart of 278 // the YANG-server or the whole system? 279 } 280 } 282 identity factory-default { 283 if-feature factory-default-as-datastore; 284 base ds:datastore; 285 description "The read-only datastore contains the configuration that 286 will be copied into e.g. the running datastore by the 287 reset-datastore operation if the target is the running 288 datastore."; 289 } 291 augment /nc:copy-config/nc:input/nc:source/nc:config-source { 292 if-feature factory-default-as-datastore; 293 description " Allows the copy-config operation to use the 294 factory-default datastore as a source"; 295 leaf factory-default { 296 type empty ; 297 description 298 "The factory-default datastore is the source."; } 299 } 300 } 301 303 5. IANA Considerations 305 This document registers one URI in the IETF XML Registry [RFC3688]. 306 The following registration has been made: 308 URI: urn:ietf:params:xml:ns:yang:ietf-factory-reset 310 Registrant Contact: The IESG. 312 XML: N/A, the requested URI is an XML namespace. 314 This document registers one YANG module in the YANG Module Names 315 Registry [RFC6020]. The following registration has been made: 317 name: ietf-factory-reset 319 namespace: urn:ietf:params:xml:ns:yang:ietf-factory-reset 321 prefix: fres 323 RFC: xxxx 325 6. Security Considerations 327 The RPC can overwrite important and security 328 sensitive information in one of the other datastores e.g. running, 329 therefore it is important to restrict access to this RPC using the 330 standard NETCONF/RESTCONF access control methods.[RFC8341] 331 The content of the factory-default datastore is usually not security 332 sensitive as it is the same on any device of a certain type. 334 7. Acknowledgements 336 Thanks to Juergen Schoenwaelder, Ladislav Lhotka to review this draft 337 and provide important input to this document. 339 8. Contributors 341 Rohit R Ranade 342 Huawei 343 Email: rohitrranade@huawei.com 345 9. References 347 9.1. Normative References 349 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 350 Requirement Levels", BCP 14, RFC 2119, 351 DOI 10.17487/RFC2119, March 1997, 352 . 354 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 355 and A. Bierman, Ed., "Network Configuration Protocol 356 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 357 . 359 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 360 RFC 7950, DOI 10.17487/RFC7950, August 2016, 361 . 363 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 364 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 365 May 2017, . 367 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 368 Access Control Model", STD 91, RFC 8341, 369 DOI 10.17487/RFC8341, March 2018, 370 . 372 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 373 and R. Wilton, "Network Management Datastore Architecture 374 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 375 . 377 9.2. Informative References 379 [I-D.ietf-netconf-zerotouch] 380 Watsen, K., Abrahamsson, M., and I. Farrer, "Zero Touch 381 Provisioning for Networking Devices", draft-ietf-netconf- 382 zerotouch-25 (work in progress), September 2018. 384 [I-D.lengyel-netmod-yang-instance-data] 385 Lengyel, B. and B. Claise, "YANG Instance Data Files and 386 their use for Documenting Server Capabilities", draft- 387 lengyel-netmod-yang-instance-data-03 (work in progress), 388 July 2018. 390 Appendix A. Open Issues 392 o Do we need a restart after ? What kind of 393 restart, just the Yang-Server or the full system? 395 o Do we need the concept of reboot? How is that different from a 396 restart? Does it result in some sort of reset-datastore? 398 Appendix B. Changes between revisions 400 v02 - v03 402 o Restructured 404 o Made new datastore optional 406 o Removed Netconf capability 408 o Listed Open issues 410 v01 - v02 412 o - 414 v00 - v01 416 o - 418 Authors' Addresses 419 Qin Wu 420 Huawei 421 101 Software Avenue, Yuhua District 422 Nanjing, Jiangsu 210012 423 China 425 Email: bill.wu@huawei.com 427 Balazs Lengyel 428 Ericsson Hungary 429 Magyar Tudosok korutja 11 430 1117 Budapest 431 Hungary 433 Phone: +36-70-330-7909 434 Email: balazs.lengyel@ericsson.com 436 Ye Niu 437 Huawei 439 Email: niuye@huawei.com