Discussion:
[rancid] Prompt issue on Alcatel using alulogin : Stop after the first command
Mathieu Poussin
2014-01-13 14:50:22 UTC
Permalink
Hello,

I need to setup rancid to backup many Alcatel Omniswitch.

It looks like alulogin is wrote for old version of alcatel Omniswitch,

I did modifications about prompts and "no more" commands to make it compatible.

Everything run fine until I run the first command :

***@RSFRGUY-TESTMON:~/bin$ ./alulogin -c "show cmm" SW-ALCATEL-TEST1
sw-alcatel-test1
spawn telnet sw-alcatel-test1
Trying 30.0.0.3...
Connected to SW-ALCATEL-TEST1.
Escape character is '^]'.
login : admin
password :

Welcome to the Alcatel-Lucent OmniSwitch 6000
Software Version 6.4.4.343.R01 GA, June 23, 2011.

Copyright(c), 1994-2011 Alcatel-Lucent. All Rights reserved.

OmniSwitch(TM) is a trademark of Alcatel-Lucent registered
in the United States Patent and Trademark Office.

->
-> no more
-> show cmm
CMM in slot 1
Model Name: OS6850-48X,
Description: CMM,
Part Number: 902462-90,
Hardware Revision: 07,
Serial Number: M4381085,
Manufacture Date: OCT 21 2011,
Firmware Version: ,
Admin Status: POWER ON,
Operational Status: UP,
Power Consumption: 115,
Power Control Checksum: 0xb87e,
CPU Model Type : Motorola MPC8248,
MAC Address: e8:e7:32:26:fd:18,




Error: TIMEOUT reached

Here is what I get from debug for the same command:

expect: does " MAC Address:
e8:e7:32:26:fd:18,\r\n\r\n\r\n\r\n-> " (spawn_id exp6) match regular
expression "\u0008+"? (No Gate, RE only) gate=yes re=no
"^[^\n\r *]*\r\n-> "? Gate "*\r\n-> "? gate=yes re=no
"^[^\n\r]*\r\n-> ."? Gate "*\r\n-> ?"? gate=no
"^--More--[\r\n]+"? Gate "--More--*"? gate=no
"[\n\r]+"? (No Gate, RE only) gate=yes re=yes
expect: set expect_out(0,string) "\r\n\r\n\r\n\r\n"
expect: set expect_out(spawn_id) "exp6"
expect: set expect_out(buffer) " MAC Address:
e8:e7:32:26:fd:18,\r\n\r\n\r\n\r\n"
expect: continuing expect

expect: does "-> " (spawn_id exp6) match regular expression "\u0008+"?
(No Gate, RE only) gate=yes re=no
"^[^\n\r *]*\r\n-> "? Gate "*\r\n-> "? gate=no
"^[^\n\r]*\r\n-> ."? Gate "*\r\n-> ?"? gate=no
"^--More--[\r\n]+"? Gate "--More--*"? gate=no
"[\n\r]+"? (No Gate, RE only) gate=yes re=no
"[^\r\n]*Press <SPACE> to cont[^\r\n]*"? Gate "*Press <SPACE> to cont*"? gate=no
"Press any key to continue (Q to quit)[^\r\n]*"? Gate "Press any key
to continue Q to quit*"? gate=no
"^ *--More--[^\n\r]*"? Gate "*--More--*"? gate=no
"^<-+ More -+>[^\n\r]*"? (No Gate, RE only) gate=yes re=no
expect: timed out

The prompt is always "-> ", I've done modifications on the alulogin file.

Here are the modifications I made :

398a399
645c646
< send "environment no more\r"
---
send "no more\r"
868c869
< set u_prompt "(Username|Login|login|user name|User):"
---
set u_prompt "(Username|Login|login|user name|User) :"
874c875
< set p_prompt "(\[Pp]assword|passwd|Enter password for \[^ :]+):"
---
set p_prompt "(\[Pp]assword|passwd|Enter password for \[^ :]+) :"
880c881
< set e_prompt "\[Pp]assword:"
---
set e_prompt "\[Pp]assword :"
884a886,889
set prompt [find prompt $router]
if { "$prompt" == "" } {
set prompt "-> "
}
920c925,926
< -re "\[\r\n]+" { exp_continue; }
---
#-re "\[\r\n]+" { exp_continue; }
-re "^.$prompt" { exp_continue }
I can't find what can be the problem, i'm new to rancid and not an
expert in Perl.

Can you help me ?

Thank you.

Best regards,
Mathieu

Loading...