...
- Dynamic Configuration of Devices
- Enable a network operator to seamlessly bring up/down and configure devices from different vendors and to verify the configuration with minimal or no human intervention.
- Dynamic Configuration/Provisioning of Services
- Enable a network operator to seamlessly configure and provision a service on the network comprising many devices from many vendors with minimal or no human intervention
Story
- intervention
How to get involved
Help needed
- 1-2 developer for configuration Store, who is/are required to work with ONOS distributed core team to implement Store Mechanism, Application API, and advanced store features etc. Location can be local or remote.
- 1-2 QA engineer, whose responsibility will be setup related testing environment in ON.LAB, design stress and regression testing plan and testing cases, write automation script, work with developer on any issues by stress and regression test. Local resources are preferred.
- Invite 3 (at least) vendors to join the brigade. These vendors will provide one or two L3 devices with NETCONF and device model ready. Engineers are required to work with Brigade team to integrate their devices into the demo environment. They are required to know their device model and is able to help brigade team to debug any issue seen during the integration.
Contact the brigade:
- Join the mailing list at: brigade-dynconfig@onosproject.org
Story
- Dynamic Configuration Story slide is a reference to our vision and view how this dynamic configuration system works. It basically covers both device configuration and service provisioning.
- Story document:
- Dynamic Configuration Story slide is a reference to our vision and view how this dynamic configuration system works. It basically covers both device configuration and service provisioning.
- Story document:
Documents
- Dynamic Configuration Design Requirement
- Brigade DynConfig for ONOS Build.pdf
- Dynamic Configuration Design Document
...
Date | Meeting and Event | Meeting highlights | Action Item | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
09/14/2017 | Dynamic Configuration Brigade Weekly Meeting | Magpie Sprint #1 Items and progresses In Progress:
To-do:
Done:
- Fixed and merged in sprint3
- tested and merged.
- Was able to reproduce; fixed and merged in sprint3
- now merged | ||||||||||||||
08/24/2017 | Dynamic Configuration Brigade Weekly Meeting | Loon Sprint #3 Items and progresses ONOS-6381 Event consolidation - in progress, under review ONOS-6494 Dyn-config List Child need to be ordered together - Fixed and merged in sprint3 ONOS-6861 Restconf Filter by nodes - depends on 6494. Will continue to be developed in the next release. ONOS-XYZW RESTCONF Device proxy support
ONOS-6878 Revisit DynConfig Event notification
ONOS-6884 Device tree restructuring
ONOS-6881 yangtools "uses" augmentation - tested and merged. ONOS-6694 OpenConfig integration issue
ONOS-6673 YANG Runtime: GET API's for YANG Models - low priority, there can be workaround for it. Take a look after OpenConfig work ONOS-6906 bug around update, no event issue - Was able to reproduce; fixed and merged in sprint3 RESTCONF Timestamp support
ONOS-XYZW Live Compilation in place CLI, REST - now merged | ||||||||||||||
08/10/2017 | Dynamic Configuration Brigade Weekly Meeting | Loon Sprint #3 Items and progresses ONOS-6381 Event consolidation - in progress, under review ONOS-6494 Dyn-config List Child need to be ordered together - Fixed and merged in sprint3 ONOS-6861 Restconf Filter by nodes - depends on 6494 ONOS-XYZW RESTCONF Device proxy support
ONOS-6878 Revisit DynConfig Event notification
ONOS-6884 Device tree restructuring
ONOS-6881 yangtools "uses" augmentation - under review on gerrit ONOS-6694 OpenConfig integration issue
ONOS-6673 YANG Runtime: GET API's for YANG Models - low priority, there can be workaround for it. Take a look after OpenConfig work ONOS-6906 bug around update, no event issue - Was able to reproduce; fixed and merged in sprint3 RESTCONF Timestamp support
ONOS-XYZW Live Compilation in place CLI, REST - now merged Would be nice to have small YANG for Unit test purpose
| ||||||||||||||
08/03/2017 | Dynamic Configuration Brigade Weekly Meeting | Loon Sprint #3 Items and progresses ONOS-6494 Dyn-config List Child need to be ordered together ONOS-6861 Restconf Filter ONOS-XYZW RESTCONF Device proxy support
ONOS-6878 Revisit DynConfig Event notification
ONOS-XYZW Device tree restructuring
ONOS-6881 yangtools "uses" augmentation ONOS-6694 OpenConfig integration issue
ONOS-6673 YANG Runtime: GET API's for YANG Models | 07/27/2017 | 07/20/2017 | Dynamic Configuration Brigade Weekly Meeting | Loon Sprint #2 Items and progresses [ONOS-6787] Rpc abstractions and clean up -Dynamic config side
[ONOS-6645] RPC abstractions and generated code clean up and optimize - yang tools side
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
[ONOS 6745] Device synchronizer
[ONOS 6760] RestConf RPC
[ONOS 6761] RestConf PATCH support
[ONOS 6763] OpenConfig model compilation and integration
YANG tools and YANG runtime
YANG live compiler
| 07/13/2017 | Loon Sprint #2 Items and progresses [ONOS-6645] RPC abstractions and generated code clean up and optimize
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
[ONOS 6745] Device synchronizer
[ONOS 6760] RestConf RPC
[ONOS 6761] RestConf PATCH support
[ONOS 6763] OpenConfig model compilation and integration
YANG tools and YANG runtime
YANG live compiler
| 07/06/2017 |
Widget Connector | ||
---|---|---|
|
Loon Sprint #2 Items and progresses
[ONOS-6645] RPC abstractions and generated code clean up and optimize
Patch is ready for review. Code compilation issue to be checked.
Working on transactions and event consolidation.
API of RPC registry is moved to YANG runtime, implementation still remains in Dynamic Config
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
Not started yet.
[ONOS 6745] Device synchronizer
Description for device synchronizer document is done. Currently discussing about the designs in the mailing list.
[ONOS 6760] RestConf RPC
Integrating with Dynamic Config service API to be completed.
Interface change to add resource id in Dyn Config API to be code reviewed and submitted along with Dyn Conf implementation; implementation in YANG runtime to be done.
- suppress auto generated registration classes, comment out invocation code
[ONOS 6761] RestConf PATCH support
Not started yet.
Fix to PUT operation (in compliance with RESTCONF standards) will be submitted.
[ONOS 6763] OpenConfig model compilation and integration
- 2/7 bugs are fixed
YANG tools and YANG runtime
YANG live compiler
- GET APIs
- Introduce model identifier in YANG compiler
- Produce oar file for application integration
Code walk of the RPC brokerage
Implementation of brokerage, correlation of responses to commands
Different approaches to manage the concurrent executions at the executors were discussed
Data change and YANG notifications handling at the store
Agenda
YANG Schama validation for data
two options were proposed.
is YANG runtime stateful?
error handling during validation: giving back to application; tree might be traversed multiple time.
not concluded yet.
Agenda
- Google.
Focus will be on ONOS YANG tools + OpenConfig (Usage pattern similar to Microsemi driver)
ONOS-6673 YANG Runtime: GET API's for YANG Models
Loon Sprint #3 Items and progresses
[ONOS-6645] RPC abstractions and generated code clean up and optimize - yang tools side (merged, sprint 2)
[ONOS-6385 RPC dispatcher implementation] (merged)
[ONOS-6861] Transaction event listener
- Transaction id support - being considered for next sprint.
- Event consolidation - planned for next sprint.
- Applies to all Dynamic Config events
- Producer generates consolidated event and indicates which entities are updated. Parameter data values will be included along with resource ids in the payload. This may raise issue with memory consumption.
- Alternative solution is to wait until data values are processed.
[ONOS 6861] RestConf Filter
- Need Dynamic Config support.
- Depends on node ordering feature
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
- Not started yet. May hit some performance issue for JSON serializer if unsorted. Included in the next sprint.
[ONOS 6745] Device synchronizer
- Description for device synchronizer document is done. Currently discussing about the designs, such as configuration tree structure in the mailing list.
- First step is to focus on north->south synchronization (this sprint) by reacting to device changes and configuring devices from ONOS
- Network transactions is currently not supported
- Per-device transaction is possible
- Stateful or stateless provider (store device states)? - should be stateless. Controller has candidate and running store
- Next step is south->north synchronization, fetch and compare changes on the controller and take further actions
- First step is to focus on north->south synchronization (this sprint) by reacting to device changes and configuring devices from ONOS
- API change in dynamic config to support device synchronization is in code review.
- Started to look into serialization aspect.
- Discussion around proposed device configuration tree structure on mailing list.
- Agreed on basic direction, trying to finalize the details.
[ONOS 6760] RestConf RPC
- Code review is completing this week.
- Integrating with Dynamic Config service API to be completed - update: code review comments addressed, under testing.
- Interface change to add resource id in Dyn Config API to be code reviewed and submitted along with Dyn Conf implementation - done;
- YANG runtime work is done.
- Suppress auto generated registration classes - done
- comment out invocation code
- RPC input/output node will always be there, data can be empty
[ONOS 6761] RestConf PATCH support
- Code review is completing this week.
- Fix to PUT operation (in compliance with RESTCONF standards) was submitted for code review
[ONOS 6763] OpenConfig model compilation and integration
- 2/7 bugs are fixed. Remaining bug fixes will carry towards the next sprint.
YANG tools and YANG runtime
- All YANG-type related bugs are fixed.
- New YANG syntax support:
- "uses" augmentation
- "anydata" support
YANG live compiler
- GET APIs - done. Needs further improvement.
- Introduce model identifier in YANG compiler - done
- Produce oar file for application integration - not started. Will start in the next sprint.
- Ready to release new YANG tools.
Loon Sprint #2 Items and progresses
[ONOS-6787] Rpc abstractions and clean up -Dynamic config side
- Patch merged
[ONOS-6645] RPC abstractions and generated code clean up and optimize - yang tools side
- Patch is merged.
- RPC implementation almost done and is pending submission soon.
- Working on transactions and event consolidation - code review in progress. Needs refactoring on some code.
- Transaction id support - being considered for next sprint.
- Event consolidation - planned for next sprint.
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
- Not started yet. May hit some performance issue for JSON serializer if unsorted. Included in the next sprint.
[ONOS 6745] Device synchronizer
- Description for device synchronizer document is done. Currently discussing about the designs, such as configuration tree structure in the mailing list.
- First step is to focus on north->south synchronization (this sprint) by reacting to device changes and configuring devices from ONOS
- Network transactions is currently not supported
- Per-device transaction is possible
- Stateful or stateless provider (store device states)? - should be stateless. Controller has candidate and running store
- Next step is south->north synchronization, fetch and compare changes on the controller and take further actions
- First step is to focus on north->south synchronization (this sprint) by reacting to device changes and configuring devices from ONOS
- API change in dynamic config to support device synchronization is in code review.
[ONOS 6760] RestConf RPC
- Integrating with Dynamic Config service API to be completed - update: code review comments addressed, under testing.
- Interface change to add resource id in Dyn Config API to be code reviewed and submitted along with Dyn Conf implementation - done;
- YANG runtime work is done.
- Suppress auto generated registration classes - done
- comment out invocation code
- RPC input/output node will always be there, data can be empty
[ONOS 6761] RestConf PATCH support
- Under code review with issues.
- Fix to PUT operation (in compliance with RESTCONF standards) was submitted for code review
[ONOS 6763] OpenConfig model compilation and integration
- 2/7 bugs are fixed. Remaining bug fixes will carry towards the next sprint.
YANG tools and YANG runtime
- All YANG-type related bugs are fixed.
YANG live compiler
- GET APIs - patch in gerrit. Needs further improvement.
- Introduce model identifier in YANG compiler - path is in gerrit. Support from YANG tool is ready. Improvements ongoing.
- Produce oar file for application integration - not started. Will start in the next sprint.
Dynamic Configuration Brigade Weekly Meeting
Loon Sprint #2 Items and progresses
[ONOS-6645] RPC abstractions and generated code clean up and optimize
- Patch not done and waiting to be reviewed.
- Dependent code is in gerrit under review (https://gerrit.onosproject.org/#/c/14642/) . Code compilation issue should be resolved.
https://gerrit.onosproject.org/#/c/14620/ - this one is closed.
- Working on transactions and event consolidation. Expecting one more week of work.
- API of RPC registry is moved to YANG model, implementation still remains in Dynamic Config
- RPC input/output - limited to north/south or usable between applications?
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
- Not started yet.
[ONOS 6745] Device synchronizer
- Description for device synchronizer document is done. Currently discussing about the designs in the mailing list.
- First step is to focus on north->south synchronization (this sprint) by reacting to device changes and configuring devices from ONOS
- Network transactions is currently not supported
- Per-device transaction is possible
- Stateful or stateless provider (store device states)? - should be stateless. Controller has candidate and running store
- Next step is south->north synchronization, fetch and compare changes on the controller and take further actions
- First step is to focus on north->south synchronization (this sprint) by reacting to device changes and configuring devices from ONOS
- API change in dynamic config to support device synchronization is in code review.
[ONOS 6760] RestConf RPC
- Integrating with Dynamic Config service API to be completed - update: code review comments added.
- Interface change to add resource id in Dyn Config API to be code reviewed and submitted along with Dyn Conf implementation; implementation in YANG runtime to be done.
- suppress auto generated registration classes, comment out invocation code
[ONOS 6761] RestConf PATCH support
- Implemented and under code review.
- Fix to PUT operation (in compliance with RESTCONF standards) was submitted for code review
[ONOS 6763] OpenConfig model compilation and integration
- 2/7 bugs are fixed
YANG tools and YANG runtime
- 1/2 Yang types related bugs are fixed.
YANG live compiler
- GET APIs - patch in gerrit. Needs further improvement.
- Introduce model identifier in YANG compiler - path is in gerrit. Improvements ongoing.
- Produce oar file for application integration - not started.
Dynamic Configuration Brigade Weekly Meeting
Widget Connector | ||
---|---|---|
|
Loon Sprint #2 Items and progresses
[ONOS-6645] RPC abstractions and generated code clean up and optimize
Patch is ready for review. Code compilation issue to be checked.
Working on transactions and event consolidation.
API of RPC registry is moved to YANG runtime, implementation still remains in Dynamic Config
[ONOS 6494] Dynamic Config: Changes to preserve ordering of children in the store
Not started yet.
[ONOS 6745] Device synchronizer
Description for device synchronizer document is done. Currently discussing about the designs in the mailing list.
[ONOS 6760] RestConf RPC
Integrating with Dynamic Config service API to be completed.
Interface change to add resource id in Dyn Config API to be code reviewed and submitted along with Dyn Conf implementation; implementation in YANG runtime to be done.
- suppress auto generated registration classes, comment out invocation code
[ONOS 6761] RestConf PATCH support
Not started yet.
Fix to PUT operation (in compliance with RESTCONF standards) will be submitted.
[ONOS 6763] OpenConfig model compilation and integration
- 2/7 bugs are fixed
YANG tools and YANG runtime
YANG live compiler
- GET APIs
- Introduce model identifier in YANG compiler
- Produce oar file for application integration
Code walk of the RPC brokerage
Implementation of brokerage, correlation of responses to commands
Different approaches to manage the concurrent executions at the executors were discussed
Data change and YANG notifications handling at the store
Agenda
YANG Schama validation for data
two options were proposed.
is YANG runtime stateful?
error handling during validation: giving back to application; tree might be traversed multiple time.
not concluded yet.
Agenda
Agenda
Gaurav on recent code changes in builder, model object, model converter and data node.
Store APIs
- how to add mutability in DataNode?
- interface to YANG Runtime from schema unaware application.
- URL and input string is passed to YANG Runtime (XML, JSON?) . Each application should register its own serializer to YANG Runtime.
- is merge operation required? NETCONF supports this operation.
- DataNode is not required in ModelObject.
- How schema identifier in ModelObject help? DataNode has the schema identifier. the decision is up to implementation.
- Model converter, which is implemented by Yang Runtime.
- Expose Device Model to NB. (need feedback)
YANG runtime API will be discussed in next meeting (Gaurav)
Use case of merge operation during configuration (Vinod)
Demo 1 requirement from SP (Thomas)
Need close coder review on store APIs (Thomas)
Agenda
review DataNode definition (Gaurav)
Review of Dynamic Config Service APIs (Sithara)
- DataType: do we require the synthetic subdivision of nodes?
- Filtering: resource identifier based? DataNode based?
- We need a transient state for data in the store or a transient data store or another mechanism
- DataNode and ModelNode: dataNode is final and concrete. Model Node is abstract.
- schema aware application uses POJO to generate DataNode
- schema unaware application call YANG Runtime APIs to generate dataNode. (interface to be discussed)
- Data node operation is expensive. Let us work on this approach initially. we will come to visit the performance later.
Agenda
Agenda
Gaurav on recent code changes in builder, model object, model converter and data node.
Store APIs
- how to add mutability in DataNode?
- interface to YANG Runtime from schema unaware application.
- URL and input string is passed to YANG Runtime (XML, JSON?) . Each application should register its own serializer to YANG Runtime.
- is merge operation required? NETCONF supports this operation.
- DataNode is not required in ModelObject.
- How schema identifier in ModelObject help? DataNode has the schema identifier. the decision is up to implementation.
- Model converter, which is implemented by Yang Runtime.
- Expose Device Model to NB. (need feedback)
YANG runtime API will be discussed in next meeting (Gaurav)
Use case of merge operation during configuration (Vinod)
Demo 1 requirement from SP (Thomas)
Need close coder review on store APIs (Thomas)
Agenda
review DataNode definition (Gaurav)
Review of Dynamic Config Service APIs (Sithara)
- DataType: do we require the synthetic subdivision of nodes?
- Filtering: resource identifier based? DataNode based?
- We need a transient state for data in the store or a transient data store or another mechanism
- DataNode and ModelNode: dataNode is final and concrete. Model Node is abstract.
- schema aware application uses POJO to generate DataNode
- schema unaware application call YANG Runtime APIs to generate dataNode. (interface to be discussed)
- Data node operation is expensive. Let us work on this approach initially. we will come to visit the performance later.
Agenda
- Expose device YANG interface to NBI
Exposing device interface in NBI.pptx.pdf - data node discussion
- APIs discussion
Agenda
- jira tickets status update (Release I only)
- preparation for 12/5/2017 Demo and planning meeting
- Technical Discussion
- APIs: Path parameter (resource identifier)
- review Data Node definition
- new components module diagram (Vinod)
- data tree structure
Agenda
- Expose device YANG interface to NBI
Exposing device interface in NBI.pptx.pdf - data node discussion
- Yang Running APIs
- Path information missed.
- this api is going to be used by protocol APP and service app. Does both have the same requirement and share the same API?
- path has not defined yet.
- Data Node definition
- change double link list to hash map for performance concern
- APIs discussion
weekly meeting
Agenda
- Overview of Objectives and approach from Thomas - https://groups.google.com/a/onosproject.org/forum/#!topic/brigade-dynconfig/8JOnjcQ9ddc
- Reiterate priorities: ConfigNode, YangRuntime API, and DynamicConfig API.
- Expose device YANG interface to NBI (Vinod)
- Sprint#3 status update
this meeting is rescheduled to 8-9am of 11/18/2016
- item 1 and 2 were discussed
- agreed on the priorities in current and next release
- Item 3 will postponed to next meeting
11/15/2016
Sprint Planning
11 Dynamic-config and 4 yang-tools JIRA tickets are planned
key milestones:
- 11/22 Initial Proposal YangNode definition
- 11/28 Initial Proposal Yang running API
- 11/28 Yang configuration service APIs
11/10/2016
weekly meeting
Agenda:
- ONOS Build Update (Overall, QA team side line discussion update) (Patrick, Verizon Team)
- Architecture Update (Thomas)
- Next Step
- Open Discussion
- Brigade DynConfig for ONOS Build.pdf
- Top priority tasks are defined in the meeting.
- The next step focus on defining:
- YangNode
- YangRunning APIs
- YangStore APIs
Ibis Sprint #3 Planning
11/3/2016
weekly meeting
11/2/2016
Team Meet together
Brigade team meet together at ONOS build in Paris
- Demos for ONS 2017 (April, 2017)
- Data Tree structure proposal ( /root{/device, /services }
- YMS internals Syncup
- Demo 1: Single Vendor's Device (one device)
- Demo 2: Service (e.g. L3VPN) provisioning on single vendor devices
- Demo 3: Service Provisioning on multiple vendor's devices. (e.g. Common Driver architecture )
10/27/2016
weekly meeting
Agenda:
- Review Dynamic Configuration Store Slides
- Review Dynamic Configuration System Data Model and Common Driver idea
- Vendors demo proposal (Program OLT device by Fujitsu)
Dynamic configuration system data model and common driver idea.pdf - fujitsu report_Oct26.pptx
Review Design Requirement document
10/20/2016
weekly meeting
Introduction to current YMS, ElasticConfig subsystem, etc. and also Common Driver Idea.
- APIs between YMS and Application
- APIs between Application Driver
- Vendors device YANG schema management
- Process in common driver for "SAME" and "RULE" scenarios
- APIs between app and ElasticConfigService, which has been approved and the code had been committed
How to get involved
Help needed
- 1-2 developer for configuration Store, who is/are required to work with ONOS distributed core team to implement Store Mechanism, Application API, and advanced store features etc. Location can be local or remote.
- 1-2 QA engineer, whose responsibility will be setup related testing environment in ON.LAB, design stress and regression testing plan and testing cases, write automation script, work with developer on any issues by stress and regression test. Local resources are preferred.
- Invite 3 (at least) vendors to join the brigade. These vendors will provide one or two L3 devices with NETCONF and device model ready. Engineers are required to work with Brigade team to integrate their devices into the demo environment. They are required to know their device model and is able to help brigade team to debug any issue seen during the integration.
Contact the brigade:
- Add Slack channel, other communication channel
...
Agenda
|
| can Vinod help to make a summary about datanode discussion? | |
11/22/2016 | Agenda
|
| Vinod will look into Path definition |
11/17/2016 weekly meeting | Agenda
| this meeting is rescheduled to 8-9am of 11/18/2016
| Patrick send out the link to the requirement holder. |
11/15/2016 Sprint Planning | Ibis Release Sprint# 3 planning | 11 Dynamic-config and 4 yang-tools JIRA tickets are planned key milestones:
| |
11/10/2016 weekly meeting | Agenda:
|
| Ibis Sprint #3 Planning |
11/3/2016 weekly meeting | Canceled because of ONOS Build Event | ||
11/2/2016 Team Meet together | Brigade team meet together at ONOS build in Paris
|
| |
10/27/2016 weekly meeting | Agenda:
| Review Design Requirement document | |
10/20/2016 weekly meeting | Introduction to current YMS, ElasticConfig subsystem, etc. and also Common Driver Idea.
| Need a system level model transform diagram to show NB model to SB model transform |
Brigade Leader:
- Patrick Liu
...