| < draft-ietf-netmod-nmda-diff-08.txt | draft-ietf-netmod-nmda-diff-09.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Clemm | Network Working Group A. Clemm | |||
| Internet-Draft Y. Qu | Internet-Draft Y. Qu | |||
| Intended status: Standards Track Futurewei | Intended status: Standards Track Futurewei | |||
| Expires: November 25, 2021 J. Tantsura | Expires: December 19, 2021 J. Tantsura | |||
| Apstra | Apstra | |||
| A. Bierman | A. Bierman | |||
| YumaWorks | YumaWorks | |||
| May 24, 2021 | June 17, 2021 | |||
| Comparison of NMDA datastores | Comparison of NMDA datastores | |||
| draft-ietf-netmod-nmda-diff-08 | draft-ietf-netmod-nmda-diff-09 | |||
| Abstract | Abstract | |||
| This document defines an RPC operation to compare management | This document defines an RPC operation to compare management | |||
| datastores that comply with the NMDA architecture. | datastores that comply with the NMDA architecture. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on November 25, 2021. | This Internet-Draft will expire on December 19, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 24 ¶ | skipping to change at page 2, line 24 ¶ | |||
| 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. Performance Considerations . . . . . . . . . . . . . . . . . 14 | 7. Performance Considerations . . . . . . . . . . . . . . . . . 14 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8.1. Updates to the IETF XML Registry . . . . . . . . . . . . 15 | 8.1. Updates to the IETF XML Registry . . . . . . . . . . . . 15 | |||
| 8.2. Updates to the YANG Module Names Registry . . . . . . . . 15 | 8.2. Updates to the YANG Module Names Registry . . . . . . . . 15 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 16 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 16 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 17 | 11.2. Informative References . . . . . . . . . . . . . . . . . 17 | |||
| Appendix A. Possible Future Extensions . . . . . . . . . . . . . 17 | Appendix A. Possible Future Extensions . . . . . . . . . . . . . 18 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Introduction | 1. Introduction | |||
| The revised Network Management Datastore Architecture (NMDA) | The revised Network Management Datastore Architecture (NMDA) | |||
| [RFC8342] introduces a set of new datastores that each hold YANG- | [RFC8342] introduces a set of new datastores that each hold YANG- | |||
| defined data [RFC7950] and represent a different "viewpoint" on the | defined data [RFC7950] and represent a different "viewpoint" on the | |||
| data that is maintained by a server. New YANG datastores that are | data that is maintained by a server. New YANG datastores that are | |||
| introduced include <intended>, which contains validated configuration | introduced include <intended>, which contains validated configuration | |||
| data that a client application intends to be in effect, and | data that a client application intends to be in effect, and | |||
| <operational>, which contains operational state data (such as | <operational>, which contains operational state data (such as | |||
| statistics) as well as configuration data that is actually in effect. | statistics) as well as configuration data that is actually in effect. | |||
| NMDA introduces in effect a concept of "lifecycle" for management | NMDA introduces in effect a concept of "lifecycle" for management | |||
| data, distinguishing between data that is part of a configuration | data, distinguishing between data that is part of a configuration | |||
| that was supplied by a user, configuration data that has actually | that was supplied by a user, configuration data that has actually | |||
| been successfully applied and that is part of the operational state, | been successfully applied and that is part of the operational state, | |||
| and overall operational state that includes both applied | and overall operational state that includes both applied | |||
| configuration data as well as status and statistics | configuration data as well as status and statistics. | |||
| As a result, data from the same management model can be reflected in | As a result, data from the same management model can be reflected in | |||
| multiple datastores. Clients need to specify the target datastore to | multiple datastores. Clients need to specify the target datastore to | |||
| be specific about which viewpoint of the data they want to access. | be specific about which viewpoint of the data they want to access. | |||
| For example, a client application can differentiate whether they are | For example, a client application can differentiate whether they are | |||
| interested in the configuration supplied to a server and that is | interested in the configuration supplied to a server and that is | |||
| supposed to be in effect, or the configuration that has been applied | supposed to be in effect, or the configuration that has been applied | |||
| and is actually in effect on the server. | and is actually in effect on the server. | |||
| Due to the fact that data can propagate from one datastore to | Due to the fact that data can propagate from one datastore to | |||
| skipping to change at page 4, line 30 ¶ | skipping to change at page 4, line 30 ¶ | |||
| o target: The target identifies the datastore to compare against the | o target: The target identifies the datastore to compare against the | |||
| source, for example <operational>. | source, for example <operational>. | |||
| o filter-spec: This is a choice between different filter constructs | o filter-spec: This is a choice between different filter constructs | |||
| to identify the parts of the datastore to be retrieved. It acts | to identify the parts of the datastore to be retrieved. It acts | |||
| as a node selector that specifies which data nodes are within the | as a node selector that specifies which data nodes are within the | |||
| scope of the comparison and which nodes are outside the scope. | scope of the comparison and which nodes are outside the scope. | |||
| This allows a comparison operation to be applied only to a | This allows a comparison operation to be applied only to a | |||
| specific part of the datastore that is of interest, such as a | specific part of the datastore that is of interest, such as a | |||
| particular subtree. Note, the filter does not allow expressions | particular subtree. Note, the filter does not allow expressions | |||
| that match against data node values, since this may incure | that match against data node values, since this may incur | |||
| implementation difficulties and is not required for normal use | implementation difficulties and is not required for normal use | |||
| cases. | cases. | |||
| o all: When set, this parameter indicates that all differences | o all: When set, this parameter indicates that all differences | |||
| should be included, including differences pertaining to schema | should be included, including differences pertaining to schema | |||
| nodes that exist in only one of the datastores. When this | nodes that exist in only one of the datastores. When this | |||
| parameter is not included, a prefiltering step is automatically | parameter is not included, a prefiltering step is automatically | |||
| applied to exclude data from the comparison that does not pertain | applied to exclude data from the comparison that does not pertain | |||
| to both datastores: if the same schema node is not present in both | to both datastores: if the same schema node is not present in both | |||
| datastores, then all instances of that schema node and all its | datastores, then all instances of that schema node and all its | |||
| skipping to change at page 6, line 40 ¶ | skipping to change at page 6, line 40 ¶ | |||
| +--ro target target-resource-offset | +--ro target target-resource-offset | |||
| +--ro point? target-resource-offset | +--ro point? target-resource-offset | |||
| +--ro where? enumeration | +--ro where? enumeration | |||
| +--ro value? | +--ro value? | |||
| +--ro source-value? | +--ro source-value? | |||
| Structure of ietf-nmda-compare | Structure of ietf-nmda-compare | |||
| 5. YANG Data Model | 5. YANG Data Model | |||
| <CODE BEGINS> file "ietf-nmda-compare@2021-05-24.yang" | <CODE BEGINS> file "ietf-nmda-compare@2021-06-17.yang" | |||
| module ietf-nmda-compare { | module ietf-nmda-compare { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-nmda-compare"; | namespace "urn:ietf:params:xml:ns:yang:ietf-nmda-compare"; | |||
| prefix cmp; | prefix cmp; | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| skipping to change at page 7, line 48 ¶ | skipping to change at page 7, line 48 ¶ | |||
| Copyright (c) 2021 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
| forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see the | This version of this YANG module is part of | |||
| RFC itself for full legal notices."; | draft-ietf-netmod-nmda-diff-09; see the RFC itself for full | |||
| legal notices. | ||||
| revision 2021-05-24 { | NOTE TO RFC EDITOR: Please replace above reference to | |||
| draft-ietf-netmod-nmda-diff-09 with RFC number when published | ||||
| (i.e. RFC xxxx)."; | ||||
| revision 2021-06-17 { | ||||
| description | description | |||
| "Initial revision"; | "Initial revision. | |||
| NOTE TO RFC EDITOR: | ||||
| (1)Please replace the above revision date to | ||||
| the date of RFC publication when published. | ||||
| (2) Please replace the date in the file name | ||||
| (ietf-nmda-compare@2021-06-17.yang) to the date of RFC | ||||
| publication. | ||||
| (3) Please replace the following reference to | ||||
| draft-ietf-netmod-nmda-diff-09 with RFC number when published | ||||
| (i.e. RFC xxxx)."; | ||||
| reference | reference | |||
| "RFC XXXX: Comparison of NMDA datastores"; | "draft-ietf-netmod-nmda-diff-09: Comparison of NMDA | |||
| datastores"; | ||||
| } | } | |||
| /* RPC */ | /* RPC */ | |||
| rpc compare { | rpc compare { | |||
| description | description | |||
| "NMDA datastore compare operation."; | "NMDA datastore compare operation."; | |||
| input { | input { | |||
| leaf source { | leaf source { | |||
| type identityref { | type identityref { | |||
| base ds:datastore; | base ds:datastore; | |||
| skipping to change at page 15, line 26 ¶ | skipping to change at page 15, line 26 ¶ | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | URI: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| 8.2. Updates to the YANG Module Names Registry | 8.2. Updates to the YANG Module Names Registry | |||
| This document registers a YANG module in the YANG Module Names | This document registers a YANG module in the YANG Module Names | |||
| registry [RFC7950]. Following the format in [RFC7950], the following | registry [RFC6020]. Following the format in [RFC6020], the following | |||
| registration is requested: | registration is requested: | |||
| name: ietf-nmda-compare | name: ietf-nmda-compare | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | namespace: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | |||
| prefix: cmp | prefix: cmp | |||
| reference: RFC XXXX | reference: draft-ietf-netmod-nmda-diff-09 (RFC form) | |||
| 9. Security Considerations | 9. Security Considerations | |||
| The YANG module specified in this document defines a schema for data | The YANG module specified in this document defines a schema for data | |||
| that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
| as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
| transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
| is HTTPS, and the mandatory-to-implement secure transport is TLS | is HTTPS, and the mandatory-to-implement secure transport is TLS | |||
| [RFC8446]. | [RFC8446]. | |||
| skipping to change at page 16, line 40 ¶ | skipping to change at page 16, line 40 ¶ | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | ||||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | ||||
| DOI 10.17487/RFC6020, October 2010, | ||||
| <https://www.rfc-editor.org/info/rfc6020>. | ||||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
| Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
| <https://www.rfc-editor.org/info/rfc6242>. | <https://www.rfc-editor.org/info/rfc6242>. | |||
| [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | |||
| End of changes. 15 change blocks. | ||||
| 15 lines changed or deleted | 35 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||