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/ |