Network Working Group                                       M. Bjorklund
Internet-Draft                                            Tail-f Systems
Updates: 8040 (if approved)                             J. Schoenwaelder
Intended status: Standards Track                       Jacobs University
Expires: May 3, 2018                                           P. Shafer
                                                               K. Watsen
                                                        Juniper Networks
                                                               R. Wilton
                                                           Cisco Systems
                                                        October 30, 2017


                  RESTCONF Update to Support the NMDA
                  draft-ietf-netconf-nmda-restconf-01

Abstract

   This document updates RESTCONF [RFC8040] in order to support the
   Network Management Datastore Architecture (NMDA) defined in
   [I-D.ietf-netmod-revised-datastores].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   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 May 3, 2018.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Bjorklund, et al.          Expires May 3, 2018                  [Page 1]


Internet-Draft                                              October 2017


   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Summary of Updates to RFC 8040  . . . . . . . . . . . . . . .   3
   3.  Conformance . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  The {+restconf}/ds/<datastore> Resources  . . . . . . . . . .   3
   5.  Protocol Operations . . . . . . . . . . . . . . . . . . . . .   4
     5.1.  The "with-origin" query parameter . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .   5
   Appendix A.  Example  . . . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   This document updates RESTCONF [RFC8040] in order to support the
   Network Management Datastore Architecture (NMDA) defined in
   [I-D.ietf-netmod-revised-datastores].

   The solution presented in this document is backwards compatible with
   [RFC8040].  This is achieved by it only adding new top-level
   resources, and thereby leaving the semantics of all existing
   resources alone.

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   The following terms are defined in
   [I-D.ietf-netmod-revised-datastores] and are not redefined here:

   o  operational state datastore

   o  running configuration datastore

   o  intended configuration datastore




Bjorklund, et al.          Expires May 3, 2018                  [Page 2]


Internet-Draft                                              October 2017


2.  Summary of Updates to RFC 8040

   This document updates [RFC8040] in the following ways:

   o  Adds new top-level resource "/ds".

   o  Adds new query parameter "with-origin".

   o  Section 3.5.4, Paragraph 3 in [RFC8040] doesn't apply when
      interacting with any resource under {+restconf}/ds.

   o  Updates section 10 in [RFC8040] by requiring servers that support
      NMDA to implement "ietf-yang-library" as defined in
      [I-D.nmdsdt-netconf-rfc7895bis].

3.  Conformance

   RFC Ed.: Update 201X-XX-XX below with correct date.

   An NMDA-compliant RESTCONF server MUST support the operational state
   datastore.  Such a server identifies that it supports NMDA both by
   implementing the {+restconf}/ds/ietf-datastores:operational resource,
   and by implementing at least revision 201X-XX-XX of the
   "ietf-yang-library" module, as specified in
   [I-D.nmdsdt-netconf-rfc7895bis].

   A RESTCONF client can test if a server supports the NMDA by using
   either the HEAD or GET methods on {+restconf}/ds/ietf-
   datastores:operational.

4.  The {+restconf}/ds/<datastore> Resources

   This document defines a set of new resources representing datastores
   as defined in [I-D.ietf-netmod-revised-datastores].  These resources
   are available using the resource path template:

     {+restconf}/ds/<datastore>

   Where <datastore> is encoded as an "identity" according to the JSON
   encoding rules for identities, defined in Section 4 of [RFC7951].
   Such an identity MUST be derived from the "datastore" identity in
   "ietf-datastores" [I-D.ietf-netmod-revised-datastores].

   Specifically:

   o  The resource {+restconf}/ds/ietf-datastores:operational refers to
      the operational state datastore.




Bjorklund, et al.          Expires May 3, 2018                  [Page 3]


Internet-Draft                                              October 2017


   o  The resource {+restconf}/ds/ietf-datastores:running refers to the
      running configuration datastore.

   o  The resource {+restconf}/ds/ietf-datastores:intended refers to the
      intended configuration datastore.

   An NMDA-compliant server MUST implement {+restconf}/ds/ietf-
   datastores:operational.  Other datastore resources are optional to
   implement.

   If a server implements the example datastore "ds-ephemeral" in the
   module "example-ds-ephemeral", it would implement the resource
   {+restconf}/ds/example-ds-ephemeral:ds-ephemeral.

5.  Protocol Operations

   All existing protocol operations defined in [RFC8040] for the
   {+restconf}/data resource are available for all of the new datastore
   resources with the following exceptions:

   o  Dynamic datastores are excluded, as each dynamic datastore
      definition needs to be reviewed for what protocol operations it
      supports.

   o  Some datastores are read-only by nature (e.g., <intended>), and
      hence any attempt to modify these datastores will fail.

   o  The "with-defaults" query parameter ([RFC8040], Section 4.8.9)
      does not apply when interacting with {+restconf}/ds/ietf-
      datastores:operational.  This means that all values are always
      returned from the operational state datastore, even if a node
      happens to have a default statement in the YANG module, and this
      default value is being used by the server.  If the "with-defaults"
      query parameter is present in a request to this resource, the
      server MUST return a response with a "400 Bad Request" status-
      line.  The error-tag value "invalid-value" is used in this case.

   o  [RFC8040], section 3.5.4, paragraph 3 does not apply when
      interacting with any resource under {+restconf}/ds.

5.1.  The "with-origin" query parameter

   The GET operation adds a new query parameter named "with-origin",
   which if present, requests that the server includes "origin" metadata
   anotations in its response, as detailed in the NMDA.  This parameter
   is only valid when querying {+restconf}/ds/ietf-
   datastores:operational or any datastores with identities derived from
   the "operational" identity.  Otherwise, if an invalid datastore is



Bjorklund, et al.          Expires May 3, 2018                  [Page 4]


Internet-Draft                                              October 2017


   specified then the server MUST return a response witha a "400 Bad
   Request" status-line, using an error-tag value of "invalid-value".
   "origin" metadata annotations are not included unless a client
   explicitly requests them.

   Data from <operational> can come from multiple sources.  The server
   should return the most accurate value for the "origin" metadata
   annotation as possible, indicating the source of the operational
   value, as specified in section 5.3.4 of the NMDA.

   When encoding the origin metadata annotation for a hierarchy of
   returned nodes, the annotation may be omitted for a child node when
   the value matches that of the parent node (as described in ietf-
   origin@2017-08-17).  [RFC Editor, please check published revision
   date.]

   The "with-origin" query parameter is optional to support.  It is
   identified with the URI:

     urn:ietf:params:restconf:capability:with-origin:1.0

6.  Security Considerations

   TBD

7.  IANA Considerations

   This document defines one capability in the "RESTCONF Capability
   URNs" registry defined in [RFC8040]:

     Index          Capability Identifier
     ------------------------------------------------------------------

     :with-origin   urn:ietf:params:restconf:capability:with-origin:1.0

8.  Normative References

   [I-D.ietf-netmod-revised-datastores]
              Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
              and R. Wilton, "Network Management Datastore
              Architecture", draft-ietf-netmod-revised-datastores-05
              (work in progress), October 2017.

   [I-D.nmdsdt-netconf-rfc7895bis]
              Bierman, A., Bjorklund, M., and K. Watsen, "YANG Library",
              draft-nmdsdt-netconf-rfc7895bis-01 (work in progress),
              July 2017.




Bjorklund, et al.          Expires May 3, 2018                  [Page 5]


Internet-Draft                                              October 2017


   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
              editor.org/info/rfc2119>.

   [RFC7951]  Lhotka, L., "JSON Encoding of Data Modeled with YANG",
              RFC 7951, DOI 10.17487/RFC7951, August 2016,
              <https://www.rfc-editor.org/info/rfc7951>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

Appendix A.  Example

   TBD

Authors' Addresses

   Martin Bjorklund
   Tail-f Systems

   Email: mbj@tail-f.com


   Juergen Schoenwaelder
   Jacobs University

   Email: j.schoenwaelder@jacobs-university.de


   Phil Shafer
   Juniper Networks

   Email: phil@juniper.net


   Kent Watsen
   Juniper Networks

   Email: kwatsen@juniper.net






Bjorklund, et al.          Expires May 3, 2018                  [Page 6]


Internet-Draft                                              October 2017


   Robert Wilton
   Cisco Systems

   Email: rwilton@cisco.com















































Bjorklund, et al.          Expires May 3, 2018                  [Page 7]