draft-ietf-lmap-yang-09.txt   draft-ietf-lmap-yang-10.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: June 18, 2017 December 15, 2016 Expires: July 15, 2017 January 11, 2017
A YANG Data Model for LMAP Measurement Agents A YANG Data Model for LMAP Measurement Agents
draft-ietf-lmap-yang-09.txt draft-ietf-lmap-yang-10.txt
Abstract Abstract
This document defines a data model for Large-Scale Measurement This document defines a data model for Large-Scale Measurement
Platforms (LMAP). The data model is defined using the YANG data Platforms (LMAP). The data model is defined using the YANG data
modeling language. modeling language.
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
skipping to change at page 1, line 32 skipping to change at page 1, line 32
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 June 18, 2017. This Internet-Draft will expire on July 15, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 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 4, line 41 skipping to change at page 4, line 41
| ietf-lmap-report.yang | | ietf-lmap-report.yang |
+------------------------+ +------------------------+
Figure 1: LMAP Controller, Measurement Agents, and Collector and the Figure 1: LMAP Controller, Measurement Agents, and Collector and the
YANG modules they implement as client or server YANG modules they implement as client or server
The tree diagram below shows the structure of the control data model. The tree diagram below shows the structure of the control data model.
module: ietf-lmap-control module: ietf-lmap-control
+--rw lmap +--rw lmap
+--ro capabilities
| +--ro version string
| +--ro tag* lmap:tag
| +--ro tasks
| +--ro task* [name]
| +--ro name lmap:identifier
| +--ro function* [uri]
| | +--ro uri inet:uri
| | +--ro role* string
| +--ro version? string
| +--ro program? string
+--rw agent +--rw agent
| +--rw agent-id? yang:uuid | +--rw agent-id? yang:uuid
| +--rw group-id? string | +--rw group-id? string
| +--rw measurement-point? string | +--rw measurement-point? string
| +--rw report-agent-id? boolean | +--rw report-agent-id? boolean
| +--rw report-group-id? boolean | +--rw report-group-id? boolean
| +--rw report-measurement-point? boolean | +--rw report-measurement-point? boolean
| +--rw controller-timeout? uint32 | +--rw controller-timeout? uint32
| +--ro last-started yang:date-and-time | +--ro last-started yang:date-and-time
+--ro capabilities
| +--ro version string
| +--ro tag* lmap:tag
| +--ro task* [name]
| +--ro name lmap:identifier
| +--ro function* [uri]
| | +--ro uri inet:uri
| | +--ro role* string
| +--ro version? string
| +--ro program? string
+--rw tasks +--rw tasks
| +--rw task* [name] | +--rw task* [name]
| +--rw name lmap:identifier | +--rw name lmap:identifier
| +--rw function* [uri] | +--rw function* [uri]
| | +--rw uri inet:uri | | +--rw uri inet:uri
| | +--rw role* string | | +--rw role* string
| +--rw program? string | +--rw program? string
| +--rw option* [id] | +--rw option* [id]
| | +--rw id lmap:identifier | | +--rw id lmap:identifier
| | +--rw name? string | | +--rw name? string
skipping to change at page 10, line 11 skipping to change at page 10, line 11
o Event Information: Event definitions are modeled in the /lmap/ o Event Information: Event definitions are modeled in the /lmap/
events subtree. events subtree.
4. YANG Modules 4. YANG Modules
4.1. LMAP Common YANG Module 4.1. LMAP Common YANG Module
This module imports definitions from [RFC6536]. This module imports definitions from [RFC6536].
<CODE BEGINS> file "ietf-lmap-common@2016-12-15.yang" <CODE BEGINS> file "ietf-lmap-common@2017-01-11.yang"
module ietf-lmap-common { module ietf-lmap-common {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lmap-common"; namespace "urn:ietf:params:xml:ns:yang:ietf-lmap-common";
prefix "lmap"; prefix "lmap";
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
} }
skipping to change at page 10, line 41 skipping to change at page 10, line 41
Editor: Vaibhav Bajpai Editor: Vaibhav Bajpai
<v.bajpai@jacobs-university.de>"; <v.bajpai@jacobs-university.de>";
description description
"This module provides common definitions used by the data "This module provides common definitions used by the data
models written for Large-Scale Measurement Platforms (LMAP). models written for Large-Scale Measurement Platforms (LMAP).
This module defines typedefs and groupings but no schema This module defines typedefs and groupings but no schema
tree elements."; tree elements.";
revision "2016-12-15" { revision "2017-01-11" {
description description
"Initial version"; "Initial version";
reference reference
"RFC XXX: A YANG Data Model for LMAP Measurement Agents"; "RFC XXX: A YANG Data Model for LMAP Measurement Agents";
} }
/* /*
* Typedefs * Typedefs
*/ */
skipping to change at page 12, line 11 skipping to change at page 12, line 11
} }
typedef cycle-number { typedef cycle-number {
type string { type string {
pattern '[0-9]{8}\.[0-9]{6}'; pattern '[0-9]{8}\.[0-9]{6}';
} }
description description
"A cycle number represented in the format YYYYMMDD.HHMMSS "A cycle number represented in the format YYYYMMDD.HHMMSS
where YYYY represents the year, MM the month (1..12), DD where YYYY represents the year, MM the month (1..12), DD
the day of the months (01..31), HH the hour (00..23), MM the day of the months (01..31), HH the hour (00..23), MM
the minute (00..59), and SS the second (00..59)."; the minute (00..59), and SS the second (00..59). The cycle
number is using Coordinated Universal Time (UTC).";
} }
typedef month { typedef month {
type enumeration { type enumeration {
enum january { enum january {
value 1; value 1;
description description
"January of the Gregorian calendar."; "January of the Gregorian calendar.";
} }
enum february { enum february {
skipping to change at page 18, line 15 skipping to change at page 18, line 15
} }
} }
} }
<CODE ENDS> <CODE ENDS>
4.2. LMAP Control YANG Module 4.2. LMAP Control YANG Module
This module imports definitions from [RFC6536], [RFC6991] and the This module imports definitions from [RFC6536], [RFC6991] and the
common LMAP module and it references [RFC7398]. common LMAP module and it references [RFC7398].
<CODE BEGINS> file "ietf-lmap-control@2016-12-15.yang" <CODE BEGINS> file "ietf-lmap-control@2017-01-11.yang"
module ietf-lmap-control { module ietf-lmap-control {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lmap-control"; namespace "urn:ietf:params:xml:ns:yang:ietf-lmap-control";
prefix "lmapc"; prefix "lmapc";
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
} }
import ietf-netconf-acm { import ietf-netconf-acm {
skipping to change at page 18, line 51 skipping to change at page 18, line 51
Editor: Vaibhav Bajpai Editor: Vaibhav Bajpai
<v.bajpai@jacobs-university.de>"; <v.bajpai@jacobs-university.de>";
description description
"This module defines a data model for controlling measurement "This module defines a data model for controlling measurement
agents that are part of a Large-Scale Measurement Platform agents that are part of a Large-Scale Measurement Platform
(LMAP). This data model is expected to be implemented by a (LMAP). This data model is expected to be implemented by a
measurement agent."; measurement agent.";
revision "2016-12-15" { revision "2017-01-11" {
description description
"Initial version"; "Initial version";
reference reference
"RFC XXX: A YANG Data Model for LMAP Measurement Agents"; "RFC XXX: A YANG Data Model for LMAP Measurement Agents";
} }
/* /*
* Typedefs * Typedefs
*/ */
skipping to change at page 20, line 22 skipping to change at page 20, line 22
It is generally a good idea to always configure It is generally a good idea to always configure
an end time and to refresh the configuration an end time and to refresh the configuration
of event object as needed to ensure that agents of event object as needed to ensure that agents
that loose connectivity to their controller that loose connectivity to their controller
do not continue their tasks forever."; do not continue their tasks forever.";
} }
} }
/* /*
* Configuration data nodes * Capability, configuration and state data nodes
*/ */
container lmap { container lmap {
description description
"Configuration of the LMAP agent."; "Configuration and control of an LMAP agent.";
container capabilities {
config false;
description
"Agent capabilities including a list of supported tasks.";
leaf version {
type string;
config false;
mandatory true;
description
"A short description of the software implementing the
measurement agent. This should include the version
number of the measurement agent software.";
}
leaf-list tag {
type lmap:tag;
config false;
description
"An optional unordered set of tags that provide
additional information about the capabilities of
the measurement agent.";
}
container tasks {
description
"A list of tasks that the measurement agent supports.";
list task {
key name;
description
"The list of tasks supportined by the LMAP agent.";
leaf name {
type lmap:identifier;
description
"The unique name of a task capability.";
}
uses lmap:registry-grouping;
leaf version {
type string;
description
"A short description of the software implementing
the task. This should include the version
number of the measurement task software.";
}
leaf program {
type string;
description
"The (local) program to invoke in order to execute
the task.";
}
}
}
}
/* /*
* Agent Configuration * Agent Configuration
*/ */
container agent { container agent {
description description
"Configuration of parameters affecting the whole "Configuration of parameters affecting the whole
measurement agent."; measurement agent.";
skipping to change at page 22, line 30 skipping to change at page 23, line 40
leaf last-started { leaf last-started {
type yang:date-and-time; type yang:date-and-time;
config false; config false;
mandatory true; mandatory true;
description description
"The date and time the measurement agent last started."; "The date and time the measurement agent last started.";
} }
} }
container capabilities {
config false;
description
"Capabilities such as available LMAP tasks.";
leaf version {
type string;
config false;
mandatory true;
description
"A short description of the software implementing the
measurement agent. This should include the version
number of the measurement agent software.";
}
leaf-list tag {
type lmap:tag;
config false;
description
"An optional unordered set of tags that provide
additional information about the capabilities of
the measurement agent.";
}
list task {
key name;
description
"The list of tasks available on the LMAP agent.";
leaf name {
type lmap:identifier;
description
"The unique name of a task.";
}
uses lmap:registry-grouping;
leaf version {
type string;
description
"A short description of the software implementing
the task. This should include the version
number of the measurement task software.";
}
leaf program {
type string;
description
"The (local) program to invoke in order to execute
the task.";
}
}
}
/* /*
* Task Configuration * Task Configuration
*/ */
container tasks { container tasks {
description description
"Configuration of LMAP tasks."; "Configuration of LMAP tasks.";
list task { list task {
key name; key name;
skipping to change at page 39, line 16 skipping to change at page 39, line 19
} }
} }
} }
<CODE ENDS> <CODE ENDS>
4.3. LMAP Report YANG Module 4.3. LMAP Report YANG Module
This module imports definitions from [RFC6536] and the common LMAP This module imports definitions from [RFC6536] and the common LMAP
module. module.
<CODE BEGINS> file "ietf-lmap-report@2016-12-15.yang" <CODE BEGINS> file "ietf-lmap-report@2017-01-11.yang"
module ietf-lmap-report { module ietf-lmap-report {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lmap-report"; namespace "urn:ietf:params:xml:ns:yang:ietf-lmap-report";
prefix "lmapr"; prefix "lmapr";
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
} }
import ietf-lmap-common { import ietf-lmap-common {
skipping to change at page 39, line 49 skipping to change at page 40, line 5
Editor: Vaibhav Bajpai Editor: Vaibhav Bajpai
<v.bajpai@jacobs-university.de>"; <v.bajpai@jacobs-university.de>";
description description
"This module defines a data model for reporting results from "This module defines a data model for reporting results from
measurement agents, which are part of a Large-Scale Measurement measurement agents, which are part of a Large-Scale Measurement
Platform (LMAP), to result data collectors. This data model is Platform (LMAP), to result data collectors. This data model is
expected to be implemented by a collector."; expected to be implemented by a collector.";
revision "2016-12-15" { revision "2017-01-11" {
description description
"Initial version"; "Initial version";
reference reference
"RFC XXX: A YANG Data Model for LMAP Measurement Agents"; "RFC XXX: A YANG Data Model for LMAP Measurement Agents";
} }
rpc report { rpc report {
description description
"The report operation is used by an LMAP measurement agent to "The report operation is used by an LMAP measurement agent to
submit measurement results produced by measurement tasks to submit measurement results produced by measurement tasks to
a collector."; a collector.";
skipping to change at page 41, line 46 skipping to change at page 41, line 50
measurement was performed. This list must include measurement was performed. This list must include
both the task specific options as well as the action both the task specific options as well as the action
specific options."; specific options.";
} }
leaf-list tag { leaf-list tag {
type lmap:tag; type lmap:tag;
description description
"A tag contains additional information that is passed "A tag contains additional information that is passed
with the result record to the collector. This is the with the result record to the collector. This is the
joined set of tags defined for the task object and the joined set of tags defined for the task object, the
action object. A tag can be used to carry the schedule object, and the action object. A tag can be
Measurement Cycle ID."; used to carry the Measurement Cycle ID.";
} }
leaf event { leaf event {
type yang:date-and-time; type yang:date-and-time;
description description
"The date and time of the event that triggered the "The date and time of the event that triggered the
schedule of the action that produced the reported schedule of the action that produced the reported
result values. The date and time does not include result values. The date and time does not include
any added randomization."; any added randomization.";
} }
 End of changes. 18 change blocks. 
82 lines changed or deleted 87 lines changed or added

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