draft-ietf-lmap-restconf-01.txt   draft-ietf-lmap-restconf-02.txt 
Network Working Group J. Schoenwaelder Network Working Group J. Schoenwaelder
Internet-Draft V. Bajpai Internet-Draft V. Bajpai
Intended status: Standards Track Jacobs University Bremen Intended status: Standards Track Jacobs University Bremen
Expires: May 4, 2016 November 1, 2015 Expires: September 22, 2016 March 21, 2016
Using RESTCONF with LMAP Measurement Agents Using RESTCONF with LMAP Measurement Agents
draft-ietf-lmap-restconf-01.txt draft-ietf-lmap-restconf-02.txt
Abstract Abstract
This document describes how RESTCONF can be used with a YANG data This document describes how RESTCONF can be used with a YANG data
model for Large-Scale Measurement Platforms (LMAP). model for Large-Scale Measurement Platforms (LMAP).
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 31 skipping to change at page 1, line 31
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 May 4, 2016. This Internet-Draft will expire on September 22, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 15 skipping to change at page 2, line 15
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
2. Overview of RESTCONF . . . . . . . . . . . . . . . . . . . . 3 2. Overview of RESTCONF . . . . . . . . . . . . . . . . . . . . 3
3. RESTCONF as LMAP Control Protocol . . . . . . . . . . . . . . 3 3. RESTCONF as LMAP Control Protocol . . . . . . . . . . . . . . 3
4. RESTCONF as LMAP Report Protocol . . . . . . . . . . . . . . 3 4. RESTCONF as LMAP Report Protocol . . . . . . . . . . . . . . 3
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4
8. Informative References . . . . . . . . . . . . . . . . . . . 4 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
8.1. Normative References . . . . . . . . . . . . . . . . . . 4
8.2. Informative References . . . . . . . . . . . . . . . . . 4
Appendix A. Example RESTCONF Control Protocol Exchange . . . . . 5 Appendix A. Example RESTCONF Control Protocol Exchange . . . . . 5
Appendix B. Example RESTCONF Report Protocol Exchange . . . . . 7 Appendix B. Example RESTCONF Report Protocol Exchange . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
This document discusses how a Controller can use the RESTCONF This document discusses how a Controller can use the RESTCONF
protocol [I-D.ietf-netconf-restconf] to configure Large-Scale protocol [I-D.ietf-netconf-restconf] to configure Large-Scale
Measurement of Broadband Performance (LMAP) Measurement Agents Measurement of Broadband Performance (LMAP) Measurement Agents
[RFC7594]. It also discusses how RESTCONF can be used by a [RFC7594]. It also discusses how RESTCONF can be used by a
Measurement Agent to report measurement results to a Collector. Measurement Agent to report measurement results to a Collector.
Measurement Agents may be deployed as separate hardware devices or as Measurement Agents may be deployed as separate hardware devices or as
skipping to change at page 4, line 24 skipping to change at page 4, line 24
Juergen Schoenwaelder and Vaibhav Bajpai worked in part on the Leone Juergen Schoenwaelder and Vaibhav Bajpai worked in part on the Leone
research project, which received funding from the European Union research project, which received funding from the European Union
Seventh Framework Programme [FP7/2007-2013] under grant agreement Seventh Framework Programme [FP7/2007-2013] under grant agreement
number 317647. number 317647.
Juergen Schoenwaelder and Vaibhav Bajpai were partly funded by Juergen Schoenwaelder and Vaibhav Bajpai were partly funded by
Flamingo, a Network of Excellence project (ICT-318488) supported by Flamingo, a Network of Excellence project (ICT-318488) supported by
the European Commission under its Seventh Framework Programme. the European Commission under its Seventh Framework Programme.
8. Informative References 8. References
8.1. Normative References
[I-D.ietf-lmap-yang]
Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for
LMAP Measurement Agents", draft-ietf-lmap-yang-03 (work in
progress), March 2016.
[I-D.ietf-netconf-restconf]
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", draft-ietf-netconf-restconf-10 (work in
progress), March 2016.
8.2. Informative References
[I-D.ietf-lmap-information-model] [I-D.ietf-lmap-information-model]
Burbridge, T., Eardley, P., Bagnulo, M., and J. Burbridge, T., Eardley, P., Bagnulo, M., and J.
Schoenwaelder, "Information Model for Large-Scale Schoenwaelder, "Information Model for Large-Scale
Measurement Platforms (LMAP)", draft-ietf-lmap- Measurement Platforms (LMAP)", draft-ietf-lmap-
information-model-06 (work in progress), July 2015. information-model-08 (work in progress), March 2016.
[I-D.ietf-lmap-yang]
Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for
LMAP Measurement Agents", draft-ietf-lmap-yang-01 (work in
progress), July 2015.
[I-D.ietf-netconf-call-home] [I-D.ietf-netconf-call-home]
Watsen, K., "NETCONF Call Home and RESTCONF Call Home", Watsen, K., "NETCONF Call Home and RESTCONF Call Home",
draft-ietf-netconf-call-home-11 (work in progress), draft-ietf-netconf-call-home-17 (work in progress),
September 2015. December 2015.
[I-D.ietf-netconf-restconf]
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", draft-ietf-netconf-restconf-08 (work in
progress), October 2015.
[I-D.ietf-netconf-server-model] [I-D.ietf-netconf-server-model]
Watsen, K. and J. Schoenwaelder, "NETCONF Server and Watsen, K. and J. Schoenwaelder, "NETCONF Server and
RESTCONF Server Configuration Models", draft-ietf-netconf- RESTCONF Server Configuration Models", draft-ietf-netconf-
server-model-08 (work in progress), October 2015. server-model-09 (work in progress), March 2016.
[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, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997, RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, DOI 10.17487/RFC6020, October 2010,
<http://www.rfc-editor.org/info/rfc6020>. <http://www.rfc-editor.org/info/rfc6020>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>.
[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer [RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
Protocol (HTTP/1.1): Message Syntax and Routing", RFC Protocol (HTTP/1.1): Message Syntax and Routing", RFC
7230, DOI 10.17487/RFC7230, June 2014, 7230, DOI 10.17487/RFC7230, June 2014,
<http://www.rfc-editor.org/info/rfc7230>. <http://www.rfc-editor.org/info/rfc7230>.
[RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", RFC
7277, DOI 10.17487/RFC7277, June 2014,
<http://www.rfc-editor.org/info/rfc7277>.
[RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for
System Management", RFC 7317, DOI 10.17487/RFC7317, August
2014, <http://www.rfc-editor.org/info/rfc7317>.
[RFC7594] Eardley, P., Morton, A., Bagnulo, M., Burbridge, T., [RFC7594] Eardley, P., Morton, A., Bagnulo, M., Burbridge, T.,
Aitken, P., and A. Akhter, "A Framework for Large-Scale Aitken, P., and A. Akhter, "A Framework for Large-Scale
Measurement of Broadband Performance (LMAP)", RFC 7594, Measurement of Broadband Performance (LMAP)", RFC 7594,
DOI 10.17487/RFC7594, September 2015, DOI 10.17487/RFC7594, September 2015,
<http://www.rfc-editor.org/info/rfc7594>. <http://www.rfc-editor.org/info/rfc7594>.
Appendix A. Example RESTCONF Control Protocol Exchange Appendix A. Example RESTCONF Control Protocol Exchange
Below is a YANG tree diagram of a part of the data model covering Below is a YANG tree diagram of a part of the data model covering
schedules. This is taken from [I-D.ietf-lmap-yang]. schedules. This is taken from [I-D.ietf-lmap-yang].
module: ietf-lmap module: ietf-lmap-control
+--rw lmap +--rw lmap
+--rw schedules +--rw schedules
+--rw schedule* [name] +--rw schedule* [name]
+--rw name string +--rw name lmap:identifier
+--rw event leafref +--rw event event-ref
+--rw action* [name]
| +--rw name string
| +--rw task leafref
| +--rw option* [name]
| | +--rw name string
| | +--rw value? string
| +--rw destination* leafref
+--rw execution-mode enumeration +--rw execution-mode enumeration
+--rw action* [name]
+--rw name string
+--rw task task-ref
+--rw option* [name]
| +--rw id lmap:identifier
| +--rw name? string
| +--rw value? string
+--rw destination* leafref
Below is an XML representation of instance data conforming to the Below is an XML representation of instance data conforming to the
YANG data model is shown below. Note that some of the strings are YANG data model is shown below. Note that some of the strings are
references to other portions of the instance data not show here. references to other portions of the instance data not show here.
This is again taken from [I-D.ietf-lmap-yang]. This is again taken from [I-D.ietf-lmap-yang].
<lmap xmlns="urn:ietf:params:xml:ns:yang:ietf-lmap"> <lmap xmlns="urn:ietf:params:xml:ns:yang:ietf-lmap">
<schedules> <schedules>
<schedule> <schedule>
<name>hourly-schedule</name> <name>hourly-schedule</name>
<event>hourly</event> <event>hourly</event>
<execution-mode>sequential</execution-mode>
<action> <action>
<name>icmp-latency-hourly</name> <name>icmp-latency-hourly</name>
<task>icmp-latency-measurement</task> <task>icmp-latency-measurement</task>
<destination>daily</destination> <destination>daily</destination>
</action> </action>
<execution-mode>sequential</execution-mode>
</schedule> </schedule>
</schedules> </schedules>
</lmap> </lmap>
Below is an example showing how RESTCONF can be used to create the Below is an example showing how RESTCONF can be used to create the
above schedule. The prefix C: indicates the Controller, the prefix above schedule. The prefix C: indicates the Controller, the prefix
M: indicates the Measurement Agent. This example uses a JSON M: indicates the Measurement Agent. This example uses a JSON
encoding (and note that much of the white-space can be removed, this encoding (and note that much of the white-space can be removed, this
is only there to help with readability). is only there to help with readability).
C: POST /restconf/data/ietf-lmap:lmap/schedules HTTP/1.1 C: POST /restconf/data/ietf-lmap-control:lmap/schedules HTTP/1.1
C: Host: example.com C: Host: example.com
C: Content-Type: application/yang.data+json C: Content-Type: application/yang.data+json
C: C:
C: { C: {
C: "ietf-lmap:schedule": { C: "ietf-lmap-control:schedule": {
C: "name": "hourly-schedule", C: "name": "hourly-schedule",
C: "event": "hourly", C: "event": "hourly",
C: "action": [ C: "execution-mode": "sequential",
C: { C: "action": [
C: "name": "icmp-latency-hourly", C: {
C: "task": "icmp-latency-measurement", C: "name": "icmp-latency-hourly",
C: "destination": "daily", C: "task": "icmp-latency-measurement",
C: } C: "destination": "daily",
C: ], C: }
C: "execution-mode": "sequential" C: ]
C: } C: }
C: } C: }
M: HTTP/1.1 201 Created M: HTTP/1.1 201 Created
M: Date: Mon, 26 Mar 2015 17:01:00 GMT M: Date: Mon, 26 Mar 2015 17:01:00 GMT
M: Server: example-server M: Server: example-server
M: Location: https://example.com/restconf/data M: Location: https://example.com/restconf/data
M: /ietf-lmap:lmap/schedules/schedule=hourly-schedule M: /ietf-lmap-control:lmap/schedules/schedule=hourly-schedule
M: Last-Modified: Mon, 26 Mar 2015 17:01:00 GMT M: Last-Modified: Mon, 26 Mar 2015 17:01:00 GMT
M: ETag: b3a3e673be2 M: ETag: b3a3e673be2
Appendix B. Example RESTCONF Report Protocol Exchange Appendix B. Example RESTCONF Report Protocol Exchange
Below is an example showing how a Measurement Agent can submit Below is an example showing how a Measurement Agent can submit
results to a Collector running an RESTCONF server. The prefix C: results to a Collector running an RESTCONF server. The prefix C:
indicates the Collector, the prefix M: indicates the Measurement indicates the Collector, the prefix M: indicates the Measurement
Agent. Agent.
M: POST /restconf/operations/ietf-lmap-report:report HTTP/1.1 M: POST /restconf/operations/ietf-lmap-report:report HTTP/1.1
M: Host: example.com M: Host: example.com
M: Content-Type: application/yang.operation+xml M: Content-Type: application/yang.operation+xml
M: M:
M: <input> M: <input xmlns="urn:ietf:params:xml:ns:yang:ietf-lmap-report">
M: <report xmlns="urn:ietf:params:xml:ns:yang:ietf-lmap-report"> M: <date>2015-10-28T13:27:42+02:00</date>
M: <date>2015-10-28T13:27:42+02:00</date> M: <agent-id>550e8400-e29b-41d4-a716-446655440000</agent-id>
M: <agent-id>550e8400-e29b-41d4-a716-446655440000</agent-id> M: <group-id>wireless measurement at the north-pole</group-id>
M: <group-id>wireless measurement at the north-pole</group-id> M: <result>
M: <task> M: <schedule-name>pinger</schedule-name>
M: <name>icmp-latency-measurement</name> M: <action-name>fping</action-name>
M: <metric> M: <task-name>fping</task-name>
M: <uri>urn:....</uri> M: <start>2016-03-21T10:48:55+01:00</start>
M: </metric> M: <start>2016-03-21T10:48:57+01:00</start>
M: <header> M: <option>
M: <column>target</column> M: <id>display-address</id>
M: <column>rtt</column> M: <name>-A</name>
M: </header> M: </option>
M: <option>
M: <id>display-DNS-lookup</id>
M: <name>-d</name>
M: </option>
M: <option>
M: <id>number-of-packets</id>
M: <name>-C</name>
M: <value>5</value>
M: </option>
M: <option>
M: <id>quiet</id>
M: <name>-q</name>
M: </option>
M: <option>
M: <id>www.example.org</id>
M: <name>www.example.org</name>
M: </option>
M: <option>
M: <id>mail.example.com</id>
M: <name>mail.example.com</name>
M: </option>
M: <table>
M: <column>target</column>
M: <column>ip</column>
M: <column>rtt-1</column>
M: <column>rtt-2</column>
M: <column>rtt-3</column>
M: <column>rtt-4</column>
M: <column>rtt-5</column>
M: <row> M: <row>
M: <start-time>2015-03-25T00:00:55+00:00</start-time> M: <value>www.example.org</value>
M: <value>192.0.2.1</value> M: <value>192.0.2.1</value>
M: <value>42</value> M: <value>14.15</value>
M: <value>14.14</value>
M: <value>14.09</value>
M: <value>14.17</value>
M: <value>14.51</value>
M: </row> M: </row>
M: <row> M: <row>
M: <start-time>2015-03-25T00:00:56+00:00</start-time> M: <value>mail.example.org</value>
M: <value>192.0.2.1</value> M: <value>192.0.2.2</value>
M: <value>42</value> M: <value>12.24</value>
M: <value>11.99</value>
M: <value>12.49</value>
M: <value>11.87</value>
M: <value>12.45</value>
M: </row> M: </row>
M: </task> M: </table>
M: </report> M: </result>
M: </input> M: </input>
C: HTTP/1.1 200 OK C: HTTP/1.1 200 OK
Authors' Addresses Authors' Addresses
Juergen Schoenwaelder Juergen Schoenwaelder
Jacobs University Bremen Jacobs University Bremen
Email: j.schoenwaelder@jacobs-university.de Email: j.schoenwaelder@jacobs-university.de
 End of changes. 24 change blocks. 
90 lines changed or deleted 122 lines changed or added

This html diff was produced by rfcdiff 1.44. The latest version is available from http://tools.ietf.org/tools/rfcdiff/