Dynamic Subscription to YANG Events and Datastores over RESTCONF
RFC 8650
|
Document |
Type |
|
RFC - Proposed Standard
(November 2019; Errata)
|
|
Authors |
|
Eric Voit
,
Reshad Rahman
,
Einar Nilsen-Nygaard
,
Alexander Clemm
,
Andy Bierman
|
|
Last updated |
|
2021-01-06
|
|
Replaces |
|
draft-voit-netconf-restconf-notif
|
|
Stream |
|
IETF
|
|
Formats |
|
plain text
html
xml
pdf
htmlized
with errata
bibtex
|
|
Yang Validation |
|
☯
7 errors, 0 warnings.
draft-ietf-netconf-restconf-notif-15.txt:
xym 0.4:
Extracting 'ietf-restconf-subscribed-notifications'
Getting YANG file name from module name: ietf-restconf-subscribed-notifications.yang
Removed 0 empty lines
ietf-restconf-subscribed-notifications@2019-01-11.yang:
pyang 2.1: pyang --verbose --ietf -p {libs} {model}:
# read ietf-restconf-subscribed-notifications@2019-01-11.yang (CL)
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-subscribed-notifications.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-subscribed-notifications@2019-09-09.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-inet-types.yang
# read /a/www/ietf-ftp/yang/draftmod/ietf-inet-types@2019-11-04.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-interfaces.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-interfaces@2018-02-20.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-yang-types.yang
# read /a/www/ietf-ftp/yang/draftmod/ietf-yang-types@2019-11-04.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-netconf-acm.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-netconf-acm@2018-02-14.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-network-instance.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-network-instance@2019-01-21.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-ip.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-ip@2018-02-22.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-yang-schema-mount.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-yang-schema-mount@2019-01-14.yang
# read /a/www/ietf-ftp/yang/rfcmod/ietf-restconf.yang
# read /a/www/ietf-datatracker/6.110.1/env/share/yang/modules/ietf/ietf-restconf.yang
yanglint 0.14.80: yanglint --verbose -p {rfclib} -p {draftlib} -p {tmplib} {model} -i:
err : The leafref leaf is config but refers to a non-config leaf. (/ietf-subscribed-notifications:subscriptions/subscription/target/stream/stream)
err : The leafref leaf is config but refers to a non-config leaf. (/ietf-subscribed-notifications:subscriptions/subscription/target/stream/stream)
err : Invalid value "subscription-policy" of "uses". (/ietf-subscribed-notifications:subscriptions/subscription/subscription-policy)
err : Copying data from grouping failed. (/ietf-subscribed-notifications:subscriptions/subscription/subscription-policy)
err : Module "ietf-subscribed-notifications" parsing failed.
err : Importing "ietf-subscribed-notifications" module into "ietf-restconf-subscribed-notifications" failed.
err : Module "ietf-restconf-subscribed-notifications" parsing failed.
|
|
Reviews |
|
|
|
Additional Resources |
|
|
Stream |
WG state
|
|
Submitted to IESG for Publication
|
|
Document shepherd |
|
Kent Watsen
|
|
Shepherd write-up |
|
Show
(last changed 2019-02-26)
|
IESG |
IESG state |
|
RFC 8650 (Proposed Standard)
|
|
Action Holders |
|
(None)
|
|
Consensus Boilerplate |
|
Yes
|
|
Telechat date |
|
|
|
Responsible AD |
|
Ignas Bagdonas
|
|
Send notices to |
|
Kent Watsen <kent+ietf@watsen.net>
|
IANA |
IANA review state |
|
Version Changed - Review Needed
|
|
IANA action state |
|
RFC-Ed-Ack
|
Internet Engineering Task Force (IETF) E. Voit
Request for Comments: 8650 R. Rahman
Category: Standards Track E. Nilsen-Nygaard
ISSN: 2070-1721 Cisco Systems
A. Clemm
Futurewei
A. Bierman
YumaWorks
November 2019
Dynamic Subscription to YANG Events and Datastores over RESTCONF
Abstract
This document provides a RESTCONF binding to the dynamic subscription
capability of both subscribed notifications and YANG-Push.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8650.
Copyright Notice
Copyright (c) 2019 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.
Table of Contents
1. Introduction
2. Terminology
3. Dynamic Subscriptions
3.1. Transport Connectivity
3.2. Discovery
3.3. RESTCONF RPCs and HTTP Status Codes
3.4. Call Flow for Server-Sent Events
4. QoS Treatment
5. Notification Messages
6. YANG Tree
7. YANG Module
8. IANA Considerations
9. Security Considerations
10. References
10.1. Normative References
10.2. Informative References
Appendix A. Examples
A.1. Dynamic Subscriptions
A.1.1. Establishing Dynamic Subscriptions
A.1.2. Modifying Dynamic Subscriptions
A.1.3. Deleting Dynamic Subscriptions
A.2. Subscription State Notifications
A.2.1. "subscription-modified"
A.2.2. "subscription-completed", "subscription-resumed", and
"replay-completed"
A.2.3. "subscription-terminated" and "subscription-suspended"
A.3. Filter Example
Acknowledgments
Authors' Addresses
1. Introduction
Mechanisms to support event subscription and YANG-Push are defined in
[RFC8639]. Enhancements to [RFC8639] that enable YANG datastore
subscription and YANG-Push are defined in [RFC8641]. This document
provides a transport specification for dynamic subscriptions over
RESTCONF [RFC8040]. Requirements for these mechanisms are captured
in [RFC7923].
The streaming of notifications that encapsulate the resulting
information push is done via the mechanism described in Section 6.3
of [RFC8040].
2. 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 use the definitions from [RFC8639]: dynamic
subscription, event stream, notification message, publisher,
receiver, subscriber, and subscription.
Other terms reused include datastore, which is defined in [RFC8342],
and HTTP/2 stream, which maps to the definition of "stream" within
[RFC7540], Section 2.
3. Dynamic Subscriptions
This section provides specifics on how to establish and maintain
dynamic subscriptions over RESTCONF [RFC8040]. Subscribing to event
streams is accomplished in this way via RPCs defined within
[RFC8639], Section 2.4. The RPCs are done via RESTCONF POSTs. YANG
datastore subscription is accomplished via augmentations to [RFC8639]
as described within [RFC8641], Section 4.4.
As described in Section 6.3 of [RFC8040], a GET needs to be performed
on a specific URI on the publisher. Subscribers cannot predetermine
the URI against which a subscription might exist on a publisher, as
the URI will only exist after the "establish-subscription" RPC has
Show full document text