[megoldva] Pexpect és Cisco

Sziasztok, reggel óta ezzel küzdök, már lassan begolyózok.

Egy cisco switchnek szeretnék küldeni néhány parancsot, és feldolgozni a kimenetét.

A kódom:

import os
from pexpect import pxssh
import sys

child=pxssh.pxssh()
child.logfile = open('plog.log', 'wb')
child.login('10.0.0.1', 'cisco', 'cisco' , auto_prompt_reset=False)
child.sendline('term len 0')
child.expect('#')
child.sendline('show int desc')
child.expect('#')
print(child.before)

A kimenet egy barátságos

b''
 

 

A log file tartalma:

Testswitch#

Testswitch#

Testswitch#

Testswitch#

Testswitch#term len 0
show int desc

Én értettem valamit félre? A child.before -nak vissza kellene adnia a sh int desc kimenetét.

pexpect (4.8.0)

Python 3.4.10

Interpreterben tesztelve a child.read() kiadja a kívánt kimenetet...

Van valakinek ötlete, merre tovább?

Hozzászólások

Átálltam paramiko alapokra :)

Ha tartós rendszert építesz és okos csapatot nevelsz, akkor száz kiadásban sem érheti baj; ha csak a gépekre hagyatkozol, akkor egyszer jól jársz, máskor rosszul; de ha sem a rendszer nem bírja a terhet, sem a csapat nem tanul a hibákból, akkor minden egyes kiadás kockázat.

If you call login() with auto_prompt_reset=False , you must set this attribute manually.

Köszönöm, megnézem majd, amint visszajutok a szkriptjeimhez.

Ha tartós rendszert építesz és okos csapatot nevelsz, akkor száz kiadásban sem érheti baj; ha csak a gépekre hagyatkozol, akkor egyszer jól jársz, máskor rosszul; de ha sem a rendszer nem bírja a terhet, sem a csapat nem tanul a hibákból, akkor minden egyes kiadás kockázat.

Egyébként milyen switch és milyen IOS (XE,XR, verzió)?

...úgyis jönnek...

Cisco IOS XE Software, Version 16.06.01

WS-C3850-24P-E

Ha tartós rendszert építesz és okos csapatot nevelsz, akkor száz kiadásban sem érheti baj; ha csak a gépekre hagyatkozol, akkor egyszer jól jársz, máskor rosszul; de ha sem a rendszer nem bírja a terhet, sem a csapat nem tanul a hibákból, akkor minden egyes kiadás kockázat.

Meg corporate policy szerint :)

Ha tartós rendszert építesz és okos csapatot nevelsz, akkor száz kiadásban sem érheti baj; ha csak a gépekre hagyatkozol, akkor egyszer jól jársz, máskor rosszul; de ha sem a rendszer nem bírja a terhet, sem a csapat nem tanul a hibákból, akkor minden egyes kiadás kockázat.