From: schlum <jsc...@bo...> - 2007-07-12 11:02:41
|
Matt Zagrabelny wrote: > > On Wed, 2007-07-11 at 11:56 -0700, Austin Schutz wrote: >> On Wed, Jul 11, 2007 at 10:50:32AM -0500, Matt Zagrabelny wrote: >> > [...] >> > >> > > Does anybody knows why I'm getting this strange behavior ? >> > >> > Check the archives. >> > >> > From [1] comes: >> > >> > >> >> > While Expect is supposed to be reasonably threadsafe, IO-Tty is *not*, >> > that's where the problems come from. If you want to automate telnet, >> > using Net::Telnet with Expect should be possible under threads. >> > << >> > >> > I have had issues getting expect to use a spawned Net::Telnet object as >> > well (which is "supposed to be" thread safe). After much gnashing of >> > teeth, i have given up on Expect and been using Net::Telnet alone; >> which >> > is disappointing, because Expect is much more powerful and elegant than >> > Net::Telnet, however many *many* hours were wasted trying to get them >> to >> > work together across a diverse population of Cisco gear. >> > >> >> Have you tried using exp_init on a Net::Telnet object? That doesn't >> use IO::Tty. > > Yes, and by in large it worked. However, there were some Cisco switches > that it did not work for. So... I emailed the list and a fellow gave me > some good advice and my problems were solved, so I thought. There were > still some anomalies that were not working correctly. So to recap: > > * Expect worked with everything, but no threads > > * Expect with Net::Telnet was threaded, but could not communicate to all > switches > > * Expect with Net::Telnet plus trick from mailing list was able to > communicate to almost all switches, but not all > > Hence... > > I now use Net::Telnet by itself. It is not as elegant as Expect, but the > thread speedup is *awesome*. > > -- > Matt Zagrabelny - mzagrabe@d.umn.edu - (218) 726 8844 > University of Minnesota Duluth > Information Technology Systems & Services > PGP key 1024D/84E22DA2 2005-11-07 > Fingerprint: 78F9 18B3 EF58 56F5 FC85 C5CA 53E7 887F 84E2 2DA2 > > He is not a fool who gives up what he cannot keep to gain what he cannot > lose. > -Jim Elliot > > Hi ! Thank you for your answers. Actually my need seems to be the same as you : I want to automatize some operations on routers/switch/... I have about 2500 boxes to manage => I need the multithreading in most cases. For me everything worked fine with expect/telnet/threaded, as for SNMP/threaded. But we are now desactivating the Telnet on the infrastructure, so I really need to find a remplacement to Telnet. Most Cisco equipments only support SSH V1, so the only way I found so far is to use Expect. You think there is no hope of getting Expect/SSH/threaded working ? What struck me (and let me some hope) is that the trouble appear with only one thread running... So far it's not a thread compatibily bug, no ? I haven't try yet to use exp_init, but I am not sure what FILEHANDLE I am suppose to feed it with. Is there a way to get a filehandle from a ssh conection in Perl ? Thank you very much for your help. Jerome -- View this message in context: http://www.nabble.com/Trouble-with-Expect-working-with-Threads-tf4062209.html#a11557709 Sent from the Perl - Expectperl-Discuss mailing list archive at Nabble.com. |