Closed arynair closed 1 year ago
Issue tracker is ONLY used for reporting bugs. Please use the YDK Community for any support issues.
The YDK should be able to read all BGP data (top level container) without breaking.
The script breaks after read with YcodeError
using docker command for environment ( as per documentation for ydk-pyt 0.8.3) docker run -it ydkdev/ydk-py
ydk 0.8.3 ydk-models-cisco-ios-xe 16.9.3 ydk-models-cisco-ios-xr 6.6.2 ydk-models-cisco-nx-os 9.2.3 ydk-models-ietf 0.1.5.post2 ydk-models-openconfig 0.1.6.post1 ydk-service-gnmi 0.4.0.post1
from ydk.providers import NetconfServiceProvider from ydk.services import CRUDService import logging from ydk.models.cisco_ios_xr import Cisco_IOS_XR_ipv4_bgp_oper as xr_ipv4_bgp_oper #logging log = logging.getLogger('ydk') log.setLevel(logging.INFO) handler = logging.StreamHandler() log.addHandler(handler) def bgp_oper_main(device_netconf bgp_oper_obj = xr_ipv4_bgp_oper.Bgp() bgp_oper_instance_list_obj = xr_ipv4_bgp_oper.Bgp.Instances.Instance() bgp_oper_instance_list_obj.instance_name = 'default' bgp_oper_obj.instances.instance.append(bgp_oper_instance_list_obj) crud_service.read(device_netconf,bgp_oper_obj) if __name__ == "__main__": #creating a CRUD(Create Read, Update , Delete) instance over Netconf. Refer ydk-py documentation for details. crud_service = CRUDService() device_netconf=NetconfServiceProvider(address=ssh_ip, port=port, username=username, password=password, protocol='ssh') bgp_oper_main(device_netconf)
Enable logging and post the logs below
Executing CRUD read operation on [Cisco-IOS-XR-ipv4-bgp-oper:bgp] Executing 'get' RPC on [Cisco-IOS-XR-ipv4-bgp-oper:bgp] ============= Sending RPC to device ============= <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><get xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <filter><bgp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oper"> <instances> <instance> <instance-name>default</instance-name> </instance> </instances> </bgp></filter> </get> </rpc> Executing CRUD read operation on [Cisco-IOS-XR-ipv4-bgp-oper:bgp] Executing 'get' RPC on [Cisco-IOS-XR-ipv4-bgp-oper:bgp] ============= Sending RPC to device ============= <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><get xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <filter><bgp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oper"> <instances> <instance> <instance-name>default</instance-name> </instance> </instances> </bgp></filter> </get> </rpc> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><get xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <filter><bgp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oper"> <instances> <instance> <instance-name>default</instance-name> </instance> </instances> </bgp></filter> </get> </rpc> reply: ---------------------> snipped </update-inbound-filter-process> <rt-entries> <rt-entry> <route-target-lower-bytes>143785</route-target-lower-bytes> <route-target-upper-bytes>1</route-target-upper-bytes> <af-name>all-address-family</af-name> <request-id>0</request-id> <rt> <route-target>RT:12713:1</route-target> </rt> <afs>IPv4 Unicast</afs> </rt-entry> </rt-entries> <update-inbound-error-process> <update-error-handling-basic-ebgp>true</update-error-handling-basic-ebgp> <update-error-handling-basic-ibgp>true</update-error-handling-basic-ibgp> <update-error-handling-extended-ebgp>false</update-error-handling-extended-ebgp> <update-error-handling-extended-ibgp>false</update-error-handling-extended-ibgp> <update-malformed-message-count>0</update-malformed-message-count> <update-malformed-neighbor-count>0</update-malformed-neighbor-count> <last-update-malformed-timestamp> <seconds>0</seconds> <nanoseconds>0</nanoseconds> </last-update-malformed-timestamp> <last-update-malformed-age>0</last-update-malformed-age> </update-inbound-error-process> <rpki-summary> <servers>0</servers> <ipv4roa-nets>0</ipv4roa-nets> <ipv4roa-paths>0</ipv4roa-paths> <ipv6roa-nets>0</ipv6roa-nets> <ipv6roa-paths>0</ipv6roa-paths> </rpki-summary> <rt-hash-table-entries> <rt-hash-table-entry> <imp-exp>0</imp-exp> <af-name>ipv4-unicast</af-name> <rt-hash>2069</rt-hash> <route-target-hash-value>2069</route-target-hash-value> <rt> <route-target>RT:12713:1</route-target> </rt> </rt-hash-table-entry> </rt-hash-table-entries> </instance-active> </instance> </instances> </bgp> </data> </rpc-reply> Couldn't fetch child entity remote-nh-table in parent /Cisco-IOS-XR-ipv4-bgp-oper:bgp/instances/instance[instance-name='default']/instance-active/vrfs/vrf[vrf-name='TEST-VRF']/afs/af[af-name='ipv4-unicast']! Traceback (most recent call last): File "assurance_master.py", line 331, in <module> bgp_oper_main(device_netconf ,device_input) File "assurance_master.py", line 112, in bgp_oper_main crud_service.read(device_netconf,bgp_oper_obj) File "/usr/local/lib/python3.5/dist-packages/ydk/services/crud_service.py", line 65, in read read_top_entity = self._crud.read(provider, top_filters) File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__ self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.5/dist-packages/ydk/errors/error_handler.py", line 82, in handle_runtime_error _raise(_exc) File "/usr/local/lib/python3.5/dist-packages/ydk/errors/error_handler.py", line 54, in _raise exec("raise exc from None") File "<string>", line 1, in <module> ydk.errors.YCoreError: Couldn't fetch child entity 'remote-nh-table' in parent /Cisco-IOS-XR-ipv4-bgp-oper:bgp/instances/instance[instance-name='default']/instance-active/vrfs/vrf[vrf-name='TEST-VRF']/afs/af[af-name='ipv4-unicast']
as generated by docker image
Could you please attach full log file.
Issue tracker is ONLY used for reporting bugs. Please use the YDK Community for any support issues.
Expected Behavior
The YDK should be able to read all BGP data (top level container) without breaking.
Current Behavior
The script breaks after read with YcodeError
Steps to Reproduce
using docker command for environment ( as per documentation for ydk-pyt 0.8.3) docker run -it ydkdev/ydk-py
ydk 0.8.3 ydk-models-cisco-ios-xe 16.9.3 ydk-models-cisco-ios-xr 6.6.2 ydk-models-cisco-nx-os 9.2.3 ydk-models-ietf 0.1.5.post2 ydk-models-openconfig 0.1.6.post1 ydk-service-gnmi 0.4.0.post1
Your Script
Logs
Enable logging and post the logs below
System Information
as generated by docker image