====== Skript nach Kalt- oder Warmstart ausführen um administrative Aktion auszuführen ======
In seltenen Fällen kann es notwendig sein nach einem Kalt- oder Warmstart des OmniSwitch eine Route zu entfernen und neu zu konfigurieren um z.B. L2GRE Tunneln zu helfen. Dieser Artikel beschreibt exemplarisch, wie dies per ''event-action'' möglich ist.
===== Exemplarisches Python Skript um Route zu entfernen/hinzuzufügen =====
#!/usr/bin/env python3
import subprocess
import time
import sys
# This script removes a route and adds it again to address a timing issue
# for L2GRE tunnels
#
# Adapt to your needs
# -Benny
# Destination
destination = "1.1.1.1"
# Mask e.g. /32
mask = "32"
# Gateway
gateway = "192.168.2.1"
# Maximum uptime until which this script will run after a coldStart/warmStart trap
# This avoids running on "trap-replay" situations, sometimes triggered by NMS
# Make sure to specify this as a float 300.0 for 5 minutes
max_uptime = 300.0
#
# Do not modify below this line
#
print("restore-route.py: Script was started via event-action following a reboot, resetting route to help L2GRE tunnels")
uptime = time.clock_gettime(time.CLOCK_BOOTTIME)
print(f"restore-route.py: System uptime is at {uptime} seconds")
if uptime > max_uptime:
sys.exit("restore-route.py: Reached maximum uptime to apply this workaround.")
subprocess.run(['no', 'ip', 'static-route', f'{destination}/{mask}', 'gateway', f'{gateway}'], capture_output=False)
print(f"restore-route.py: Removed route to {destination}/{mask} via {gateway}")
subprocess.run(['ip', 'static-route', f'{destination}/{mask}', 'gateway', f'{gateway}'], capture_output=False)
print(f"restore-route.py: Added route to {destination}/{mask} via {gateway}")
===== Konfiguration von event-action =====
Ich habe aktuell noch Schwierigkeiten dass die Traps gesendet werden bevor das System fertig ist mit dem Start.
-> event-action trap coldStart script /flash/python/restore-route.py
-> event-action trap warmStart script /flash/python/restore-route.py
-> ls -l /flash/python
total 36
-rwxrwx--- 1 root admins 20228 Jul 19 16:33 default_broker_vso.py
-rw-r--r-- 1 admin user 8423 Jul 19 16:33 iec_config.py
-rw-rw-rw- 1 admin user 1302 Jul 19 16:52 restore-route.py
-> ls -l /flash/python
total 36
-rwxrwx--- 1 root admins 20228 Jul 19 16:33 default_broker_vso.py
-rw-r--r-- 1 admin user 8423 Jul 19 16:33 iec_config.py
-rwxrwx--- 1 root admins 1302 Jul 19 16:52 restore-route.py
-> show event-action
Script Time Limit (seconds): 60
Type Name Script (/flash/python/...)
------+---------------------------------------+----------------------------------
trap coldStart restore-route.py
trap warmStart restore-route.py
trap alaDhcpVsoBrokerIpAddress default_broker_vso.py
OS6465 login:
Fri Jul 19 17:05:19 : ChassisSupervisor Power Mgr INFO message:
+++ Power Supply 1 Inserted
+++ Power Supply 1 Up
Alcatel-Lucent Enterprise OS6465T-P12 8.9.96.R04 Service Release, April 05, 2024.
chassis mode is
2
chassis mode is
2
Fri Jul 19 17:06:34 : lpNi LanNi INFO message:
+++ HW Ver 0 SW Ver 211 Param #26 ProdNum 23
Fri Jul 19 17:06:36 : dafcCmm cmm INFO message:
+++ afd_cmm_mip_handle_eoic: EOIC received once again
Fri Jul 19 17:06:36 : vcmNi thread INFO message:
+++ NI:thread_main@3179: NI 1 connecting to VC-ISIS (0/65)
Fri Jul 19 17:06:37 : qosNi Info INFO message:
+++ VC Takeover in progress.
+++ VC Takeover complete.
Chassis Supervision: CMM has reached the ready state [L8]
Fri Jul 19 17:06:38 : lpNi LanNi INFO message:
+++ lpStartNi 7119:Starting NI
Fri Jul 19 17:06:40 : ChassisSupervisor reloadMgr INFO message:
+++ Redundancy time expired - updating next running to working
Fri Jul 19 17:06:40 : intfCmm Mgr INFO message:
+++ Link 1/1/1 operationally up