draft-ietf-netmod-opstate-reqs-00.txt   draft-ietf-netmod-opstate-reqs-01.txt 
NETMOD Working Group K. Watsen NETMOD Working Group K. Watsen
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Informational T. Nadeau Intended status: Informational T. Nadeau
Expires: April 21, 2016 Brocade Networks Expires: June 17, 2016 Brocade Networks
October 19, 2015 December 15, 2015
NETMOD Operational State Requirements NETMOD Operational State Requirements
draft-ietf-netmod-opstate-reqs-00 draft-ietf-netmod-opstate-reqs-01
Abstract Abstract
This document defines requirements for servers enabling better This document defines requirements for servers enabling better
visibility and control over the server's operational state. To visibility and control over the server's operational state. To
achieve this end, this document also defines terminology describing a achieve this end, this document also defines terminology describing a
conceptual model enabling the requirements to be expressed. conceptual model enabling the requirements to be expressed.
Status of This Memo Status of This Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
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 April 21, 2016. This Internet-Draft will expire on June 17, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 18 skipping to change at page 2, line 18
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Security Considerations . . . . . . . . . . . . . . . . . . . 5 3. Security Considerations . . . . . . . . . . . . . . . . . . . 5
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Normative References . . . . . . . . . . . . . . . . . . 5 6.1. Normative References . . . . . . . . . . . . . . . . . . 5
6.2. Informative References . . . . . . . . . . . . . . . . . 6 6.2. Informative References . . . . . . . . . . . . . . . . . 6
Appendix A. Relation to Terms Defined in Other Drafts . . . . . 7 Appendix A. Relation to Terms Defined in Other Drafts . . . . . 7
Appendix B. Relation to Requirements in Other Drafts . . . . . . 7 Appendix B. Relation to Requirements in Other Drafts . . . . . . 7
Appendix C. Open Issues . . . . . . . . . . . . . . . . . . . . 7 Appendix C. Open Issues . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Terminology 1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
The term "server" is used throughout this document to refer to what The term "server" is used throughout this document to refer to what
is many times known as the "device", "system", or "network element". is many times known as the "device", "system", or "network element".
This definition is intended to be consistent with the term "server" This definition is intended to be consistent with the term "server"
skipping to change at page 3, line 24 skipping to change at page 3, line 25
as part of the server's own interactions. For example, derived as part of the server's own interactions. For example, derived
state may consist of the results of protocol interactions (the state may consist of the results of protocol interactions (the
negotiated duplex state of an Ethernet link), statistics (such as negotiated duplex state of an Ethernet link), statistics (such as
message queue depth), or counters (such as packet input or output message queue depth), or counters (such as packet input or output
bytes). bytes).
Intended Configuration: This data represents the configuration state Intended Configuration: This data represents the configuration state
that the network operator intends the server to be in, and that that the network operator intends the server to be in, and that
has been accepted by the server as valid configuration. has been accepted by the server as valid configuration.
Operational State: Operational State is the current state of the
system as known to the various components of the system (e.g.,
control plane daemons, operating system kernels, line cards).
The operational state includes both applied configuration and
derived state.
Rollback On Error: If an error condition occurs such that part of Rollback On Error: If an error condition occurs such that part of
applying the configuration fails, the server will stop processing applying the configuration fails, the server will stop processing
the configuration operation and restore the specified the configuration operation and restore the specified
configuration to its complete state at the start of this configuration to its complete state at the start of this
configuration operation. configuration operation.
Synchronous Configuration Operation: A configuration request to Synchronous Configuration Operation: A configuration request to
update the running configuration of a server that is applied update the running configuration of a server that is applied
synchronously with respect to the client request (i.e. a blocking synchronously with respect to the client request (i.e. a blocking
call). The server MUST fully attempt to apply the configuration call). The server MUST fully attempt to apply the configuration
skipping to change at page 4, line 14 skipping to change at page 4, line 21
C. The data model for the applied configuration is the same as C. The data model for the applied configuration is the same as
the data model for the intended configuration (same leaves) the data model for the intended configuration (same leaves)
D. When a configuration change for any intended configuration D. When a configuration change for any intended configuration
node has been successfully applied to the server (e.g. not node has been successfully applied to the server (e.g. not
failed, nor deferred due to absent hardware) then the failed, nor deferred due to absent hardware) then the
existence and value of the corresponding applied existence and value of the corresponding applied
configuration node must match the intended configuration configuration node must match the intended configuration
node. node.
2. Applied configuration as part of operational state 2. Support for both synchronous and asynchronous configuration
A. The ability to retrieve the applied configuration and derived
state nodes in a single protocol operation.
3. Support for both synchronous and asynchronous configuration
operations (see terms) operations (see terms)
A. A server may support only synchronous configuration A. A server may support only synchronous configuration
operations, or only asynchronous configuration operations, or operations, or only asynchronous configuration operations, or
both synchronous and asynchronous configuration operations on both synchronous and asynchronous configuration operations on
a client-specified per-operation basis. a client-specified per-operation basis.
B. Servers that support asynchronous configuration operations B. Servers that support asynchronous configuration operations
MAY also provide a verify operation that a client can request MAY also provide a verify operation that a client can request
from the server to return information regarding the from the server to return information regarding the
difference between the intended and applied configurations. difference between the intended and applied configurations.
C. The configuration protocol MUST specify how configuration C. The configuration protocol MUST specify how configuration
errors are handled. Errors may be handled by "stop on errors are handled. Errors may be handled by "stop on
error", "continue on error" or "rollback on error" semantics error", "continue on error" or "rollback on error" semantics
(see terms). Support for "rollback on error" SHOULD be (see terms). Support for "rollback on error" SHOULD be
provided. provided.
4. Separation of configuration and operational state data; ability 3. Separation of the applied configuration and derived state aspects
to retrieve them and independently of operational state; ability to retrieve them independently and
together
A. Be able to retrieve only the derived state aspects of A. Be able to retrieve only the applied configuration aspects of
operational state operational state
B. Be able to retrieve only the non-derived state aspects of B. Be able to retrieve only the derived state aspects of
operational state operational state
C. Be able to retrieve both the derived and non-derived state C. Be able to retrieve both the applied configuration and
aspects of operational state together derived state aspects of operational state together
5. Ability to retrieve operational state corresponding only to
derived values, statistics, etc.
// this is a duplicate of # 4-a
6. Ability to relate configuration with its corresponding 4. Ability to relate configuration with its corresponding
operational state operational state
A. Ability to map intended config nodes to corresponding applied A. Ability to map intended config nodes to corresponding applied
config nodes config nodes
B. Ability to map intended config nodes to associated derived B. Ability to map intended config nodes to associated derived
state nodes state nodes
C. The mappings needs to be programmatically consumable C. The mappings needs to be programmatically consumable
7. Ability for distinct modules to leverage a common model-structure 5. Ability for distinct modules to leverage a common model-structure
A. Focus on the IETF-defined modules, and ideally provides A. Focus on the IETF-defined modules, and ideally provides
guidance to other SDOs guidance to other SDOs
B. Multiple domain-specific model-structure trees are okay B. Multiple domain-specific model-structure trees are okay
C. Model-structures may be defined in multiple modules with C. Model-structures may be defined in multiple modules with
distinct namespaces distinct namespaces
3. Security Considerations 3. Security Considerations
skipping to change at page 5, line 50 skipping to change at page 5, line 48
Shaikh, Benoit Claise, Carl Moberg, Dan Romascanu, Dean Bogdanovic, Shaikh, Benoit Claise, Carl Moberg, Dan Romascanu, Dean Bogdanovic,
Gert Grammel, Jonathan Hansford, Juergen Schoenwaelder, Lou Berger, Gert Grammel, Jonathan Hansford, Juergen Schoenwaelder, Lou Berger,
Mahesh Jethanandani, Martin Bjorklund, Phil Shafer, Randy Presuhn, Mahesh Jethanandani, Martin Bjorklund, Phil Shafer, Randy Presuhn,
Rob Shakir, Robert Wilton, Sterne, Jason. Rob Shakir, Robert Wilton, Sterne, Jason.
6. References 6. References
6.1. Normative References 6.1. Normative References
[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,
RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
6.2. Informative References 6.2. Informative References
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>.
[draft-openconfig-netmod-model-structure-00] [draft-openconfig-netmod-model-structure-00]
Shaikh, A., Shakir, R., D'Souza, K., and L. Fang, Shaikh, A., Shakir, R., D'Souza, K., and L. Fang,
"Operational Structure and Organization of YANG Models", "Operational Structure and Organization of YANG Models",
draft-openconfig-netmod-model-structure-00 (work in draft-openconfig-netmod-model-structure-00 (work in
progress), 2015, <https://tools.ietf.org/html/draft- progress), 2015, <https://tools.ietf.org/html/draft-
openconfig-netmod-model-structure-00>. openconfig-netmod-model-structure-00>.
[draft-openconfig-netmod-opstate-01] [draft-openconfig-netmod-opstate-01]
Shakir, R., Shaikh, A., and M. Hines, "Consistent Modeling Shakir, R., Shaikh, A., and M. Hines, "Consistent Modeling
of Operational State Data in YANG", draft-openconfig- of Operational State Data in YANG", draft-openconfig-
netmod-opstate-01 (work in progress), 2015, netmod-opstate-01 (work in progress), 2015,
<https://tools.ietf.org/html/draft-openconfig-netmod- <https://tools.ietf.org/html/draft-openconfig-netmod-
opstate-01>. opstate-01>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>.
Appendix A. Relation to Terms Defined in Other Drafts Appendix A. Relation to Terms Defined in Other Drafts
The following terms were originally defined in [RFC6241], but since The following terms were originally defined in [RFC6241], but since
modified by the NETMOD WG: modified by the NETMOD WG:
o continue-on-error o continue-on-error
o stop-on-error o stop-on-error
o rollback-on-error o rollback-on-error
skipping to change at page 7, line 36 skipping to change at page 7, line 36
Appendix B. Relation to Requirements in Other Drafts Appendix B. Relation to Requirements in Other Drafts
The requirements in this document roughly map onto the requirements The requirements in this document roughly map onto the requirements
listed in [draft-openconfig-netmod-opstate-01] and listed in [draft-openconfig-netmod-opstate-01] and
[draft-openconfig-netmod-model-structure-00] as list below. Some [draft-openconfig-netmod-model-structure-00] as list below. Some
liberty was taken to adjust the requirements based on what looked liberty was taken to adjust the requirements based on what looked
liked consensus from on list discussions: liked consensus from on list discussions:
1. draft-openconfig-netmod-opstate-01, Section 3 1. draft-openconfig-netmod-opstate-01, Section 3
2. draft-openconfig-netmod-opstate-01, Section 4.1 2. draft-openconfig-netmod-opstate-01, Section 4.2
3. draft-openconfig-netmod-opstate-01, Section 4.2
4. draft-openconfig-netmod-opstate-01, Section 4.3
5. draft-openconfig-netmod-opstate-01, Section 4.4 3. draft-openconfig-netmod-opstate-01, Section 4.3
6. draft-openconfig-netmod-opstate-01, Section 4.5 4. draft-openconfig-netmod-opstate-01, Section 4.5
7. draft-openconfig-netmod-model-structure-00 (no section) 5. draft-openconfig-netmod-model-structure-00 (no section)
Appendix C. Open Issues Appendix C. Open Issues
All issues with this draft are tracked using GitHub issues. Please All issues with this draft are tracked using GitHub issues. Please
see: https://github.com/netmod-wg/opstate-reqs/issues to see see: https://github.com/netmod-wg/opstate-reqs/issues to see
currently opened issues. currently opened issues.
Authors' Addresses Authors' Addresses
Kent Watsen Kent Watsen
 End of changes. 19 change blocks. 
38 lines changed or deleted 32 lines changed or added

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