napalm-automation / napalm

Network Automation and Programmability Abstraction Layer with Multivendor support
Apache License 2.0
2.24k stars 552 forks source link

Latest 2.5.0 failing to connect IOSXR devices with Netmiko 3 #1128

Closed shorton3 closed 4 years ago

shorton3 commented 4 years ago

napalm==2.5.0 netmiko==3.0.0 Cisco IOSXR device

I am able to run napalm using on this same device with an older version of napalm and netmiko, but in a recent build of my environment and latest packages, its failing. Any ideas if this is caused by netmiko 3.0.0 or something else? I am able to login to the device via ssh. Thoughts on what to look at next? I've tried on dozen devices (all IOSXR), and with multiple getters, same results

napalm --user useruid --password 'ourpass' --vendor iosxr --debug x.x.x.x call get_interfaces 2020-02-19 22:00:49,934 - napalm - DEBUG - Starting napalm's debugging tool 2020-02-19 22:00:49,934 - napalm - DEBUG - Gathering napalm packages 2020-02-19 22:00:49,934 - napalm - DEBUG - napalm==2.5.0 2020-02-19 22:00:49,934 - napalm - DEBUG - get_network_driver - Calling with args: ('iosxr',), {} 2020-02-19 22:00:49,991 - napalm - DEBUG - get_network_driver - Successful 2020-02-19 22:00:49,991 - napalm - DEBUG - init - Calling with args: (<class 'napalm.iosxr.iosxr.IOSXRDriver'>, 'x.x.x.x', 'userid'), {'password': '***', 'timeout': 60, 'optional_args': {}} 2020-02-19 22:00:49,991 - napalm - DEBUG - init - Successful 2020-02-19 22:00:49,991 - napalm - DEBUG - pre_connection_tests - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7fbd0fcf9da0>,), {} 2020-02-19 22:00:49,991 - napalm - DEBUG - open - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7fbd0fcf9da0>,), {} 2020-02-19 22:01:01,955 - napalm - DEBUG - open - Successful 2020-02-19 22:01:01,955 - napalm - DEBUG - connection_tests - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7fbd0fcf9da0>,), {} 2020-02-19 22:01:01,955 - napalm - DEBUG - get_facts - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7fbd0fcf9da0>,), {} 2020-02-19 22:01:24,312 - napalm - ERROR - get_facts - Failed: Timed-out reading channel, data not available.

================= Traceback =================

Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/paramiko/channel.py", line 699, in recv out = self.in_buffer.read(nbytes, self.timeout) File "/usr/local/lib/python3.6/site-packages/paramiko/buffered_pipe.py", line 164, in read raise PipeTimeout() paramiko.buffered_pipe.PipeTimeout

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/netmiko/base_connection.py", line 541, in _read_channel_expect new_data = self.remote_conn.recv(MAX_BUFFER) File "/usr/local/lib/python3.6/site-packages/paramiko/channel.py", line 701, in recv raise socket.timeout() socket.timeout

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/bin/napalm", line 11, in sys.exit(main()) File "/usr/local/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 312, in main run_tests(args) File "/usr/local/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 291, in run_tests call_facts(device) File "/usr/local/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 31, in wrapper r = func(*args, kwargs) File "/usr/local/lib/python3.6/site-packages/napalm/base/clitools/cl_napalm.py", line 199, in call_facts facts = device.get_facts() File "/usr/local/lib/python3.6/site-packages/napalm/iosxr/iosxr.py", line 163, in get_facts facts_rpc_reply = ETREE.fromstring(self.device.make_rpc_call(facts_rpc_request)) File "/usr/local/lib/python3.6/site-packages/pyIOSXR/iosxr.py", line 151, in make_rpc_call result = self._execute_rpc(rpc_command) File "/usr/local/lib/python3.6/site-packages/pyIOSXR/iosxr.py", line 365, in _execute_rpc response = self._send_command(xml_rpc_command, delay_factor=delay_factor) File "/usr/local/lib/python3.6/site-packages/pyIOSXR/iosxr.py", line 275, in _send_command max_loops=max_loops) File "/usr/local/lib/python3.6/site-packages/netmiko/base_connection.py", line 1447, in send_command_expect return self.send_command(*args, *kwargs) File "/usr/local/lib/python3.6/site-packages/netmiko/base_connection.py", line 1366, in send_command new_data = self.read_until_pattern(pattern=re.escape(cmd)) File "/usr/local/lib/python3.6/site-packages/netmiko/base_connection.py", line 618, in read_until_pattern return self._read_channel_expect(args, kwargs) File "/usr/local/lib/python3.6/site-packages/netmiko/base_connection.py", line 552, in _read_channel_expect "Timed-out reading channel, data not available." netmiko.ssh_exception.NetmikoTimeoutException: Timed-out reading channel, data not available.

ktbyers commented 4 years ago

Can you turn on Netmiko logging and record what happens when it fails (and post that here)?

Thanks. Kirk

shorton3 commented 4 years ago

Hi Kirk, this is the log output for get_facts:

DEBUG:napalm:Starting napalm's debugging tool DEBUG:napalm:Gathering napalm packages DEBUG:napalm:napalm==2.5.0 DEBUG:napalm:get_network_driver - Calling with args: ('iosxr',), {} DEBUG:napalm:get_network_driver - Successful DEBUG:napalm:init - Calling with args: (<class 'napalm.iosxr.iosxr.IOSXRDriver'>, '10.10.10.10', 'userid'), {'password': '***', 'timeout': 60, 'optional_args': {}} DEBUG:napalm:init - Successful DEBUG:napalm:pre_connection_tests - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7f8f0b902898>,), {} DEBUG:napalm:open - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7f8f0b902898>,), {} DEBUG:paramiko.transport:starting thread (client mode): 0xc2d6be0 DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.7.1 DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-Cisco-2.0 INFO:paramiko.transport:Connected (version 2.0, client Cisco-2.0) DEBUG:paramiko.transport:kex algos:['diffie-hellman-group14-sha1', 'diffie-hellman-group1-sha1'] server key:['ssh-rsa'] client encrypt:['aes128-ctr', 'aes192-ctr', 'aes256-ctr'] server encrypt:['aes128-ctr', 'aes192-ctr', 'aes256-ctr'] client mac:['hmac-sha1'] server mac:['hmac-sha1'] client compress:['none'] server compress:['none'] client lang:[''] server lang:[''] kex follows?False DEBUG:paramiko.transport:Kex agreed: diffie-hellman-group14-sha1 DEBUG:paramiko.transport:HostKey agreed: ssh-rsa DEBUG:paramiko.transport:Cipher agreed: aes128-ctr DEBUG:paramiko.transport:MAC agreed: hmac-sha1 DEBUG:paramiko.transport:Compression agreed: none DEBUG:paramiko.transport:kex engine KexGroup14 specified hash_algo DEBUG:paramiko.transport:Switch to new keys ... DEBUG:paramiko.transport:Adding ssh-rsa host key for 10.10.10.10: b'033777b4bb55f3d035b7af6d3c85f3e4' DEBUG:paramiko.transport:userauth is OK INFO:paramiko.transport:Authentication (password) successful! DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes DEBUG:paramiko.transport:[chan 0] Max packet out: 32768 bytes DEBUG:paramiko.transport:Secsh channel 0 opened. DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok DEBUG:netmiko:read_channel: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! NO CHANGES TO THIS CONFIG ARE TO BE MADE ! ! WITHOUT ENGINEERING OR NOC SUPPORT! ! ! ! ! ! LOGS WILL BE AUDITED! ! ! ! ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Last switch-over Fri Dec 13 00:03:45 2019: 9 weeks, 6 days, 1 hour, 9 minutes ago

RP/0/RP0:XXXXXX10-01234567A# DEBUG:netmiko:read_channel: DEBUG:netmiko:read_channel: DEBUG:netmiko:read_channel: DEBUG:netmiko:write_channel: b'\n' DEBUG:netmiko:read_channel: RP/0/RP0:XXXXXX10-01234567A# DEBUG:netmiko:read_channel: DEBUG:netmiko:[find_prompt()]: prompt is RP/0/RP0:XXXXXX10-01234567A# DEBUG:netmiko:read_channel: DEBUG:netmiko:In disable_paging DEBUG:netmiko:Command: terminal length 0

DEBUG:netmiko:write_channel: b'terminal length 0\n' DEBUG:netmiko:Pattern is: terminal\ length\ 0 DEBUG:netmiko:_read_channel_expect read_data: terminal length 0

DEBUG:netmiko:Pattern found: terminal\ length\ 0 terminal length 0

DEBUG:netmiko:terminal length 0

DEBUG:netmiko:Exiting disable_paging DEBUG:netmiko:write_channel: b'terminal width 511\n' DEBUG:netmiko:Pattern is: terminal\ width\ 511 DEBUG:netmiko:_read_channel_expect read_data: Thu Feb 20 01:12:56.812 GMT

DEBUG:netmiko:_read_channel_expect read_data: terminal width 511

DEBUG:netmiko:Pattern found: terminal\ width\ 511 Thu Feb 20 01:12:56.812 GMT terminal width 511

DEBUG:netmiko:read_channel: RP/0/RP0:XXXXXX10-01234567A#terminal width 511 Thu Feb 20 01:12:57.004 GMT RP/0/RP0:XXXXXX10-01234567A# DEBUG:netmiko:Clear buffer detects data in the channel DEBUG:netmiko:read_channel: DEBUG:netmiko:read_channel: DEBUG:netmiko:write_channel: b'\n' DEBUG:netmiko:read_channel: RP/0/RP0:XXXXXX10-01234567A# DEBUG:netmiko:read_channel: DEBUG:netmiko:[find_prompt()]: prompt is RP/0/RP0:XXXXXX10-01234567A# DEBUG:netmiko:read_channel: DEBUG:netmiko:write_channel: b'xml\n' DEBUG:netmiko:send_command_timing current output: DEBUG:netmiko:read_channel: xml Thu Feb 20 01:12:58.096 GMT

DEBUG:netmiko:read_channel: DEBUG:netmiko:read_channel: XML> DEBUG:netmiko:read_channel: DEBUG:netmiko:read_channel: DEBUG:netmiko:send_command_timing final output: xml

Thu Feb 20 01:12:58.096 GMT XML> DEBUG:napalm:open - Successful DEBUG:napalm:connection_tests - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7f8f0b902898>,), {} DEBUG:napalm:get_facts - Calling with args: (<napalm.iosxr.iosxr.IOSXRDriver object at 0x7f8f0b902898>,), {} DEBUG:netmiko:read_channel: DEBUG:netmiko:write_channel: b'<?xml version="1.0" encoding="UTF-8"?> \n' DEBUG:netmiko:Pattern is: \<\?xml\ version\=\"1.0\"\ encoding\=\"UTF-8\"\?>\<Request\ MajorVersion\=\"1\"\ MinorVersion\=\"0\">\<Get>\<Operational>\<SystemTime\/>\<PlatformInventory\/>\ \ \ \ \ \ \ \ \<\/Operational>\<\/Get>\<\/Request> DEBUG:netmiko:_read_channel_expect read_data: <?xml version="1.0" encoding="UTF-8"?>

202022011327024GMTNTPXXXXXX10-01234567A59660830671744011Rack 0-Backplane ID 1 EEPROMIDPROM ModuleN/A1.3.6.1.4.1.9.12.3.1.9.2.442false0Rack 0-IDPROMNCS 4016 shelf assembly - DC PowerNCS4016-SA-DCV02SAL2127004E1.3.6.1.4.1.9.12.3.1.9.2.442falseRack 0-LineCard Chassis backplaneCisco SCAPA Line Card Chassis BackplaneN/A1.3.6.1.4.1.9.12.3.1.4.69false0Rack 0-Line Card Slot 0SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false1Rack 0-Line Card Slot 1SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false2Rack 0-Line Card Slot 2SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false3Rack 0-Line Card Slot 3SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false4Rack 0-Line Card Slot 4SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false5Rack 0-Line Card Slot 5SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false6Rack 0-Line Card Slot 6SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false7Rack 0-Line Card Slot 7SCAPA Line Card SlotN/A1.3.6.1.4.1.9.12.3.1.5.295false8002300/8-SW Port 0CCC-RP0 Control Ethernet Port 0N/A1.3.6.1.4.1.9.12.3.1.10.355false10/8-SW Port 4CCC-RP1 Control Ethernet Port 1N/A1.3.6.1.4.1.9.12.3.1.10.355false20/8-SW Port 8ZYNQ (Erebor) Control Ethernet Port 0N/A1.3.6.1.4.1.9.12.3.1.10.355false30/8-SW Port 12DIGI G4 #0 Management PortN/A1.3.6.1.4.1.9.12.3.1.10.355false40/8-SW Port 16DIGI G4 #1 Management PortN/A1.3.6.1.4.1.9.12.3.1.10.355false50/8-SW Port 20ZYNQ - Control Ethernet Port 1N/A1.3.6.1.4.1.9.12.3.1.10.355false60/8-SW Port 26Jericho - Control Ethernet Port 26N/A1.3.6.1.4.1.9.12.3.1.10.355false70/8-SW Port 27Daughter cardN/A1.3.6.1.4.1.9.12.3.1.10.355false80/8-SW Port 24RP0 - Control Ethernet Port 24N/A1.3.6.1.4.1.9.12.3.1.10.355false90/8-SW Port 25RP1 - Control Ethernet Port 25N/A1.3.6.1.4.1.9.12.3.1.10.355false00/8-Ethernet-SwitchEthernet Switch FPD ModuleN/A1.511.3.6.1.4.1.9.12.3.1.9.2.439false0/8-PONCAT Ethernet SwitchEthernet Switch ModuleN/A1.3.6.1.4.1.9.12.3.1.9.2.443false000/8-PGOOD_ALL_DIGIVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V3P3Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false20/8-V1P8Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false30/8-V1P5Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false40/8-V0P9 PEXVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false50/8-V3P3 STATVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false60/8-PGOOD_ALL_LDOVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false70/8-V0P75 STATVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-MAX16046 DATAPATHSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false100/8-V1P8 STBYVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P5 STBYVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false20/8-V1P0 MGT AVCCVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false30/8-V1P2 MGT AVTTVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false40/8-V0P75 ZYNQVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false50/8-V3P3 ZYNQVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false60/8-V1P8 ZYNQVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false70/8-V2P5 STBYVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false80/8-V7P0Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-MAX16046 STANDBYSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false200/8-Inlet Air TempTemperature SensorN/A1.3.6.1.4.1.9.12.3.1.8.146false0/8-TMP421 MB Inlet AirSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false300/8-Oulet Air TempTemperature SensorN/A1.3.6.1.4.1.9.12.3.1.8.146false10/8-HotSpotTemperature SensorN/A1.3.6.1.4.1.9.12.3.1.8.146false0/8-TMP421 MB Outlet AirSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false400/8-DIGI0 TempTemperature SensorN/A1.3.6.1.4.1.9.12.3.1.8.146false0/8-TMP421 DIGI0 TempSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false500/8-DIGI1 TempTemperature SensorN/A1.3.6.1.4.1.9.12.3.1.8.146false0/8-TMP421 DIGI1 TempSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false600/8-Jericho TempTemperature SensorN/A1.3.6.1.4.1.9.12.3.1.8.146false0/8-Jericho TemperatureSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false700/8-48V CSBoard Current SensorN/A1.3.6.1.4.1.9.12.3.1.8.145false10/8-V48P0 VSBoard Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4261 Inrush ControllerSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false800/8-7V-1.5V STBY CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V3P3 STBYVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 +3.3V StandbySensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false900/8-1.2V STBY CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P2 STBYVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 +1.2V StandbySensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1000/8-1.0V STBY CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P0 STBYVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 +1.0V StandbySensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1100/8-DIGI0_AVD_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V0P92 DIGI0 AVDVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 DIGI0 AVDSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1200/8-DIGI1_AVD_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V0P92 DIGI1 AVDVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 DIGI1 AVDSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1300/8-DIGI0_CORE_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V0P92 DIGI0 COREVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 DIGI0 VDDSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1400/8-DIGI1_CORE_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V0P92 DIGI1 COREVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 DIGI1 VDDSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1500/8-JERI_DDR_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P35 JERI DDRVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 JERICHO DDRSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1600/8-JERI_SRDS_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P0 JERI SRDSVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 JERICHO SerDesSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1700/8-JERI_CORE_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P0 JERI COREVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 JERICHO CoreSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1800/8-3.3V-1.8V_DP_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V2P5Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 +2.5VSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false1900/8-1.25V_DP_CSCurrent SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P25Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false0/8-LTC4151 +1.25VSensor ModuleN/A1.3.6.1.4.1.9.12.3.1.8.149false2000/8-V1P0 STBY DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false10/8-V1P2 STBY DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false20/8-V1P5 STBY DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false30/8-V1P8 STBY DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false40/8-V3P3 STBY DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false50/8-V0P75 DDR DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false60/8-V1P0 MGT DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false70/8-V1P2 MGT DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false80/8-V3P3 CTP2 DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false90/8-DENALI AVD DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false100/8-DENALI VDDV DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false110/8-DENALI AVD18 DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false120/8-DENALI AVD27 DBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false130/8-DENALI AVD09N DACVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false140/8-DENALI AVD09Q DACVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false150/8-DENALI VDDRVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false160/8-DENALI VDDTVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false170/8-DENALI LVDS VDD1Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false180/8-DENALI LVDS VDE18Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false190/8-DENALI PLL VDDFECVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false200/8-DENALI VDEVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false210/8-DENALI VDDBVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false220/8-DENALI VDDPVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false230/8-DENALI VDDHOSTVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false240/8-DENALI VDDDVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false250/8-V3P3 OSC D0Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false260/8-V3P3 OSC D1Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false270/8-V3P3 OSC A0Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false280/8-V3P3 OSC A1Voltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false290/8-DENALI V2P5 SWVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false300/8-DENALI V2P8 DCDCVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false310/8-DENALI V1P8 DCDCVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false320/8-DENALI ADC DACREF1 VTUNEVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false330/8-DENALI ADC DACREF0 VTUNEVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false340/8-DENALI ADC ADCREF1 VTUNEVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false350/8-DENALI ADC ADCREF0 VTUNEVoltage SensorN/A1.3.6.1.4.1.9.12.3.1.8.144false

XML> ERROR:napalm:get_facts - Failed: Timed-out reading channel, data not available.

ktbyers commented 4 years ago

Okay, this is a bug that I will need to fix. You will need to use Netmiko 2.4.2 until I fix this issue.

shorton3 commented 4 years ago

Thank you sir!

rdpravin1895 commented 4 years ago

@ktbyers Has this bug been fixed??

ktbyers commented 4 years ago

Nope, this still needs fixed.

melewitz commented 4 years ago

Fixed The problem was due to Netmiko 3's send_command option that defaults to true e.g. wait for the sent text to be echoed. XML servers don't echo. Now sending cmd_verify=False in pyIOSXR: https://github.com/fooelisa/pyiosxr/pull/61

melewitz commented 4 years ago

Kirk let me know that pyIOSXR is now included with Napalm. I've opened a PR on Napalm with a fix that globally disables cmd_verify from pyIOSXR: https://github.com/napalm-automation/napalm/pull/1188

ktbyers commented 4 years ago

Fixed in above PR.

xschlef commented 4 years ago

Exactly the same problem happens with the nxos_ssh driver. Downgrading to netmiko 2.4.2 fixed the issue temporarily.

ktbyers commented 4 years ago

Adding a comment as while they have a similar underlying cause (namely cmd_verify=True being enabled for Netmiko 3.X), the problem is not really all that similar.

This is because the IOS-XR driver and XML-agent behavior cannot/does not work with verifying the echo of commands (there is no echo).

NX-OS on the other hand should generally work with cmd_verify=True.