[MDSAL-40] Milestone: Implement Binding Specification v2 Created: 24/Jul/14  Updated: 09/Mar/18  Resolved: 10/Mar/17

Status: Resolved
Project: mdsal
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement
Reporter: Tony Tkacik Assignee: Martin Ciglan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: File identifiers_20160407.tar.xz    
Issue Links:
Blocks
blocks MDSAL-1 Binding Specification: Grouping, data... Resolved
blocks MDSAL-42 Reorganize yang-binding Resolved
blocks MDSAL-52 Binding Java API Generator -> doesn't... Resolved
blocks MDSAL-67 Enumeration value defined in yang mod... Resolved
blocks MDSAL-73 Java Bindings: do not generate unders... Resolved
blocks MDSAL-75 CodeGenerator unable to generate clas... Resolved
blocks MDSAL-76 Generated Java Enumerations should co... Resolved
blocks MDSAL-101 Java API Code Generator relies on inp... Resolved
blocks MDSAL-146 Incorrect use of format strings in ge... Resolved
blocks MDSAL-185 Java binding v1: Invalid file/directo... Resolved
blocks MDSAL-187 Java binding v1: RPC names not guarde... Resolved
blocks MDSAL-233 Java Binding v2: Invalid file/directo... Resolved
is blocked by CONTROLLER-604 No API exists to get created data fro... Resolved
is blocked by MDSAL-6 Classes should be generated for typed... Resolved
is blocked by MDSAL-51 Binding Java API Generator -> NPE dur... Resolved
is blocked by YANGTOOLS-231 Make arrays non-mutable Resolved
is blocked by YANGTOOLS-250 BigInteger being used in range checks... Resolved
Duplicate
is duplicated by MDSAL-57 Milestone: MD-SAL support for Java Bi... Resolved

 Description   

After working with binding specification v1 there were sevaral issues identified,
which will require Binding Specification v2 along with migration plan.

This milestone tracks design of binding specification and all items, which blocks it should be addressed by Binding Specification v2.



 Comments   
Comment by Colin Dixon [ 02/Sep/14 ]

Some thoughts are documented here:
https://wiki.opendaylight.org/view/YANG_Tools:Design:Binding_Specification_v2_Analysis

Comment by Robert Varga [ 13/Nov/15 ]

Move to MDSAL

Comment by Vratko Polak [ 07/Apr/16 ]

I was tasked with surveying which kind of identifiers are usual.

Repository with collection of models: https://github.com/YangModels/yang
Script to mine identifiers: https://git.opendaylight.org/gerrit/37283
Resulting file: archived in attachment.

There are some obvious false positives (parts of description sentences that are not actual definitions), there may be false negatives (script does not understand non-standard formatting).

Most identifiers are lowercase with dashes (e.g. all-users). Also camel case (e.g. GigabitEthernet) or mixed case (e.g. FCoE) are common. Dot appears rarely and only between digits (e.g. eth-if-speed-2.5gb). Underscores occasionally replace dashes (e.g source-port_choice). There are no underscores at the start of an identifier. No identifier was enclosed in quotes (at place of definition).

Comment by Vratko Polak [ 07/Apr/16 ]

Attachment identifiers_20160407.tar.xz has been added with description: Archive with (identifier, statement type, multiplicity) lines

Comment by Martin Ciglan [ 24/May/16 ]

based on design:
https://bugs.opendaylight.org/show_bug.cgi?id=2356

basic infrastructure patch merged:
https://git.opendaylight.org/gerrit/#/c/38567/

task in progress

Comment by Colin Dixon [ 07/Jul/16 ]

Does moving the milestone from Boron-M5 to Boron-RC0 mean that we're effectively adding a feature after code freeze?

Comment by Robert Varga [ 11/Jul/16 ]

Yes. Given the scope, this has always been targeted as a preview in Boron.

Comment by Martin Ciglan [ 20/Sep/16 ]

Based on code designed, developed and merged in Boron, this umbrella task continues in Carbon

Comment by Colin Dixon [ 27/Sep/16 ]

(In reply to Martin Ciglan from comment #8)
> Based on code designed, developed and merged in Boron, this umbrella task
> continues in Carbon

Out of curiosity, does this mean that we're not planning to deprecate the Binding Spec v1 in Carbon?

Comment by Martin Ciglan [ 09/Dec/16 ]

Binding2 Java API Generator patch chain:
https://git.opendaylight.org/gerrit/#/c/46890/

Comment by Vratko Polak [ 10/Mar/17 ]

So what is the expected status of V1 and V2 on Carbon release?
I imagine V2 to be Experimental (upgrade from Preview)
and V1 still default and non-deprecated.

Generated at Wed Feb 07 20:08:29 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.