8058550c09
TSA/B/C scripts invoke commands that require root permissions. If the user does not have sudo permissions, the scripts today execute until the command and throw a backtrace with error at the specific command. Added a check to ensure the operations check for root permissions upfront.
32 lines
1.2 KiB
Bash
Executable File
32 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Restrict command to sudo users
|
|
if [ "$EUID" -ne 0 ] ; then
|
|
echo "Root priveleges are needed for this operation"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -f /etc/sonic/chassisdb.conf ]; then
|
|
rexec all -c "sudo TSA chassis"
|
|
echo "Please execute \"rexec all -c 'sudo config save -y'\" to preserve System mode in Maintenance after reboot\
|
|
or config reload on all linecards"
|
|
exit 0
|
|
fi
|
|
# toggle the mux to standby if dualtor and any mux active
|
|
if
|
|
[[ "$(sonic-cfggen -d -v DEVICE_METADATA.localhost.subtype | tr [:upper:] [:lower:])" == *"dualtor"* ]] &&
|
|
[[ $(show mux status | grep active | wc -l) > 0 ]];
|
|
then
|
|
logger -t TSA -p user.info "Toggle all mux mode to standby"
|
|
sudo config mux mode standby all
|
|
fi
|
|
|
|
/usr/bin/TS TSA
|
|
if [[ "$(sonic-cfggen -d -v DEVICE_METADATA.localhost.type)" == *"SpineRouter"* ]] ; then
|
|
if [[ "$1" != "chassis" ]] ; then
|
|
echo "Please execute 'sudo config save' to preserve System mode in Maintenance after reboot or config reload"
|
|
echo -e "\nWARNING: Please execute 'TSA' on all other linecards of the chassis to fully isolate this device"
|
|
fi
|
|
else
|
|
echo "Please execute 'sudo config save' to preserve System mode in Maintenance after reboot or config reload"
|
|
fi |