Dzahn has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/238640

Change subject: files/misc: delete upgrade-helper script
......................................................................

files/misc: delete upgrade-helper script

Moved to operations/software repo.

Change-Id: I8bda0005c7900407010fcf4c75bec8f68158f7d5
---
D files/misc/scripts/upgrade-helper
1 file changed, 0 insertions(+), 326 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/40/238640/1

diff --git a/files/misc/scripts/upgrade-helper 
b/files/misc/scripts/upgrade-helper
deleted file mode 100755
index 58f04aa..0000000
--- a/files/misc/scripts/upgrade-helper
+++ /dev/null
@@ -1,326 +0,0 @@
-#!/bin/bash
-# wmf upgrade helper aka. "UFO" (Upgrades For Operations)
-# a script to help with server upgrades
-# initial version dzahn 20120505
-# updated lcarr 20130306
-
-# current features:
-## update node group from icinga config
-## check kernel versions on node groups
-## check package upgrade status on node groups
-## check uptimes on node groups
-
-# this works on fenari (root) as "upgrade-helper"
-# it uses dsh, bc, figlet and cowsay
-# (these were all installed there already)
-
-# config
-
-## the current known-good kernel version
-goodkernel="2.6.32-41-server"
-
-## number of pending package upgrades considered ok (0 for strict checking)
-pkg_limit=0
-
-## number of days of uptime considered to be critical
-uptime_limit=200
-
-## set path to dsh and group files
-DSH=$(which dsh)
-DSH_GROUP_DIR=/etc/dsh/group
-
-# / config
-
-# yay, colors
-DULL=0
-BRIGHT=1
-FG_WHITE=37
-FG_RED=31
-FG_GREEN=32
-FG_VIOLET=35
-BG_NULL=00
-ESC="\033"
-RESET="$ESC[${DULL};${FG_WHITE};${BG_NULL}m"
-BRIGHT_WHITE="$ESC[${BRIGHT};${FG_WHITE}m"
-BRIGHT_RED="$ESC[${BRIGHT};${FG_RED}m"
-BRIGHT_GREEN="$ESC[${BRIGHT};${FG_GREEN}m"
-BRIGHT_VIOLET="$ESC[${BRIGHT};${FG_VIOLET}m"
-
-# yay, figlet
-FIGLET=$(which figlet)" -f mini"
-
-# functions
-
-function menu() {
-
-       echo -e "\nHi $(whoami), welcome to ..${BRIGHT_WHITE}"
-       echo "wmf upgrade helper" | $FIGLET
-       echo -e $RESET
-       echo -e "${BRIGHT_WHITE}u${RESET} - (u)pdate a dsh group list from 
icinga data\n"
-       echo -e "${BRIGHT_WHITE}k${RESET} - check (k)ernel versions on a dsh 
group\n"
-       echo -e "${BRIGHT_WHITE}p${RESET} - check (p)ackage upgrades on a dsh 
group\n"
-       echo -e "${BRIGHT_WHITE}t${RESET} - check up(t)imes on a dsh group\n"
-       echo -e "${BRIGHT_WHITE}q${RESET} - (q)uit\n"
-
-       echo -e "${BRIGHT_WHITE}what do you want to do? ${RESET}\n"
-       read -p ">" menuselect
-
-
-       case $menuselect in
-               "u")
-                       groupselect
-                       updategroup $nodegroup ;;
-               "k")
-                       groupselect
-                       echo -e "which kernel version is good? (string as 
returned by uname -r) (default (enter): ${goodkernel}) \n"
-                       read -p ">" kernelversion
-                       if [ -z $kernelversion ]; then 
kernelversion=$goodkernel; fi
-                       kernelcheck $nodegroup $kernelversion;;
-               "p")
-                       groupselect
-                       echo -e "how many installable packages do you want to 
tolerate? (default (enter): ${pkg_limit}) \n"
-                       read -p ">" threshold
-                       if [ -z $threshold ]; then threshold=$pkg_limit; fi
-                       pkgcheck $nodegroup $threshold;;
-               "t")
-                       groupselect
-                       echo -e "is there a certain number of days of uptime 
you consider critical? (default (enter): ${uptime_limit})\n"
-                       read -p ">" maxuptime
-                       if [ -z $maxuptime ]; then maxuptime=$uptime_limit; fi
-                       uptimecheck $nodegroup $maxuptime;;
-               "q")
-                       echo "bye"
-                       exit 0;;
-               "*")
-                       echo "invalid option. use one of: u k p t q"
-                       exit 1;;
-       esac
-
-}
-
-function groupselect () {
-       echo -e "which group do you want to check? (name of a dsh group file) 
\n"
-       read -p ">" nodegroup
-}
-
-function colorize() {
-
-       if [ $uphosts == "100.00" ]; then
-               UCOLOR=$BRIGHT_GREEN
-       else
-               UCOLOR=$BRIGHT_RED
-       fi
-
-       if [ $progress == "100.00" ]; then
-               PCOLOR=$BRIGHT_GREEN
-       else
-               PCOLOR=$BRIGHT_RED
-       fi
-}
-
-function kernelcheck() {
-
-       nodegroup=$1
-       goodkernel=$2
-       countup=0
-       countgood=0
-       countbad=0
-
-       echo "" > /tmp/kernel_check_${nodegroup}
-       echo "" > /tmp/kernel_check_result_${nodegroup}
-       echo -e "${BRIGHT_WHITE}checking group '${nodegroup}' for kernel 
'${goodkernel}' .. gathering info .. ${RESET}\n"
-
-       $DSH -M -g $nodegroup "uname -r" | tee /tmp/kernel_check_${nodegroup}
-
-       echo -e "\n${BRIGHT_WHITE}sorting results ...${RESET}\n"
-
-       while read curline; do
-
-               host_name=$(echo $curline | cut -d ":" -f1 )
-               host_kernel=$(echo $curline | cut -d " " -f2)
-
-               if [ "$host_kernel" == "$goodkernel" ]; then
-                       HCOLOR=$BRIGHT_GREEN
-                       let countgood=countgood+1
-               else
-                       HCOLOR=$BRIGHT_RED
-                       let countbad=countbad+1
-               fi
-
-               echo -e "${host_kernel} kernel on ${HCOLOR}$host_name${RESET}" 
>> /tmp/kernel_check_result_${nodegroup}
-
-       done < /tmp/kernel_check_${nodegroup}
-
-       sort -nr /tmp/kernel_check_result_${nodegroup}
-       countall=$(wc -l /etc/dsh/group/${nodegroup}| cut -d " " -f1)
-       countup=$(wc -l /tmp/kernel_check_${nodegroup} | cut -d " " -f1)
-       uphosts=$(echo "scale=2; ${countup}*100/${countall}" | bc)
-       progress=$(echo "scale=2; ${countgood}*100/${countup}" | bc)
-       lefttogo=$(echo "scale=2; 100-${progress}" | bc)
-
-       colorize
-
-       echo -e "\n${BRIGHT_WHITE}results for 
'${nodegroup}':${RESET}\n\nservers in group: ${countall} - servers reached: 
${UCOLOR}${countup} (${uphosts}%)${RESET}\nservers up with good kernels: 
${PCOLOR}${countgood} (${progress}%)${RESET} - servers up with bad kernels: 
${PCOLOR}${countbad} (${lefttogo}%)${RESET}\n\n"
-
-       if [ $uphosts == "100.00" ] && [ $progress == "100.00" ]; then
-               echo -e "\n${BRIGHT_GREEN}Yay!${RESET} Looks all 
${BRIGHT_GREEN}good${RESET}. Here's your kitten ..:)\n"
-               kitten "purr .. want to mail this to RT now? .."
-       else
-               echo -e "\n${BRIGHT_RED}:( keep going.${RESET} There are 
upgrades left to do, some hosts are down or the node list is outdated.\n"
-       fi
-
-}
-
-function pkgcheck () {
-
-       nodegroup=$1
-       threshold=$2
-       countgood=0
-       countbad=0
-       countup=0
-
-       echo "" > /tmp/pkg_check_${nodegroup}
-       echo "" > /tmp/pkg_check_result_${nodegroup}
-       echo -e "${BRIGHT_WHITE}checking group '${nodegroup}' for number of 
installabe package upgrades .. (threshold $threshold) gathering info .. 
${RESET}\n\n"
-
-       # simulated! -s dist-upgrade, count number of Inst lines
-       $DSH -M -g $nodegroup "apt-get -s dist-upgrade | grep ^Inst | wc -l" | 
tee /tmp/pkg_check_${nodegroup}
-
-       echo -e "\n${BRIGHT_WHITE}sorting results ...${RESET}\n"
-
-       while read curline; do
-
-               host_name=$(echo $curline | cut -d ":" -f1 )
-               num_upgrades=$(echo $curline | cut -d " " -f2)
-
-               if [ $num_upgrades -le $threshold ]; then
-                       HCOLOR=$BRIGHT_GREEN
-                       let countgood=countgood+1
-               else
-                       HCOLOR=$BRIGHT_RED
-                       let countbad=countbad+1
-               fi
-
-               echo -e "${num_upgrades} upgrades installable on 
${HCOLOR}$host_name${RESET}" >> /tmp/pkg_check_result_${nodegroup}
-
-       done < /tmp/pkg_check_${nodegroup}
-
-       sort -nr /tmp/pkg_check_result_${nodegroup}
-
-       countall=$(wc -l /etc/dsh/group/${nodegroup}| cut -d " " -f1)
-       countup=$(wc -l /tmp/pkg_check_${nodegroup} | cut -d " " -f1)
-       uphosts=$(echo "scale=2; ${countup}*100/${countall}" | bc)
-       progress=$(echo "scale=2; ${countgood}*100/${countup}" | bc)
-       lefttogo=$(echo "scale=2; 100-${progress}" | bc)
-
-       colorize
-
-       echo -e "\n${BRIGHT_WHITE}results for 
'${nodegroup}':${RESET}\n\nservers in group: ${countall} - servers reached: 
${UCOLOR}${countup} (${uphosts}%)${RESET}\nservers up with <= ${threshold} 
installable upgrades: ${PCOLOR}${countgood} (${progress}%)${RESET} - servers up 
with > ${threshold} installable upgrades: ${PCOLOR}${countbad} 
(${lefttogo}%)${RESET}\n\n"
-
-       if [ $uphosts == "100.00" ] && [ $progress == "100.00" ]; then
-               echo -e "\n${BRIGHT_GREEN}Yay!${RESET} Looks all 
${BRIGHT_GREEN}good${RESET}. Here's your kitten ..:)\n"
-               kitten "purr .. want to mail this to RT now? .."
-       else
-               echo -e "\n${BRIGHT_RED}:( keep going.${RESET} There are 
upgrades left to do, some hosts are down or the node list is outdated.\n"
-       fi
-
-}
-
-function kitten() {
-       echo -e ${BRIGHT_VIOLET}
-       echo $1 | cowsay -f hellokitty
-       echo -e $RESET
-}
-
-function updategroup() {
-
-       nodegroup=$1
-       overwrite="no"
-
-       echo -e "${BRIGHT_WHITE}fetching puppet_hosts.cfg from icinga on neon 
via scp .. '${nodegroup}'${RESET}\n"
-
-       scp root@icinga:/etc/icinga/puppet_hosts.cfg /tmp/puppet_hosts.cfg
-       grep host_name /tmp/puppet_hosts.cfg | cut -d " " -f23 | grep 
"^${nodegroup}" | sort > /tmp/node_group_${nodegroup}
-
-       echo -e "\nchecking ... cmp -s ${DSH_GROUP_DIR}/${nodegroup} 
/tmp/node_group_${nodegroup} \n"
-       echo -e "\n! for this to work the node group file must exist and icinga 
host names need to _start_ with the same string!\n"
-
-       # yeah, "cmp", not "diff" which might return 0 just for being able to 
open both files
-       cmp -s ${DSH_GROUP_DIR}/${nodegroup} /tmp/node_group_${nodegroup} > 
/dev/null
-
-       if [ $? -eq 1 ]; then
-
-               echo -e "${BRIGHT_WHITE}diff between old and new group 
'${nodegroup}'${RESET}\n\n"
-               diff ${DSH_GROUP_DIR}/${nodegroup} /tmp/node_group_${nodegroup}
-               echo -e "${BRIGHT_WHITE}do you want to overwrite? (y/n) 
'${nodegroup}'${RESET}\n\n"
-               read -p ">" overwrite
-
-               if [ $overwrite == "y" ]; then
-                       mv -i /tmp/node_group_${nodegroup} 
${DSH_GROUP_DIR}/${nodegroup}
-                       echo -e "${BRIGHT_WHITE}done and updated. bye.${RESET}"
-               else
-                       echo -e "${BRIGHT_WHITE}NOT written. bye.${RESET}"
-               fi
-       else
-               echo -e "${BRIGHT_WHITE}either node group '${nodegroup}' is 
already up-to-date or it did not exist. nothing to do.${RESET}\n\n"
-       fi
-
-}
-
-function uptimecheck() {
-
-       nodegroup=$1
-       maxuptime=$2
-       countup=0
-       countgood=0
-       countbad=0
-
-       echo "" > /tmp/uptime_check_${nodegroup}
-       echo "" > /tmp/uptime_check_result_${nodegroup}
-
-       echo -e "${BRIGHT_WHITE}getting raw uptimes from /proc for 
'${nodegroup}' (seconds) (max. uptime: $maxuptime days)${RESET}\n"
-       $DSH -M -g $nodegroup "cut -d \" \" -f1 /proc/uptime " | tee 
/tmp/uptime_check_${nodegroup}
-
-       echo -e "\n${BRIGHT_WHITE}sorting results ...${RESET}\n"
-
-       while read curline; do
-
-               host_name=$(echo $curline | cut -d ":" -f1 )
-               host_uptime=$(echo $curline | cut -d " " -f2)
-               host_uptime=$(echo "scale=0; ${host_uptime}/60/60/24" | bc)
-
-               if [ $host_uptime -lt $maxuptime ]; then
-                       HCOLOR=$BRIGHT_GREEN
-                       let countgood=countgood+1
-               else
-               HCOLOR=$BRIGHT_RED
-                       let countbad=countbad+1
-               fi
-
-               echo -e "${host_uptime} days of uptime on 
${HCOLOR}$host_name${RESET}" >> /tmp/uptime_check_result_${nodegroup}
-
-       done < /tmp/uptime_check_${nodegroup}
-
-       sort -nr /tmp/uptime_check_result_${nodegroup}
-
-       countall=$(wc -l /etc/dsh/group/${nodegroup}| cut -d " " -f1)
-       countup=$(wc -l /tmp/uptime_check_${nodegroup} | cut -d " " -f1)
-       uphosts=$(echo "scale=2; ${countup}*100/${countall}" | bc)
-       progress=$(echo "scale=2; ${countgood}*100/${countup}" | bc)
-       lefttogo=$(echo "scale=2; 100-${progress}" | bc)
-
-       colorize
-
-       echo -e "\n${BRIGHT_WHITE}results for 
'${nodegroup}':${RESET}\n\nservers in group: ${countall} - servers reached: 
${UCOLOR}${countup} (${uphosts}%)${RESET}\nservers up with good uptime: 
${PCOLOR}${countgood} (${progress}%)${RESET} - servers up with bad uptime: 
${PCOLOR}${countbad} (${lefttogo}%)${RESET}\n\n"
-
-       if [ $uphosts == "100.00" ] && [ $progress == "100.00" ]; then
-               echo -e "\n${BRIGHT_GREEN}Yay!${RESET} Looks all 
${BRIGHT_GREEN}good${RESET}. Here's your kitten ..:)\n"
-               kitten "purr .. want to mail this to RT now? .."
-       else
-               echo -e "\n${BRIGHT_RED}:( keep going.${RESET} Some hosts still 
need reboots, are down or the node list is outdated.\n"
-       fi
-
-}
-
-# main
-menu

-- 
To view, visit https://gerrit.wikimedia.org/r/238640
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8bda0005c7900407010fcf4c75bec8f68158f7d5
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dzahn <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to