With the recent 6.5 release of ConfD, the internal representation of leaf-lists has changed so that they now behave similarly to lists in terms of operations performed on them. This change has an impact on ConfD application code which uses leaf-lists and requires updates to your source code. Normally, when we make a change to ConfD, we do everything we can to avoid modifying existing APIs in order to not cause our users to have to update their existing application code. However, in this case, after thorough consideration, the long-term benefits of making leaf-lists behave more like lists was determined to be worth modifying the APIs and how leaf-lists are processed. Also, backward compatibility flags have been added so that you don’t have to stop everything and change your source code immediately.
Although the change in leaf-list processing was documented in ConfD’s CHANGES files, we decided that a more thorough treatment of the topic was needed. Therefore, we have written a new application note “Changes in YANG Leaf-list Handling” which looks in depth at the changes in leaf-list processing. This application note discusses the differences between the old and new ways of handling leaf-lists in source code and provides a set of examples illustrating the old and new methods. Additionally, the use of the backward compatibility options is discussed. This application note provides insights into:
- Backward Compatibility Flags
- CDB Subscribers handling of leaf-lists
- Data Providers for Operational leaf-lists
- Data Providers for Configuration leaf-lists (Configuration stored outside of CDB)
- Validation Callbacks