Task 62 Scope – Config / Operational State

Slides:



Advertisements
Similar presentations
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Advertisements

Doc.: IEEE xxx Submission January 2015 N. Sato and K. Fukui (OKI)Slide 1 Project: IEEE P Working Group for Wireless Personal Area.
IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: Clarification for Handover Primitives Date Submitted: February,
Physical Changes That Don’t Change the Logical Design
Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [ULI “Profile” for Protocol Management] Date.
Nov 2010 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Resolution of PAR and 5C Comments for MBAN Study.
June 17, 2018 doc.: IEEE r0 January, 2005
Single Sample Registration
draft-ietf-teas-yang-te-topo-01
IEEE MEDIA INDEPENDENT HANDOVER DCN: srho
YANG Data Model for FDM Abstract
NETCONF Discussion Draft-ietf-i2rs-ephemeral-state-14.txt
doc.: IEEE <doc#>
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
May 2018 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Discussion on Suitable Parameters for SCHC]
NETCONF Base Notifications for NMDA
Submission Title: [Channel Page/Number Proposal]
Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Proposal of ULI primitives for handling profiles]
IETF 103 NETMOD BBF YANG Update
Factory default Setting draft-wu-netmod-factory-default-01
Information Model for AN Setup
NOV 01 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Application Specific Information Element] Date.
<month year> doc.: IEEE < > <September 2017>
NETMOD IETF 103 Bangkok Nov , 2018
NMDA Q & A draft-dsdt-nmda-guidelines &
Robert Moskowitz, Verizon
Robert Moskowitz, Verizon
Robert Moskowitz, Verizon
Robert Moskowitz, Verizon
Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [ULI “Profile” for Protocol Management] Date.
Post WG LC NMDA datastore architecture draft
May 2018 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Discussion on Suitable Parameters for SCHC]
Robert Moskowitz, Verizon
P802.1CF NRM Refinements Abstract
Yingzhen Qu YANG Data Model for OSPF Protocol draft-ietf-ospf-yang-08 draft-ietf-ospf-sr-yang-02 IETF99, Prague Derek Yeung
P802.1CF NRM Refinements Abstract
Information Model for AN Setup
Appendix D: Network Model
March 2013 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Comment Resolution Suggestions Date Submitted:
TG1 Draft Topics Date: Authors: September 2012 Month Year
Submission Title: [Channel Bands Update]
TG1 Draft Topics Date: Authors: September 2012 Month Year
November 1999 doc.: IEEE /119r0 November 1999
Task xx Scope – Connector Pin Strand
June, 2010 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [OFDM PHY Mode Representation] Date Submitted:
Task 57 Scope – Job Task Purpose – Specifically –
Entity vs Datatype.
Task 29 Scope – Party (L=ChrisH)
Task 55 Scope – TOSCA Profile
Task 41 Scope – Identity Implementation (L=Nigel Davis)
Task 36a Scope – Storage (L=ChrisH)
Task 13 Scope – Model Structure (L=ChrisH)
Task 57 Scope – Template and Profile
Task 34 Scope – LTP Port (L=Nigel Davis)
Task 13 Scope – Model Structure (L=ChrisH)
Task 2a Scope – Processing Construct (L=ChrisH)
Task 2b Scope – Processing Construct (L=ChrisH)
Task 36b Scope – CPU & Memory (L=ChrisH)
Task 34 Scope – LTP Port (L=Nigel Davis)
Task 58 Scope – Occurrence Pattern
Task 30 Scope – Location (L=ChrisH)
Task 57 Scope – Profile and Template
Task xx Scope – Expected Equipment
Task xx Scope – Model Extensions
August 2019 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: More LB156 Comment Resolution Date Submitted:
Model Aspect Mechanisms
TAPI and RFC8345 Network Topology Analysis
Interface extensions YANG & VLAN sub-interface YANG Status update
Task 2b Scope – Processing Construct (L=ChrisH)
Presentation transcript:

Task 62 Scope – Config / Operational State Purpose – To agree upon our preferred representation of Config vs Operational Data Specifically – To determine the UML constructs to be used Includes – Excludes – none External Dependencies – none Assumptions – none Risks – none

Team Members Leader - Members ???

IPR Declaration Is there any IPR associated with this presentation NO NOTICE: This contribution has been prepared to assist the ONF. This document is offered to the ONF as a basis for discussion and is not a binding proposal on Cisco or any other company. The requirements are subject to change in form and numerical value after more study. Cisco specifically reserves the right to add to, amend, or withdraw statements contained herein. THE INFORMATION HEREIN IS PROVIDED “AS IS,” WITHOUT ANY WARRANTIES OR REPRESENTATIONS, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION, WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Admin & Operational State Running Config Scratchpad value The value used for all network operations. This is the latest of the startup value, the last configured value and any non-configured update {protocol or profile}. (in non-volatile storage) Operational value The last configured value (in volatile storage) Running Config value Startup Config value The value that will be set on restart. (in non-volatile storage)

Admin & Operational State - Device Bootup Running Config Scratchpad value Operational value Running Config value Startup Config value 19

Admin & Operational State – Change config Running Config Scratchpad value 22 Operational value 6 Running Config value 10 Copy running-config startup-config Startup Config value 19

Admin & Operational State – operational value change Running Config Scratchpad value 22 Operational value 6 Dynamic protocol or applying Profile Running Config value 10 Admin value Compare this to an ACID transactional database ! – commit (scratchpad + committed value) Startup Config value 19

Admin & Operational State – Event Version Running Config Scratchpad value Operational value 2 3 5 3 Events 1 – startup config loaded 2 – config value changed 3 – scratchpad committed 4 – config saved 5 – operational value changed Running Config value 1 1 4 Startup Config value Note there is no way to copy operational value to the config values

Profiles Need to determine how profiles interact with the previous diagrams

Operational and Config Data in Yang Yang originally had top level separation of config and operational (twin trees) – a big issue was the key duplication – the primary key attributes need to be consistent in both trees Yang then moved to separate datastores (NMDA) Another option would have been separation of operational and config at the bottom of the tree (under the same key) similar to Openconfig YANG Need to also consider applied profile value in a consistent way

Netconf datastores pre-NMDA (RFC 6421) SPLIT TOP LEVEL TREES IETF YANG in each module splits into 2 separate trees at the top – this limits where / how you can augment Netconf datastores pre-NMDA (RFC 6421) +-------------+ +-----------+ | <candidate> | | <startup> | | (ct, rw) |<---+ +--->| (ct, rw) | +-------------+ | | +-----------+ | | | | | +-----------+ | +-------->| <running> |<--------+ | (ct, rw) | +-----------+ | v operational state <--- control plane (cf, ro) ct = config true; cf = config false rw = read-write; ro = read-only boxes denote datastores Figure 1 3 config values

Netconf datastores pre-NMDA (RFC 6421) Separate Config and State augmentation

Netconf NMDA (RFC 8342) The same YANG is used for all Datastores ? SEPARATE DATASTORES +-------------+ +-----------+ | <candidate> | | <startup> | | (ct, rw) |<---+ +--->| (ct, rw) | +-------------+ | | +-----------+ | | | | | +-----------+ | +-------->| <running> |<--------+ | (ct, rw) | +-----------+ | | // configuration transformations, | // e.g., removal of nodes marked as | // "inactive", expansion of | // templates v +------------+ | <intended> | // subject to validation | (ct, ro) | | // changes applied, subject to | // local factors, e.g., missing | // resources, delays dynamic | +-------- learned configuration configuration | +-------- system configuration datastores -----+ | +-------- default configuration | | | v v v +---------------+ | <operational> | <-- system state | (ct + cf, ro) | ct = config true; cf = config false rw = read-write; ro = read-only boxes denote named datastores Netconf NMDA (RFC 8342) The same YANG is used for all Datastores ? Could we add applied profile values in another datastore ? What about default values, why not a datastore for them ?

SPLIT LEAVES Openconfig YANG Config in red, State in Pink

Openconfig YANG Keys the key definition is a leafref down the tree Note the duplication of attributes into both Config & State including the id

Wrappered Primitives COMBINED ATTRIBUTES This is also where <<Generics>> could be useful Rather than creating these datatypes per primitive type Or do via <<Profilable>> <<Configurable>> Or do via <<Configurable>> Or do via <<Profilable>> Note that <<Union>> is not useful here

Config vs Operational Options Model Impact Efficiency of aggregating Comments Separate Datastores Simpler model Easy to find the associated value (same path, match on key). Could map to a single database by adding ‘datastore’ to every key. Not all values make sense for every datastore. Separate Trees Complex model Could be hard to find the associated value YANG trees can become inconsistent. Separate Leaves Easier to find the associated value Less likely to become inconsistent. Combined Attributes Needs UML profile + generator support

Operational vs Config Attributes Y Oper ----- Config Only Oper only Both

Shearing Layers http://www.laputan.org/mud/mud.html#ShearingLayers “Different artifacts change at different rates. Therefore, factor your system so that artifacts that change at similar rates are together.” “This is "separate that which changes from that which doesn't" [Roberts & Johnson 1998] writ large.” Counters and operational values tend to change more frequently than config values, so there should be an efficient way to retrieve counter and state values separately Specification values will also rarely change

Event Driven / Telemetry Impact Events shouldn’t mix slow and fast moving attributes Similar to NMDA, a single event definition could be used for Config and State, with a flag indicating which it is