Currently no implementation changes for sprint #2. Also related with timestamp implementation.
ONOS-6673 YANG Runtime: GET API's for YANG Models
Low priority, there can be workaround for it. Take a look after OpenConfig work
Start implementing after anydata.
Done:
ONOS-6381 Event consolidation
ONOS-6494 Dyn-config List Child need to be ordered together
- Fixed and merged in sprint3
ONOS-6884 Device tree restructuring, ResourceId related modification to deal with relative ResourceId
Currently working on ground work required for relative ResourceId, utility methods to concat, relativizing ResourceIds.
now merged, will start working on synchronizer code
Unit test in progress. No NETCONF-capable device to test this function. May use NETCONF simulation to test Device Synchronizer.
Would be nice to have small YANG for Unit test purpose
L3VPN is smallest, may be shrink version of it can be extracted as test artifact, so that other tests can refer to it, L3VPN should have device model as part of it.
models/l3vpn/ietf~/huawei 5 files /tools/test/config/yang. or may be bgp common
Currently working on ground work required for relative ResourceId, utility methods to concat, relativizing ResourceIds.
now merged, will start working on synchronizer code
Unit test in progress. No NETCONF-capable device to test this function. May use NETCONF simulation to test Device Synchronizer.
Would be nice to have small YANG for Unit test purpose
L3VPN is smallest, may be shrink version of it can be extracted as test artifact, so that other tests can refer to it, L3VPN should have device model as part of it.
models/l3vpn/ietf~/huawei 5 files /tools/test/config/yang. or may be bgp common
Of 5 issues left, 2 will be ready for review soon, 2 more is relatively similar, in progress, 1 needs further analysis.
Would be better to prioritize this task to make it part of Loon release. Currently planning to do a webinar 9/11 about OpenConfig with Google. Focus will be on ONOS YANG tools + OpenConfig (Usage pattern similar to Microsemi driver)
- 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
will share RFC and section info, it it's mandatory, etc.
Request from customer, needed for use case like, orchestrator want to sync with ONOS, etc.
ONOS-XYZW Live Compilation in place CLI, REST
- now merged
Would be nice to have small YANG for Unit test purpose
L3VPN is smallest, may be shrink version of it can be extracted as test artifact, so that other tests can refer to it, L3VPN should have device model as part of it.
models/l3vpn/ietf~/huawei 5 files there. or may be bgp common
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
Of 5 issues left, 2 will be ready for review soon, 2 more is relatively similar, 1 needs further analysis.
Would be better to prioritize this task to make it part of Loon release. Currently planning to do a webinar 9/11 about OpenConfig with Google. Focus will be on ONOS YANG tools + OpenConfig (Usage pattern similar to Microsemi driver)
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
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.
07/20/2017
Dynamic Configuration Brigade Weekly Meeting
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
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.
07/13/2017
Dynamic Configuration Brigade Weekly Meeting
Loon Sprint #2 Items and progresses
[ONOS-6645] RPC abstractions and generated code clean up and optimize
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
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.
07/06/2017
Dynamic Configuration Brigade Weekly Meeting
Widget Connector
url
http://youtube.com/watch?v=NC5M9YAvlFc
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
01/24//2017
Review DataNode & Resourse Identifier usage
RPC brokerage and notification support by Dynamic config service(Sithara)
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
Disaggregate RPC service and RPC context
12/20/2016
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.
update the design document about the options for schema validation (Gaurav)
12/18/2016
Agenda
12/13/2016
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)
12/08/2016
Agenda
review DataNode definition (Gaurav)
Review of Dynamic Config Service APIs (Sithara)
DataType: do we require the synthetic subdivision of nodes?
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
update the JIRA status in reflect to the current status
path is defined as resource identifier in the interface. It can identify anyone (container, branch, list, leaf, etc). generally it is data node (key, value).
Node key and resource identifier difference.
lot of discussions on data tree retrieval interface and APIs.
resource ID definition
path to the instance in the data tree
key based container based store?
content filtering
can Vinod help to make a summary about datanode discussion?