RESTCONF with Transactions
draft-lhotka-netconf-restconf-transactions-00

Document Type Active Internet-Draft (individual)
Last updated 2018-06-13
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Yang Validation 0 errors, 0 warnings.
Additional URLs
- Yang catalog entry for ietf-restconf-transactions@2018-06-11.yang
- Yang impact analysis for draft-lhotka-netconf-restconf-transactions
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
NETMOD Working Group                                           L. Lhotka
Internet-Draft                                                    CZ.NIC
Intended status: Standards Track                           June 13, 2018
Expires: December 15, 2018

                       RESTCONF with Transactions
             draft-lhotka-netconf-restconf-transactions-00

Abstract

   This document extends the RESTCONF protocols with transaction
   capabilities that allow for safe concurrent access of multiple
   clients.

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 https://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 December 15, 2018.

Copyright Notice

   Copyright (c) 2018 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
   (https://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
   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.

Lhotka                  Expires December 15, 2018               [Page 1]
Internet-Draft         RESTCONF with Transactions              June 2018

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  YANG  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  HTTP  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.3.  RESTCONF  . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.4.  NMDA  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.5.  New Terms . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Datastores  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  The Staging Configuration Datastore . . . . . . . . . . .   4
   4.  New Operations  . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Commit  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  Reset . . . . . . . . . . . . . . . . . . . . . . . . . .   5
   5.  Access Control  . . . . . . . . . . . . . . . . . . . . . . .   5
   6.  Compatibility . . . . . . . . . . . . . . . . . . . . . . . .   6
   7.  YANG Module . . . . . . . . . . . . . . . . . . . . . . . . .   6
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   8
     10.2.  URIs . . . . . . . . . . . . . . . . . . . . . . . . . .  10
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   The RESTCONF protocol [RFC8040] was introduced as a simpler
   alternative to the original NETCONF protocol [RFC6241].  Due to the
   simplicity requirement, some more complex features and functions of
   NETCONF, such as locks, subtree filtering or candidate configuration
   datastore, are not available in RESTCONF.

   On the other hand, RESTCONF offers several advantages over NETCONF,
   including:

   o  the use of HTTP methods and well-known Representational State
      Transfer (REST) approaches make it more accessible to developers
      and increases the choice of software libraries and tools

   o  cleaner semantics of edit operations,

   o  alternative encodings in which resources can be represented,
      currently JSON and XML; NETCONF supports only XML

   o  certain HTTP mechanisms, such as "Last-Modified" and "ETag"
      headers.

Lhotka                  Expires December 15, 2018               [Page 2]
Internet-Draft         RESTCONF with Transactions              June 2018

   This document extends the RESTCONF protocol with transaction
   capabilities, at the cost of adding two RPC operations and some
   complexity in the server implementation.  This makes RESTCONF
   suitable for network management environments where concurrent access
   of multiple client is needed.

   A RESTCONF server indicates support for transactions as defined in
Show full document text