Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2a092af508 | ||
|
|
c55f9d992d |
+15
-10
@@ -29,16 +29,21 @@ END
|
||||
|
||||
SLEEP=${SLEEP:-300}
|
||||
|
||||
# disable_poe()/enable_poe() geben jetzt den TATSÄCHLICHEN Erfolg als
|
||||
# Exit-Code zurück (0 = Switch erreicht UND Kommando bestätigt, 1 =
|
||||
# fehlgeschlagen), statt blind anzunehmen, dass ein SSH-Verbindungsversuch
|
||||
# immer klappt. Jeder kritische expect-Schritt (Verbindungsaufbau,
|
||||
# configure-terminal-Prompt, Interface-Prompt, Bestätigung des
|
||||
# power-over-ethernet-Kommandos) hat dafür einen eigenen timeout-Zweig,
|
||||
# der explizit mit "exit 1" abbricht -- vorher lief das expect-Skript bei
|
||||
# einem unerreichbaren Switch einfach durch alle Timeouts durch und endete
|
||||
# trotzdem mit Exit-Code 0, wodurch der Aufrufer fälschlich "PoE
|
||||
# deaktiviert/aktiviert" geloggt hat, obwohl am Switch nichts passiert war.
|
||||
# disable_poe()/enable_poe(): bewusst OHNE expliziten "timeout { exit 1 }"/
|
||||
# "eof { exit 1 }"-Abbruch in den einzelnen expect-Schritten -- ein nicht
|
||||
# matchender Schritt laesst expect nach Ablauf von "set timeout 5" einfach
|
||||
# zur naechsten Zeile weiterlaufen, statt abzubrechen. Das ist absichtlich
|
||||
# so belassen: ein Versuch, hier "echte" Fehlererkennung nachzuruesten
|
||||
# (Exit-Code 0 nur bei bestaetigtem Erfolg je Schritt), hat sich live als
|
||||
# Regression herausgestellt. Grund: das Login-Prompt-Pattern
|
||||
# "-re ".*> $"" unten matcht nur ein Operator-Prompt ("switchname>"). Auf
|
||||
# ArubaOS-Switches, bei denen der SSH-Account (z.B. "admin") mit
|
||||
# Manager-Rechten direkt im privilegierten Modus landet ("switchname#"
|
||||
# statt "switchname>", bestaetigt an einem 2930M/"ST-2000-Sued"), matcht
|
||||
# das Pattern nie -- mit einem harten Timeout-Abbruch waere das faelschlich
|
||||
# als Fehlschlag gewertet worden, obwohl Passwort und Verbindung in
|
||||
# Ordnung waren. Diese Funktionen hier sind daher wieder exakt auf den
|
||||
# Stand der urspruenglichen, in Produktion bewaehrten Fassung zurueckgesetzt.
|
||||
function disable_poe() {
|
||||
local switch_ip=$1
|
||||
local switch_port=$2
|
||||
|
||||
Reference in new issue
Block a user