draft-ietf-netconf-partial-lock-06.txt   draft-ietf-netconf-partial-lock-07.txt 
NETCONF B. Lengyel NETCONF B. Lengyel
Internet-Draft Ericsson Internet-Draft Ericsson
Intended status: Standards Track M. Bjorklund Intended status: Standards Track M. Bjorklund
Expires: August 10, 2009 Tail-f Systems Expires: August 23, 2009 Tail-f Systems
February 06, 2009 February 19, 2009
Partial Lock RPC for NETCONF Partial Lock RPC for NETCONF
draft-ietf-netconf-partial-lock-06 draft-ietf-netconf-partial-lock-07
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 33 skipping to change at page 1, line 33
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 10, 2009. This Internet-Draft will expire on August 23, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 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
skipping to change at page 2, line 34 skipping to change at page 2, line 34
2.6.2. Confirmed Commit Capability . . . . . . . . . . . . . 12 2.6.2. Confirmed Commit Capability . . . . . . . . . . . . . 12
2.6.3. Distinct Startup Capability . . . . . . . . . . . . . 12 2.6.3. Distinct Startup Capability . . . . . . . . . . . . . 12
3. Security Considerations . . . . . . . . . . . . . . . . . . . 12 3. Security Considerations . . . . . . . . . . . . . . . . . . . 12
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
5. Appendix A - XML Schema for Partial Locking (normative) . . 14 5. Appendix A - XML Schema for Partial Locking (normative) . . 14
6. Appendix B - YANG Module for Partial Locking 6. Appendix B - YANG Module for Partial Locking
(non-normative) . . . . . . . . . . . . . . . . . . . . . . . 18 (non-normative) . . . . . . . . . . . . . . . . . . . . . . . 18
7. Appendix C - Usage Example - Reserving nodes for future 7. Appendix C - Usage Example - Reserving nodes for future
editing (non-normative) . . . . . . . . . . . . . . . . . . . 21 editing (non-normative) . . . . . . . . . . . . . . . . . . . 21
8. Appendix D - Change Log . . . . . . . . . . . . . . . . . . 26 8. Appendix D - Change Log . . . . . . . . . . . . . . . . . . 26
8.1. 05-06 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.1. 06-07 . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2. 04-05 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.2. 05-06 . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.3. 03-04 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.3. 04-05 . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.4. 02-03 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.4. 03-04 . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.5. 01-02 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.5. 02-03 . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.6. 00-01 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.6. 01-02 . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.7. -00 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.7. 00-01 . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.8. -00 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.1. Normative References . . . . . . . . . . . . . . . . . . . 29 10.1. Normative References . . . . . . . . . . . . . . . . . . . 29
10.2. Informative References . . . . . . . . . . . . . . . . . . 29 10.2. Informative References . . . . . . . . . . . . . . . . . . 29
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30
1. Introduction 1. Introduction
The [NETCONF] protocol describes the lock and unlock operations that The [NETCONF] protocol describes the lock and unlock operations that
operate on entire configuration datastores. Often, multiple operate on entire configuration datastores. Often, multiple
skipping to change at page 14, line 30 skipping to change at page 14, line 30
organization "IETF NETCONF Working Group" organization "IETF NETCONF Working Group"
contact contact
Netconf Working Group Netconf Working Group
Mailing list: netconf@ietf.org Mailing list: netconf@ietf.org
Web: http://www.ietf.org/html.charters/netconf-charter.html Web: http://www.ietf.org/html.charters/netconf-charter.html
Balazs Lengyel Balazs Lengyel
balazs.lengyel@ericsson.com" balazs.lengyel@ericsson.com"
revision 2009-01-23 revision 2009-02-19
description Initial version, published as RFC yyyy. description Initial version, published as RFC yyyy.
-- RFC Ed.: replace yyyy with actual RFC number & remove this note. -- RFC Ed.: replace yyyy with actual RFC number and remove this note.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0" <xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0"
schemaLocation="urn:ietf:params:xml:ns:netconf:base:1.0"/> schemaLocation="urn:ietf:params:xml:ns:netconf:base:1.0"/>
<xs:simpleType name="lock-id-type"> <xs:simpleType name="lock-id-type">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
A number identifying a specific A number identifying a specific
partial-lock granted to a session. partial-lock granted to a session.
It is allocated by the system, and SHOULD It is allocated by the system, and SHOULD
be used in the unlock operation. be used in the unlock operation.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:restriction base="xs:unsignedInt"/> <xs:restriction base="xs:unsignedInt"/>
</xs:simpleType> </xs:simpleType>
<xs:complexType name="configNameType"/>
<xs:element name="config-name"
type="configNameType" abstract="true"/>
<xs:element name="startup" type="configNameType"
substitutionGroup="config-name"/>
<xs:element name="candidate" type="configNameType"
substitutionGroup="config-name"/>
<xs:element name="running" type="configNameType"
substitutionGroup="config-name"/>
<xs:complexType name="partialLockType"> <xs:complexType name="partialLockType">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
A NETCONF operation that locks part of one or more datastores. A NETCONF operation that locks part of one or more datastores.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="nc:rpcOperationType"> <xs:extension base="nc:rpcOperationType">
<xs:sequence> <xs:sequence>
<xs:element name="target" maxOccurs="3"> <xs:element name="target" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
A list of one or more datastore names for NETCONF. A list of one or more datastore names for NETCONF.
Each target element MUST contain a different Each target element MUST contain a different
datastore name. datastore name.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:choice> <xs:sequence>
<xs:element name="startup" minOccurs="0"> <xs:element ref="config-name"/>
<xs:complexType/> </xs:sequence>
</xs:element>
<xs:element name="candidate" minOccurs="0">
<xs:complexType/>
</xs:element>
<xs:element name="running" minOccurs="0">
<xs:complexType/>
</xs:element>
</xs:choice>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="select" type="xs:string" <xs:element name="select" type="xs:string"
maxOccurs="unbounded"> maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
XPath expression that specifies the scope of the lock. XPath expression that specifies the scope of the lock.
An Instance Identifier expression must be used unless An Instance Identifier expression must be used unless
the :xpath capability is supported in which case any the :xpath capability is supported in which case any
XPath 1.0 expression is allowed. XPath 1.0 expression is allowed.
skipping to change at page 18, line 31 skipping to change at page 18, line 31
Web: http://www.ietf.org/html.charters/netconf-charter.html Web: http://www.ietf.org/html.charters/netconf-charter.html
Balazs Lengyel Balazs Lengyel
Ericsson Ericsson
balazs.lengyel@ericsson.com"; balazs.lengyel@ericsson.com";
description description
"This YANG module defines the <partial-lock> and "This YANG module defines the <partial-lock> and
<partial-unlock> operations."; <partial-unlock> operations.";
revision 2009-01-23 { revision 2009-02-19 {
description description
"Initial version, published as RFC yyyy."; "Initial version, published as RFC yyyy.";
// RFC Ed.: replace yyyy with actual RFC number & remove this note. // RFC Ed.: replace yyyy with actual RFC number & remove this note.
} }
typedef lock-id-type { typedef lock-id-type {
type uint32; type uint32;
description description
"A number identifying a specific partial-lock granted to a session. "A number identifying a specific partial-lock granted to a session.
It is allocated by the system, and SHOULD be used in the It is allocated by the system, and SHOULD be used in the
partial-unlock operation."; partial-unlock operation.";
} }
rpc partial-lock { rpc partial-lock {
description description
"A NETCONF operation that locks part of one or more datastores."; "A NETCONF operation that locks part of one or more datastores.";
input { input {
list target { list target {
min-elements 1; min-elements 1;
max-elements 3;
description description
"A list of one or more datastore names. "A list of one or more datastore names.
Each list entry must contain a different datastore name."; Each list entry must contain a different datastore name.";
choice datastore { choice datastore {
leaf running { type empty; } leaf running { type empty; }
leaf candidate { type empty; } leaf candidate { type empty; }
leaf startup { type empty; } leaf startup { type empty; }
} }
} }
leaf-list select { leaf-list select {
type string; type string;
min-elements 1; min-elements 1;
skipping to change at page 26, line 7 skipping to change at page 26, line 7
<nc:rpc xmlns="urn:ietf:params:xml:ns:netconf:partial-lock:1.0" <nc:rpc xmlns="urn:ietf:params:xml:ns:netconf:partial-lock:1.0"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
message-id="105"> message-id="105">
<partial-unlock> <partial-unlock>
<lock-id>1</lock-id> <lock-id>1</lock-id>
</partial-unlock> </partial-unlock>
</nc:rpc> </nc:rpc>
8. Appendix D - Change Log 8. Appendix D - Change Log
8.1. 05-06 8.1. 06-07
Changed XSD and YANG to allow additional proprietary datastores to be
locked.
8.2. 05-06
Added usage example Added usage example
Clarified error messages Clarified error messages
Clarified interaction with edit-config continue-on-error Clarified interaction with edit-config continue-on-error
Improved YANG: indentation, canonical order, contact info Improved YANG: indentation, canonical order, contact info
Added usage example in appendix C Added usage example in appendix C
Synchronized YANG and XSD Synchronized YANG and XSD
8.2. 04-05 8.3. 04-05
Language and editorial updates Language and editorial updates
all app-tags are with dashes without spaces all app-tags are with dashes without spaces
Added usage scenarios Added usage scenarios
Changed encoding Changed encoding
Clarified definitions, separated scope of lock and protected area Clarified definitions, separated scope of lock and protected area
8.3. 03-04 8.4. 03-04
Minor clarifications Minor clarifications
Added list of locked-nodes to the output of partial-lock. Added list of locked-nodes to the output of partial-lock.
Added <target> wrapper around datastore names. Added <target> wrapper around datastore names.
Allowed atomic/one operation locking of datastore parts in multiple Allowed atomic/one operation locking of datastore parts in multiple
datastores. datastores.
Improved English (hopefully) Improved English (hopefully)
Removed the <data> element from rpc-reply following the text of Removed the <data> element from rpc-reply following the text of
rfc4741. rfc4741.
8.4. 02-03 8.5. 02-03
Minor clarifications Minor clarifications
Same descriptions in XSD and YANG. Same descriptions in XSD and YANG.
8.5. 01-02 8.6. 01-02
Made XSD normative Made XSD normative
Clarified that no specific access control is assumed. Clarified that no specific access control is assumed.
Clarified that non-existing nodes are NOT covered by the lock, even Clarified that non-existing nodes are NOT covered by the lock, even
if they where existing and covered by the lock when it was originally if they where existing and covered by the lock when it was originally
granted. granted.
Some rewording Some rewording
Added app-tags for two of the error cases. Added app-tags for two of the error cases.
Made YANG an informative reference Made YANG an informative reference
Enhanced security considerations. Enhanced security considerations.
8.6. 00-01 8.7. 00-01
Added YANG module. Added YANG module.
8.7. -00 8.8. -00
Created from draft-lengyel-ngo-partial-lock-01.txt Created from draft-lengyel-ngo-partial-lock-01.txt
9. Acknowledgements 9. Acknowledgements
Thanks to Andy Bierman, Sharon Chisholm, Phil Shafer , David Thanks to Andy Bierman, Sharon Chisholm, Phil Shafer , David
Harrington, Mehmet Ersue, Wes Hardaker, Juergen Schoenwaelder and Harrington, Mehmet Ersue, Wes Hardaker, Juergen Schoenwaelder and
many other members of the NETCONF WG for providing important input to many other members of the NETCONF WG for providing important input to
this document. this document.
 End of changes. 20 change blocks. 
34 lines changed or deleted 43 lines changed or added

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