Vlan cisco avec Net::Telnet::Cisco

Vlan cisco avec Net::Telnet::Cisco - Perl - Programmation

Marsh Posté le 12-09-2008 à 10:08:51    

Bonjour,
 
Jaimerai mettre en place un script perl qui automatiserait la création de vlan dans un cisco, mon programme fonctionne jusqu'au moment où la commande "vlan database" doit être rentrée, et à cette instant j'ai l'erreur suivante : "command timed-out at ./prog.pl line #cidessous#"
 
 
ma ligne dans le programme est :
 
my @output2 = $session->cmd(String => 'vlan database');
 
Avez vous une idée d'où cela peut venir ?
 
Merci d'avance

Reply

Marsh Posté le 12-09-2008 à 10:08:51   

Reply

Marsh Posté le 12-09-2008 à 10:35:15    

Je suppose qu'avant de faire ça, dans le script, tu as pu te logger avec passwd et créér une session valide.
Net::Telnet::Cisco depend de Net::Telnet ou le timeout par défaut est de 10 secondes.
Essayes d'augmenter la valeur du timeout ici pour voir:
my @output2 = $session->cmd(String => 'vlan database', Timeout => 30);  
 
A la limite, regardes quand tu le fais en direct sous telnet, combien de temps ca prends pour répondre.
A+,


Message édité par gilou le 12-09-2008 à 10:36:34

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-09-2008 à 10:58:26    

J'ai déjà essayer de jouer avec la variable du time out et même résultat, quand je le fait en direct, c'est instantané
 
Merci de te pencher sur mon problème

Reply

Marsh Posté le 12-09-2008 à 11:36:04    

Bon alors il faut tracer:
1) mettre error a return et non die:
my @output2 = $session->cmd(String => 'vlan database', Errmode    => "return" );  
si ca ne passe pas comme argument, fais le au niveau de la creation de la session.
 
2) récupérer les messages d'erreur et les imprimer:
my $msg = $session->errmsg;
print $msg;
my @msgs;
my $prev = $session->errmsg(@msgs);
print $prev;
# et les autres messages d'erreur sont dans @msgs
...
exit;
 
ca devrait aider a tracer d'ou vient le pb.
A+,


Message édité par gilou le 12-09-2008 à 11:40:35

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-09-2008 à 12:08:23    

Je te remercie.
J'ai testé ça et apparement il n'apprécie pas les 3 lignes retournées par "vlan database" j'ai donc décider de le faire avec "conf t".
 
Encore merci

Reply

Marsh Posté le 12-09-2008 à 12:55:49    

Il apprécie pas?? Pas très claire, ton explication.
Si c'est juste une histoire de protocole de transmission mal reconnu (binmode?...), tu peux aller voir dans les options de Net::Telnet dont Net::Telnet::Cisco est une sous classe avec pas mal de trucs par défaut.
A+,


Message édité par gilou le 12-09-2008 à 12:56:08

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed