Merge remote-tracking branch 'origin/dev_tr65_ole_1086_simple_cdd'
[debian6500.git] / simple-cdd / additional_scripts / configure_switch.tcl
CommitLineData
b3f3562f
OL
1#!/usr/bin/expect
2
3# ============================================================================
4#
5# Copyright (C) THALES. All rights reserved
6# Author: Laurent Mazet
7#
8# Script de configuration du switchs
9#
10# 2013-10-10 V1.0 : Creation
11#
12# ============================================================================
13
14set host [lrange $argv 0 0]
15if { $host == "" } {
16 puts "usage: configure_switch.tcl \[swg1|swg2|swm\]"
17 exit 1
18}
19
20set tftpserver ""
21if { $host == "swg1" } { set tftpserver "10.133.26.160" }
22if { $host == "swg2" } { set tftpserver "10.133.26.160" }
23if { $host == "swm" } { set tftpserver "10.133.28.160" }
24if { $tftpserver == "" } { puts "unknown switch '$host'"; exit }
25
26set date [ exec date +%Y%m%d-%H:%m:%S ]
27set backup "$host-$date.txt"
28
29spawn telnet $host
30
31set timeout 30
32
33expect {
34 "Password:" { send "thales\r" }
35 incorrect { send_user "invalid password or account\n"; exit 1 }
36 timeout { send_user "connection to $host timed out\n"; exit 1 }
37 eof { send_user "connection to host failed\n"; exit 1 }
38}
39expect -exact ">" { send "enable\r" }
40expect "Password:" { send "thales\r" }
41expect "#" { send "copy running-config tftp://$tftpserver/$backup\r" }
42expect -exact "?" { send "$tftpserver\r" }
43expect -exact "?" { send "$backup\r" }
44expect "#" { send "copy tftp://$tftpserver/$host.txt startup-config\r" }
45expect -exact "?" { send "startup-config\r" }
46#expect "#" { send_user " << reload or exit ? >> "; interact }
47expect "#" { send "reload\r" }
48
49exit 0
50# vim:set tabstop=4 expandtab shiftwidth=4: