From e1c9ece09ee5756b360a741d4b5740e65bc816ad Mon Sep 17 00:00:00 2001 From: Reshad Rahman Date: Thu, 27 Feb 2020 15:28:28 -0500 Subject: [PATCH] Changes to RESTCONF section as per DT discussions --- ...draft-wilton-netmod-yang-ver-selection.txt | 474 ++++++++++-------- ...draft-wilton-netmod-yang-ver-selection.xml | 54 +- 2 files changed, 308 insertions(+), 220 deletions(-) diff --git a/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.txt b/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.txt index 8be1bc7..e9a926f 100644 --- a/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.txt +++ b/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.txt @@ -5,12 +5,12 @@ Network Working Group R. Wilton Internet-Draft R. Rahman Intended status: Standards Track J. Clarke -Expires: August 29, 2020 Cisco Systems, Inc. +Expires: August 30, 2020 Cisco Systems, Inc. J. Sterne Nokia B. Wu Huawei - February 26, 2020 + February 27, 2020 YANG Schema Selection @@ -43,7 +43,7 @@ Status of This Memo time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on August 29, 2020. + This Internet-Draft will expire on August 30, 2020. Copyright Notice @@ -53,7 +53,7 @@ Copyright Notice -Wilton, et al. Expires August 29, 2020 [Page 1] +Wilton, et al. Expires August 30, 2020 [Page 1] Internet-Draft YANG Schema Selection February 2020 @@ -82,26 +82,26 @@ Table of Contents 5.4.1. NETCONF . . . . . . . . . . . . . . . . . . . . . . . 8 5.4.1.1. schema-sets NETCONF capability . . . . . . . . . 8 5.4.2. RESTCONF . . . . . . . . . . . . . . . . . . . . . . 10 - 5.5. Custom schema-sets . . . . . . . . . . . . . . . . . . . 10 + 5.5. Custom schema-sets . . . . . . . . . . . . . . . . . . . 11 6. Schema selection from a server perspective . . . . . . . . . 11 - 7. Schema selection from a client perspective . . . . . . . . . 11 + 7. Schema selection from a client perspective . . . . . . . . . 12 7.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . 12 8. Limitations of the solution . . . . . . . . . . . . . . . . . 13 9. Schema Selection YANG module . . . . . . . . . . . . . . . . 13 - 10. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 14 + 10. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 15 11. Security Considerations . . . . . . . . . . . . . . . . . . . 20 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 12.1. NETCONF Capability URNs . . . . . . . . . . . . . . . . 20 - 13. Open Questions/Issues . . . . . . . . . . . . . . . . . . . . 20 - 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 + 13. Open Questions/Issues . . . . . . . . . . . . . . . . . . . . 21 + 14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 15.1. Normative References . . . . . . . . . . . . . . . . . . 21 - 15.2. Informative References . . . . . . . . . . . . . . . . . 22 - Appendix A. Schema selection examples . . . . . . . . . . . . . 22 + 15.2. Informative References . . . . . . . . . . . . . . . . . 23 + Appendix A. Schema selection examples . . . . . . . . . . . . . 23 A.1. Supporting older versions of a schema . . . . . . . . . . 23 - A.1.1. Variation - Multiple selectable schema-sets . . . . . 25 + A.1.1. Variation - Multiple selectable schema-sets . . . . . 26 A.2. Supporting different schema families . . . . . . . . . . 26 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 @@ -109,7 +109,7 @@ Table of Contents -Wilton, et al. Expires August 29, 2020 [Page 2] +Wilton, et al. Expires August 30, 2020 [Page 2] Internet-Draft YANG Schema Selection February 2020 @@ -165,7 +165,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 3] +Wilton, et al. Expires August 30, 2020 [Page 3] Internet-Draft YANG Schema Selection February 2020 @@ -221,7 +221,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 4] +Wilton, et al. Expires August 30, 2020 [Page 4] Internet-Draft YANG Schema Selection February 2020 @@ -277,7 +277,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 5] +Wilton, et al. Expires August 30, 2020 [Page 5] Internet-Draft YANG Schema Selection February 2020 @@ -333,7 +333,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 6] +Wilton, et al. Expires August 30, 2020 [Page 6] Internet-Draft YANG Schema Selection February 2020 @@ -389,7 +389,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 7] +Wilton, et al. Expires August 30, 2020 [Page 7] Internet-Draft YANG Schema Selection February 2020 @@ -445,7 +445,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 8] +Wilton, et al. Expires August 30, 2020 [Page 8] Internet-Draft YANG Schema Selection February 2020 @@ -501,7 +501,7 @@ Internet-Draft YANG Schema Selection February 2020 -Wilton, et al. Expires August 29, 2020 [Page 9] +Wilton, et al. Expires August 30, 2020 [Page 9] Internet-Draft YANG Schema Selection February 2020 @@ -523,45 +523,75 @@ Internet-Draft YANG Schema Selection February 2020 5.4.2. RESTCONF For RESTCONF, schema-sets are chosen via use of their name in the - request path. - - If the chosen schema-set is not available then the SERVER MUST fail - the operationa and return an XXX error. + request URI. Clients select the desired schema-set by choosing the corresponding - RESTCONF root resource + RESTCONF root resource. This is done by appending the schema-set + name to the RESTCONF API root [RFC8040]. This updates Section 3.1 of + [RFC8040] and Section 3 of [RFC8527]. - This updates Section 3.1 of [RFC8040]. For example, consider a - device which has been configured with root-path "/restconf/example- - ietf-routing-1.3.1" for secondary schema-set "example-ietf-routing- - 1.3.1". Any operations by the client on schema-set "example-ietf- - routing-1.3.1" would use "/restconf/example-ietf-routing-1.3.1" as - the RESTCONF root resource. + Clients will use RESTCONF root resource {+restconf}/schema/ for all requests pertaining to resources specific to a schema- + set. Consider a device which supports schema-sets vendor- + schema@3.0.0, vendor-schema@2.1.0 and vendor-schema@1.4.5: clients + will use RESTCONF root resource {+restconf}/schema/vendor- + schema@X.Y.Z for all requests pertaining to resources defined in + schema-set vendor-schema@X.Y.Z. This applies to all RESTCONF + resources defined in vendor-schema@X.Y.Z. - TODO - Expand this explanation + Here are some examples where {+restconf} is /restconf/. -5.5. Custom schema-sets + Examples for servers which are NOT NMDA-compliant as per [RFC8527]: - Custom schema-sets, if supported by the server, allow clients to: + 1. /restconf/schema/vendor-schema@X.Y.Z/data for datastore + resources. - o Configure client meaningful names for selectable schema-sets. + 2. /restconf/schema/vendor-schema@X.Y.Z/data/module-A:data-X for + data resource "data-X" defined in module "module-A". - o Combine compatible schema-sets together into a combined named - schema-set that is then selectable by clients. E.g. a client - might want to use a combination of standard configuration models - along with vendor configuration models to manage functionality not - covered by the standard models. + 3. /restconf/schema/vendor-schema@X.Y.Z/operations/module-B:op-Y for + RPC "op-Y" defined in module "module-B" -Wilton, et al. Expires August 29, 2020 [Page 10] +Wilton, et al. Expires August 30, 2020 [Page 10] Internet-Draft YANG Schema Selection February 2020 + 4. /restconf/schema/vendor-schema@X.Y.Z/data/module-C:containerZ/ + myaction for action "myaction" defined in top-container + "containerZ" of module "module-C" + + Examples for servers which are NMDA-compliant as per [RFC8527]: + + 1. /restconf/schema/vendor-schema@X.Y.Z/ds// for + datastore resources, e.g. /restconf/schema/vendor- + schema@X.Y.Z/ds/ietf-datastores:running refers to the Running + configuration datastore. + + 2. /restconf/schema/vendor-schema@X.Y.Z/ds/ietf- + datastores:operational for YANG actions. + + If the chosen schema-set is not available then an error response + containing a "404 Not Found" status-line MUST be returned by the + server. + +5.5. Custom schema-sets + + Custom schema-sets, if supported by the server, allow clients to: + + o Configure client meaningful names for selectable schema-sets. + + o Combine compatible schema-sets together into a combined named + schema-set that is then selectable by clients. E.g. a client + might want to use a combination of standard configuration models + along with vendor configuration models to manage functionality not + covered by the standard models. + 6. Schema selection from a server perspective The general premise of this solution is that servers generally @@ -580,6 +610,14 @@ Internet-Draft YANG Schema Selection February 2020 the different schema. The expectation is that this would be achieved by mapping all requests to the device's native schema version. + + + +Wilton, et al. Expires August 30, 2020 [Page 11] + +Internet-Draft YANG Schema Selection February 2020 + + Datastore validation MAY need to be performed in two places, firstly in whichever schema a client is interacting in, and secondly in the native schema for the device. This could have a negative performance @@ -610,14 +648,6 @@ Internet-Draft YANG Schema Selection February 2020 the client, and the client may have to choose a later version that is backwards compatible with their desired version. Clients may also have to accept later schema versions that contain NBC fixes, although - - - -Wilton, et al. Expires August 29, 2020 [Page 11] - -Internet-Draft YANG Schema Selection February 2020 - - the assumption is that such NBC fixes should be designed to minimize the impact on clients. @@ -637,6 +667,13 @@ Internet-Draft YANG Schema Selection February 2020 schema-set with a server that has multiple schema-sets in the 'selectable' leaf-list: + + +Wilton, et al. Expires August 30, 2020 [Page 12] + +Internet-Draft YANG Schema Selection February 2020 + + 1. Disconnect the current session 2. Reconnect and select a new schema-set from the 'selectable' leaf- @@ -667,13 +704,6 @@ Internet-Draft YANG Schema Selection February 2020 selecting it during capability exchange, or by using no selection and relying on the new default schema-set). - - -Wilton, et al. Expires August 29, 2020 [Page 12] - -Internet-Draft YANG Schema Selection February 2020 - - 4. The client can then optionally send a complete new configuration using the new schema (i.e. if the client knows that the server can't perfectly convert everything from the old schema to the new @@ -693,6 +723,13 @@ Internet-Draft YANG Schema Selection February 2020 the schema-sets that are available, and to allow clients to choose which schema-set they wish to use. + + +Wilton, et al. Expires August 30, 2020 [Page 13] + +Internet-Draft YANG Schema Selection February 2020 + + Feature are used to allow servers to decide whether they allow the primary schema-set to be changed, and/or allow secondary schema-sets to be configured. @@ -711,25 +748,6 @@ Internet-Draft YANG Schema Selection February 2020 Different schema-sets may support different datastores. - - - - - - - - - - - - - - -Wilton, et al. Expires August 29, 2020 [Page 13] - -Internet-Draft YANG Schema Selection February 2020 - - The "ietf-schema-version-selection" YANG module has the following structure: @@ -760,6 +778,14 @@ Internet-Draft YANG Schema Selection February 2020 -> /schema-set-selection/schema-set/name + + + +Wilton, et al. Expires August 30, 2020 [Page 14] + +Internet-Draft YANG Schema Selection February 2020 + + 10. YANG Module The YANG module definition for the module described in the previous @@ -778,14 +804,6 @@ Internet-Draft YANG Schema Selection February 2020 reference "XXXX: Updated YANG Module Revision Handling"; } - - - -Wilton, et al. Expires August 29, 2020 [Page 14] - -Internet-Draft YANG Schema Selection February 2020 - - import ietf-datastores { prefix ds; rev:revision-or-derived 2018-02-14; @@ -817,6 +835,13 @@ Internet-Draft YANG Schema Selection February 2020 "This module provide a data model to advertise and allow the selection of schema versions by clients. + + +Wilton, et al. Expires August 30, 2020 [Page 15] + +Internet-Draft YANG Schema Selection February 2020 + + Copyright (c) 2019 IETF Trust and the persons identified as authors of the code. All rights reserved. @@ -834,14 +859,6 @@ Internet-Draft YANG Schema Selection February 2020 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, - - - -Wilton, et al. Expires August 29, 2020 [Page 15] - -Internet-Draft YANG Schema Selection February 2020 - - they appear in all capitals, as shown here."; @@ -873,6 +890,14 @@ Internet-Draft YANG Schema Selection February 2020 presence "Enable schema selection"; description + + + +Wilton, et al. Expires August 30, 2020 [Page 16] + +Internet-Draft YANG Schema Selection February 2020 + + "YANG schema-set selection. Contains configuration and state related to client selectable @@ -891,13 +916,6 @@ Internet-Draft YANG Schema Selection February 2020 capability negotiation or RESTCONF schema specific path)."; } - - -Wilton, et al. Expires August 29, 2020 [Page 16] - -Internet-Draft YANG Schema Selection February 2020 - - leaf default { type leafref { path "/schema-set-selection/selectable"; @@ -928,6 +946,14 @@ Internet-Draft YANG Schema Selection February 2020 '@'. The selectable-schema name is used in NETCONF capabilties + + + +Wilton, et al. Expires August 30, 2020 [Page 17] + +Internet-Draft YANG Schema Selection February 2020 + + negotiation and also the RESTCONF path (XXX, is encoding required, e.g. for '@'?)"; } @@ -946,14 +972,6 @@ Internet-Draft YANG Schema Selection February 2020 description "Lists the schema that are combined together into a single selectable schema (i.e. via a union operation on each - - - -Wilton, et al. Expires August 29, 2020 [Page 17] - -Internet-Draft YANG Schema Selection February 2020 - - datastore schema package)."; } } @@ -984,6 +1002,14 @@ Internet-Draft YANG Schema Selection February 2020 the full configurable schema of the device."; } + + + +Wilton, et al. Expires August 30, 2020 [Page 18] + +Internet-Draft YANG Schema Selection February 2020 + + list datastore { key "name"; @@ -1002,14 +1028,6 @@ Internet-Draft YANG Schema Selection February 2020 (NMDA)"; } - - - -Wilton, et al. Expires August 29, 2020 [Page 18] - -Internet-Draft YANG Schema Selection February 2020 - - leaf read-only { type empty; description @@ -1040,6 +1058,14 @@ Internet-Draft YANG Schema Selection February 2020 type leafref { path "/schema-set-selection/schema-set/name"; } + + + +Wilton, et al. Expires August 30, 2020 [Page 19] + +Internet-Draft YANG Schema Selection February 2020 + + description "Lists other schema-sets that MAY be selected at the same time as this schema."; @@ -1058,14 +1084,6 @@ Internet-Draft YANG Schema Selection February 2020 leaf-list combinable { type leafref { path "/schema-set-selection/schema-set/name"; - - - -Wilton, et al. Expires August 29, 2020 [Page 19] - -Internet-Draft YANG Schema Selection February 2020 - - } description "Lists the schema-sets that MAY be combined with this @@ -1095,6 +1113,15 @@ Internet-Draft YANG Schema Selection February 2020 Capability URNs" needs to be updated to include the following capability. + + + + +Wilton, et al. Expires August 30, 2020 [Page 20] + +Internet-Draft YANG Schema Selection February 2020 + + Index Capability Identifier ------------------------- @@ -1112,16 +1139,6 @@ Internet-Draft YANG Schema Selection February 2020 The ideas that formed this draft are based on discussions with the YANG versioning design team, and other members of the NETMOD WG. - - - - - -Wilton, et al. Expires August 29, 2020 [Page 20] - -Internet-Draft YANG Schema Selection February 2020 - - 15. References 15.1. Normative References @@ -1153,6 +1170,14 @@ Internet-Draft YANG Schema Selection February 2020 verdt-netmod-yang-versioning-reqs-02 (work in progress), November 2018. + + + +Wilton, et al. Expires August 30, 2020 [Page 21] + +Internet-Draft YANG Schema Selection February 2020 + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, @@ -1167,17 +1192,6 @@ Internet-Draft YANG Schema Selection February 2020 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, . - - - - - - -Wilton, et al. Expires August 29, 2020 [Page 21] - -Internet-Draft YANG Schema Selection February 2020 - - [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration Protocol (NETCONF) Access Control Model", RFC 6536, DOI 10.17487/RFC6536, March 2012, @@ -1205,6 +1219,21 @@ Internet-Draft YANG Schema Selection February 2020 DOI 10.17487/RFC8525, March 2019, . + [RFC8527] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., + and R. Wilton, "RESTCONF Extensions to Support the Network + Management Datastore Architecture", RFC 8527, + DOI 10.17487/RFC8527, March 2019, + . + + + + + +Wilton, et al. Expires August 30, 2020 [Page 22] + +Internet-Draft YANG Schema Selection February 2020 + + 15.2. Informative References [I-D.ietf-netmod-artwork-folding] @@ -1227,13 +1256,6 @@ Appendix A. Schema selection examples packages do not include other packages, and the module lists have been elided. - - -Wilton, et al. Expires August 29, 2020 [Page 22] - -Internet-Draft YANG Schema Selection February 2020 - - Package and module checksums have been omitted to minimize line wrapping. @@ -1261,6 +1283,13 @@ A.1. Supporting older versions of a schema vendor-schema@1.3.1, a preceding NBC software version + + +Wilton, et al. Expires August 30, 2020 [Page 23] + +Internet-Draft YANG Schema Selection February 2020 + + Schema selection data from the operational state datastore: @@ -1282,14 +1311,6 @@ A.1. Supporting older versions of a schema vendor-schema 1.4.5 - - - -Wilton, et al. Expires August 29, 2020 [Page 23] - -Internet-Draft YANG Schema Selection February 2020 - - @@ -1317,6 +1338,14 @@ Internet-Draft YANG Schema Selection February 2020 vendor-schema@2.1.0 ds:running + + + +Wilton, et al. Expires August 30, 2020 [Page 24] + +Internet-Draft YANG Schema Selection February 2020 + + vendor-schema 2.1.0 @@ -1338,14 +1367,6 @@ Internet-Draft YANG Schema Selection February 2020 ds:running vendor-schema - - - -Wilton, et al. Expires August 29, 2020 [Page 24] - -Internet-Draft YANG Schema Selection February 2020 - - 1.4.5 @@ -1372,6 +1393,15 @@ Internet-Draft YANG Schema Selection February 2020 NETCONF sessions (that were previously interacting using vendor- schema@3.0.0) will be closed, and clients need to reconnect, at which point they will interact with schema-set vendor-schema@1.4.5, and + + + + +Wilton, et al. Expires August 30, 2020 [Page 25] + +Internet-Draft YANG Schema Selection February 2020 + + also see the contents of YANG library updated to reflect the datastore-schema reported in vendor-schema@1.4.5. @@ -1393,15 +1423,6 @@ A.1.1. Variation - Multiple selectable schema-sets the schema at the same time. E.g., this could be achieved with the following configuration: - - - - -Wilton, et al. Expires August 29, 2020 [Page 25] - -Internet-Draft YANG Schema Selection February 2020 - - Configuring multiple selectable schema: @@ -1429,6 +1450,14 @@ A.2. Supporting different schema families TODO - Expand description + + + +Wilton, et al. Expires August 30, 2020 [Page 26] + +Internet-Draft YANG Schema Selection February 2020 + + Schema families, with custom schema =================================== @@ -1450,14 +1479,6 @@ The clients may configure the device in three different ways: (2) If the clients wants to use multiple schema families, but restrict some interactions to a particular schema family, then they configure the default schema as "combined-schema", but also configure their desired secondary schema (any combination or "vendor-schema", "ietf-schema" or "oc-schema"). - - - -Wilton, et al. Expires August 29, 2020 [Page 26] - -Internet-Draft YANG Schema Selection February 2020 - - combined-schema @@ -1486,6 +1507,13 @@ Internet-Draft YANG Schema Selection February 2020 Note, for the last case, rather than requiring the client to configure custom schema, the device could predefine "vendor + ietf" and "vendor + oc" schema-sets. + + +Wilton, et al. Expires August 30, 2020 [Page 27] + +Internet-Draft YANG Schema Selection February 2020 + + @@ -1506,14 +1534,6 @@ Note, for the last case, rather than requiring the client to configure custom sc - - - -Wilton, et al. Expires August 29, 2020 [Page 27] - -Internet-Draft YANG Schema Selection February 2020 - - oc-schema 1.0.0 @@ -1542,6 +1562,14 @@ Internet-Draft YANG Schema Selection February 2020 ds:running + + + +Wilton, et al. Expires August 30, 2020 [Page 28] + +Internet-Draft YANG Schema Selection February 2020 + + ds:operational @@ -1562,14 +1590,6 @@ Internet-Draft YANG Schema Selection February 2020 ietf-schema oc-schema - - - -Wilton, et al. Expires August 29, 2020 [Page 28] - -Internet-Draft YANG Schema Selection February 2020 - - ietf-schema oc-schema @@ -1598,6 +1618,14 @@ Internet-Draft YANG Schema Selection February 2020 oc-schema + + + +Wilton, et al. Expires August 30, 2020 [Page 29] + +Internet-Draft YANG Schema Selection February 2020 + + oc-schema 1.0.0 @@ -1618,14 +1646,6 @@ Internet-Draft YANG Schema Selection February 2020 - - - -Wilton, et al. Expires August 29, 2020 [Page 29] - -Internet-Draft YANG Schema Selection February 2020 - - Authors' Addresses Robert Wilton @@ -1652,6 +1672,16 @@ Authors' Addresses Email: jason.sterne@nokia.com + + + + + +Wilton, et al. Expires August 30, 2020 [Page 30] + +Internet-Draft YANG Schema Selection February 2020 + + Bo Wu Huawei @@ -1677,4 +1707,30 @@ Authors' Addresses -Wilton, et al. Expires August 29, 2020 [Page 30] + + + + + + + + + + + + + + + + + + + + + + + + + + +Wilton, et al. Expires August 30, 2020 [Page 31] diff --git a/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.xml b/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.xml index 87e7df0..a44af96 100644 --- a/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.xml +++ b/yang-ver-selection/draft-wilton-netmod-yang-ver-selection.xml @@ -12,6 +12,7 @@ + ]> @@ -359,17 +360,47 @@
- For RESTCONF, schema-sets are chosen via use of their name in the request path. - If the chosen schema-set is not available then the SERVER MUST fail the operation and - return an XXX error. - Clients select the desired schema-set by choosing the corresponding RESTCONF root resource - This updates Section 3.1 of . For example, consider a device - which has been configured with root-path "/restconf/example-ietf-routing-1.3.1" for - secondary schema-set "example-ietf-routing-1.3.1". Any operations by the client on - schema-set "example-ietf-routing-1.3.1" would use "/restconf/example-ietf-routing-1.3.1" as - the RESTCONF root resource. - - TODO - Expand this explanation + For RESTCONF, schema-sets are chosen via use of their name in the + request URI. + + Clients select the desired schema-set by choosing the corresponding + RESTCONF root resource. This is done by appending the schema-set name to + the RESTCONF API root . This updates Section 3.1 + of and Section 3 of . + + Clients will use RESTCONF root resource {+restconf}/schema/<schema-name> + for all requests pertaining to resources specific to a schema-set. + Consider a device which supports schema-sets vendor-schema@3.0.0, + vendor-schema@2.1.0 and vendor-schema@1.4.5: clients will use RESTCONF + root resource {+restconf}/schema/vendor-schema@X.Y.Z for all requests + pertaining to resources defined in schema-set vendor-schema@X.Y.Z. This + applies to all RESTCONF resources defined in vendor-schema@X.Y.Z. + + Here are some examples where {+restconf} is /restconf/. + + Examples for servers which are NOT NMDA-compliant as per + : + + /restconf/schema/vendor-schema@X.Y.Z/data for datastore resources. + /restconf/schema/vendor-schema@X.Y.Z/data/module-A:data-X for data resource + ”data-X” defined in module ”module-A”. + /restconf/schema/vendor-schema@X.Y.Z/operations/module-B:op-Y for RPC + ”op-Y” defined in module ”module-B” + /restconf/schema/vendor-schema@X.Y.Z/data/module-C:containerZ/myaction for + action “myaction” defined in top-container “containerZ” of module ”module-C” + + + Examples for servers which are NMDA-compliant as per : + + /restconf/schema/vendor-schema@X.Y.Z/ds/<datastore>/ for datastore + resources, e.g. /restconf/schema/vendor-schema@X.Y.Z/ds/ietf-datastores:running + refers to the Running configuration datastore. + /restconf/schema/vendor-schema@X.Y.Z/ds/ietf-datastores:operational + for YANG actions. + + + If the chosen schema-set is not available then an error response + containing a "404 Not Found" status-line MUST be returned by the server.
@@ -826,6 +857,7 @@ module ietf-schema-selection { +