This repository has been archived by the owner on Nov 2, 2023. It is now read-only.
0.6.0
Pre-release
Pre-release
2017-08-01 version 0.6.0
Python
- Introduced new YDK python
core
package using pybind11 to wrap around YDK C++core
(#507)- Introduced
ydk.path
module consisting of APIs to read, manipulate and write YANG data using XPath-like expressions - Updated YDK services and providers to internally use the path API
- Introduced
RestconfServiceProvider
andOpenDaylightServiceProvider
- Updated
NetconfServiceProvider
to be able to download the device yang models on connecting to a device - Introduced ability to encode/decode subtree XML in
CodecService
and changedCRUDService
to use XML subtree filtering to create filters for theread
operation - Added equality/inequality operators to compare YDK model API objects
- Add option for TCP transport in
NetconfServiceProvider
(#476, #444) - Support
get
/get-config
with no filter in path API (#503) - Introduce optimized on-demand yang model downloading for
NetconfServiceProvider
(#499) - Add support for choosing either a per-device or a common cache for storing downloaded yang models (#502)
- Introduced encoding/decoding subtree XML in
CodecService
and changedCRUDService
to use XML subtree filtering to create filters for theread
operation (#489) - Added support for non-standard RPCs as well in path API (#498)
- Introduced
ydk-gen
- Updated
cisco-ios-xr
to support Cisco IOS XR 6.2.2 release - Updated
cisco-ios-xe
to support Cisco IOS XE 16.6.1 release - Also updated
openconfig
andietf
bundles
Note on backward compatibility
The backward incompatible changes introduced with 0.6.0
release include:
- Installation: When installing
YDK-Py
, there is a new system requirement which needs to be installed. This is thelibydk
library, which is available on the DevHub website for various OS platforms. Please refer to the system requirements for details. - Windows support: From release
0.6.0
onwards, YDK is no longer supported on the Windows platform. We plan to add back support for this platform in the future. - API changes: Please refer to the developer guide and API guide for details about APIs and how to use them.
NetconfServiceProvider
no longer has theclose()
method. There is no need to explicitly close the provider as it will be automatically cleaned up when the object goes out of scope.YFilter
has replaced the functionality of theREAD
andDELETE
objects- When using logging, the suggested level for users of YDK is
INFO
asDEBUG
provides highly detailed logging suitable for dvelopers working on YDK - The type names of
enumerations
andidentities
no longer haveEnum
orIdentity
in their names. For example, the identityInterfaceTypeIdentity
inydk.models.ietf.ietf_interfaces
is now renamed to justInterfaceType
. - The
is_config()
method is no longer available for the YDK model APIs. This may be added back in a future release. - For
CRUDService
and other services, using a child container or list, which is not the top-level node in a yang model is no longer supported. For example:
from ydk.models.cisco_ios_xe import Cisco_IOS_XE_bgp_oper as bgp_oper
from ydk.services import CRUDService
from ydk.providers import NetconfServiceProvider
... # connect to provider etc
neighbors = bgp_oper.BgpStateData.Neighbors()
crud.read(provider, neighbors)
now has to be changed to:
from ydk.models.cisco_ios_xe import Cisco_IOS_XE_bgp_oper as bgp_oper
from ydk.services import CRUDService
from ydk.providers import NetconfServiceProvider
... # connect to provider etc
bgp_state = bgp_oper.BgpStateData()
crud.read(provider, bgp_state)