Fix linters error and enable linters zuul gate
Fix below linters errors E010 The "do" should be on same line as for E010 The "do" should be on same line as while E011 Then keyword is not on same line as if or elif keyword E020 Function declaration not in format ^function name {$ Ignore: E041 Arithmetic expansion using $[ is deprecated for $(( E042 local declaration hides errors E043 Arithmetic compound has inconsistent return semantics E044 Use [[ for non-POSIX comparisions Story: 2003366 Task: 24423 Change-Id: I8b6b72e702d3e89d1813772d6bf16819e28e818c Signed-off-by: Martin Chen <haochuan.z.chen@intel.com>
This commit is contained in:
parent
7b86cd14df
commit
dba551a518
@ -4,8 +4,9 @@
|
||||
jobs:
|
||||
- openstack-tox-pep8:
|
||||
voting: false
|
||||
- openstack-tox-linters:
|
||||
voting: false
|
||||
- openstack-tox-linters
|
||||
gate:
|
||||
jobs:
|
||||
- noop
|
||||
- openstack-tox-pep8:
|
||||
voting: false
|
||||
- openstack-tox-linters
|
||||
|
@ -59,7 +59,9 @@ start() {
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ ! -e $PIDFILE ]; then return; fi
|
||||
if [ ! -e $PIDFILE ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
echo -n "Stopping $DESC..."
|
||||
|
||||
@ -73,8 +75,7 @@ stop() {
|
||||
remove_TPM_transients
|
||||
}
|
||||
|
||||
status()
|
||||
{
|
||||
status() {
|
||||
pid=`cat $PIDFILE 2>/dev/null`
|
||||
if [ -n "$pid" ]; then
|
||||
if ps -p $pid &>/dev/null ; then
|
||||
|
@ -29,8 +29,7 @@ mount_nfs=no
|
||||
mount_smb=no
|
||||
mount_ncp=no
|
||||
mount_cifs=no
|
||||
while read device mountpt fstype options
|
||||
do
|
||||
while read device mountpt fstype options; do
|
||||
case "$device" in
|
||||
""|\#*)
|
||||
continue
|
||||
@ -70,8 +69,7 @@ done
|
||||
|
||||
exec 0>&1
|
||||
|
||||
if test "$rpcbind" = yes
|
||||
then
|
||||
if test "$rpcbind" = yes; then
|
||||
# WRL: Centos precheck: Dont start rpcbind in this init script.
|
||||
# It is started by a systemd service file.
|
||||
if test "/etc/centos-release" = no
|
||||
@ -88,8 +86,7 @@ then
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$mount_nfs" = yes || test "$mount_smb" = yes || test "$mount_ncp" = yes || test "$mount_cifs" = yes
|
||||
then
|
||||
if test "$mount_nfs" = yes || test "$mount_smb" = yes || test "$mount_ncp" = yes || test "$mount_cifs" = yes; then
|
||||
echo "Mounting remote filesystems..."
|
||||
test "$mount_nfs" = yes && mount -a -t nfs
|
||||
test "$mount_smb" = yes && mount -a -t smbfs
|
||||
|
@ -43,8 +43,7 @@ fi
|
||||
WSREP_STATUS=$($MYSQL_CMDLINE -e "SHOW STATUS LIKE 'wsrep_local_state';" \
|
||||
2>${ERR_FILE} | tail -1 2>>${ERR_FILE})
|
||||
|
||||
if [[ "${WSREP_STATUS}" == "4" ]] || [[ "${WSREP_STATUS}" == "2" && ${AVAILABLE_WHEN_DONOR} == 1 ]]
|
||||
then
|
||||
if [[ "${WSREP_STATUS}" == "4" ]] || [[ "${WSREP_STATUS}" == "2" && ${AVAILABLE_WHEN_DONOR} == 1 ]]; then
|
||||
# Check only when set to 0 to avoid latency in response.
|
||||
if [[ $AVAILABLE_WHEN_READONLY -eq 0 ]];then
|
||||
READ_ONLY=$($MYSQL_CMDLINE -e "SHOW GLOBAL VARIABLES LIKE 'read_only';" \
|
||||
|
@ -27,30 +27,26 @@ should_initialize ()
|
||||
|
||||
# If two args given first is user, second is group
|
||||
# otherwise the arg is the systemd service file
|
||||
if [ "$#" -eq 2 ]
|
||||
then
|
||||
if [ "$#" -eq 2 ]; then
|
||||
myuser="$1"
|
||||
mygroup="$2"
|
||||
else
|
||||
# Absorb configuration settings from the specified systemd service file,
|
||||
# or the default service if not specified
|
||||
SERVICE_NAME="$1"
|
||||
if [ x"$SERVICE_NAME" = x ]
|
||||
then
|
||||
if [ x"$SERVICE_NAME" = x ]; then
|
||||
SERVICE_NAME=@DAEMON_NAME@.service
|
||||
fi
|
||||
|
||||
myuser=`systemctl show -p User "${SERVICE_NAME}" |
|
||||
sed 's/^User=//'`
|
||||
if [ x"$myuser" = x ]
|
||||
then
|
||||
if [ x"$myuser" = x ]; then
|
||||
myuser=mysql
|
||||
fi
|
||||
|
||||
mygroup=`systemctl show -p Group "${SERVICE_NAME}" |
|
||||
sed 's/^Group=//'`
|
||||
if [ x"$mygroup" = x ]
|
||||
then
|
||||
if [ x"$mygroup" = x ]; then
|
||||
mygroup=mysql
|
||||
fi
|
||||
fi
|
||||
@ -79,8 +75,7 @@ chmod 0640 "$errlogfile"
|
||||
if should_initialize "$datadir" ; then
|
||||
# First, make sure $datadir is there with correct permissions
|
||||
# (note: if it's not, and we're not root, this'll fail ...)
|
||||
if [ ! -e "$datadir" -a ! -h "$datadir" ]
|
||||
then
|
||||
if [ ! -e "$datadir" -a ! -h "$datadir" ]; then
|
||||
mkdir -p "$datadir" || exit 1
|
||||
fi
|
||||
chown "$myuser:$mygroup" "$datadir"
|
||||
|
@ -12,12 +12,10 @@ MOUNT=/opt/platform
|
||||
previous=1
|
||||
delay=60
|
||||
|
||||
while :
|
||||
do
|
||||
while : ; do
|
||||
# First, check that it's actually an NFS mount
|
||||
mount | grep -q $MOUNT
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t NFSCHECK "$MOUNT is not mounted"
|
||||
previous=1
|
||||
sleep $delay
|
||||
@ -31,18 +29,15 @@ do
|
||||
# At this point, jobs will either report no jobs (empty) or Done,
|
||||
# unless the job is still running/hung
|
||||
rc=$(jobs)
|
||||
if [[ -z "$rc" || $rc =~ "Done" ]]
|
||||
then
|
||||
if [[ -z "$rc" || $rc =~ "Done" ]]; then
|
||||
# NFS is successful
|
||||
if [ $previous -ne 0 ]
|
||||
then
|
||||
if [ $previous -ne 0 ]; then
|
||||
logger -t NFSCHECK "NFS test of $MOUNT is ok"
|
||||
previous=0
|
||||
fi
|
||||
else
|
||||
# Keep waiting until the job is done
|
||||
while ! [[ -z "$rc" || $rc =~ "Done" ]]
|
||||
do
|
||||
while ! [[ -z "$rc" || $rc =~ "Done" ]]; do
|
||||
logger -t NFSCHECK "NFS test of $MOUNT is failed"
|
||||
previous=1
|
||||
sleep $delay
|
||||
|
@ -25,20 +25,17 @@ DEBUGFS_PATH=/sys/kernel/debug
|
||||
DEBUGFS_I40_DEVICES_PATH=$DEBUGFS_PATH/i40e
|
||||
LLDP_COMMAND=lldp
|
||||
|
||||
function log()
|
||||
{
|
||||
function log {
|
||||
local MSG="${PROGNAME}: $1"
|
||||
logger -p notice "${MSG}"
|
||||
}
|
||||
|
||||
function err()
|
||||
{
|
||||
function err {
|
||||
local MSG="${PROGNAME}: $1"
|
||||
logger -p error "${MSG}"
|
||||
}
|
||||
|
||||
function configure_device()
|
||||
{
|
||||
function configure_device {
|
||||
local DEVICE=$1
|
||||
local ACTION=$2
|
||||
local DEVICE_PATH=${DEBUGFS_I40_DEVICES}/${DEVICE}
|
||||
@ -59,23 +56,22 @@ function configure_device()
|
||||
return ${RET}
|
||||
}
|
||||
|
||||
function is_debugfs_mounted() {
|
||||
function is_debugfs_mounted {
|
||||
if grep -qs "${DEBUGFS_PATH}" /proc/mounts; then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
function mount_debugfs() {
|
||||
function mount_debugfs {
|
||||
mount -t debugfs none ${DEBUGFS_PATH}
|
||||
}
|
||||
|
||||
function unmount_debugfs() {
|
||||
function unmount_debugfs {
|
||||
umount ${DEBUGFS_PATH}
|
||||
}
|
||||
|
||||
function scan_devices()
|
||||
{
|
||||
function scan_devices {
|
||||
local ACTION=$1
|
||||
local DEBUGFS_MOUNTED="false"
|
||||
local DEVICES=${DEBUGFS_I40_DEVICES_PATH}/*
|
||||
@ -111,20 +107,17 @@ function scan_devices()
|
||||
return 0
|
||||
}
|
||||
|
||||
function start()
|
||||
{
|
||||
function start {
|
||||
scan_devices start
|
||||
return $?
|
||||
}
|
||||
|
||||
function stop()
|
||||
{
|
||||
function stop {
|
||||
scan_devices stop
|
||||
return $?
|
||||
}
|
||||
|
||||
function status()
|
||||
{
|
||||
function status {
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -15,8 +15,7 @@ DEBUG=${DEBUG:-0}
|
||||
# all files beginning in "mlx4_port" and ending in one or more digits.
|
||||
shopt -s extglob
|
||||
|
||||
function log()
|
||||
{
|
||||
function log {
|
||||
local MSG="${PROGNAME}: $1"
|
||||
if [ ${DEBUG} -ne 0 ]; then
|
||||
echo "${MSG}"
|
||||
@ -24,8 +23,7 @@ function log()
|
||||
echo "${MSG}" >> /var/log/mlx4-configure.log
|
||||
}
|
||||
|
||||
function configure_device()
|
||||
{
|
||||
function configure_device {
|
||||
local DEVICE=$1
|
||||
local DEVICE_PATH=${SYSFS_PCI_DEVICES}/${DEVICE}
|
||||
|
||||
@ -58,8 +56,7 @@ function configure_device()
|
||||
}
|
||||
|
||||
|
||||
function scan_devices()
|
||||
{
|
||||
function scan_devices {
|
||||
local DEVICES=$(ls -1 ${SYSFS_PCI_DEVICES})
|
||||
|
||||
for DEVICE in ${DEVICES}; do
|
||||
@ -83,19 +80,16 @@ function scan_devices()
|
||||
}
|
||||
|
||||
|
||||
function start()
|
||||
{
|
||||
function start {
|
||||
scan_devices
|
||||
return $?
|
||||
}
|
||||
|
||||
function stop()
|
||||
{
|
||||
function stop {
|
||||
return 0
|
||||
}
|
||||
|
||||
function status()
|
||||
{
|
||||
function status {
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -12,13 +12,11 @@ NAME=$(basename $0)
|
||||
OPTIONS_CHANGED_FLAG=/var/run/.mlx4_cx3_reboot_required
|
||||
COMPUTE_CONFIG_COMPLETE=/var/run/.compute_config_complete
|
||||
|
||||
function LOG()
|
||||
{
|
||||
function LOG {
|
||||
logger "$NAME: $*"
|
||||
}
|
||||
|
||||
if [ -f $OPTIONS_CHANGED_FLAG ] && [ -f $COMPUTE_CONFIG_COMPLETE ]
|
||||
then
|
||||
if [ -f $OPTIONS_CHANGED_FLAG ] && [ -f $COMPUTE_CONFIG_COMPLETE ]; then
|
||||
LOG "mlx4_core options has been changed. Failing goenabled check."
|
||||
exit 1
|
||||
fi
|
||||
|
@ -14,8 +14,7 @@ SERVICE="ceph"
|
||||
LOGFILE="${extradir}/ceph.info"
|
||||
echo "${hostname}: Ceph Info .........: ${LOGFILE}"
|
||||
|
||||
function is_service_active()
|
||||
{
|
||||
function is_service_active {
|
||||
active=`sm-query service management-ip | grep "enabled-active"`
|
||||
if [ -z "$active" ] ; then
|
||||
return 0
|
||||
@ -24,8 +23,7 @@ function is_service_active()
|
||||
fi
|
||||
}
|
||||
|
||||
function exit_if_timeout()
|
||||
{
|
||||
function exit_if_timeout {
|
||||
if [ "$?" = "124" ] ; then
|
||||
echo "Exiting due to ceph command timeout" >> ${LOGFILE}
|
||||
exit 0
|
||||
|
@ -10,8 +10,7 @@
|
||||
source /usr/local/sbin/collect_parms
|
||||
source /usr/local/sbin/collect_utils
|
||||
|
||||
function is_extended_profile()
|
||||
{
|
||||
function is_extended_profile {
|
||||
if [ ! -n "${security_profile}" ] || [ "${security_profile}" != "extended" ]; then
|
||||
return 0
|
||||
else
|
||||
|
@ -12,8 +12,7 @@ source /usr/local/sbin/collect_utils
|
||||
LOGFILE="${extradir}/nfv-vim.info"
|
||||
echo "${hostname}: NFV-Vim Info ......: ${LOGFILE}"
|
||||
|
||||
function is_service_active()
|
||||
{
|
||||
function is_service_active {
|
||||
active=`sm-query service vim | grep "enabled-active"`
|
||||
if [ -z "$active" ] ; then
|
||||
return 0
|
||||
|
@ -10,8 +10,7 @@
|
||||
source /usr/local/sbin/collect_parms
|
||||
source /usr/local/sbin/collect_utils
|
||||
|
||||
function is_service_active()
|
||||
{
|
||||
function is_service_active {
|
||||
active=`sm-query service rabbit-fs | grep "enabled-active"`
|
||||
if [ -z "$active" ] ; then
|
||||
return 0
|
||||
|
@ -19,8 +19,7 @@ DB_DIR="${extradir}/database"
|
||||
LOGFILE="${extradir}/database.info"
|
||||
echo "${hostname}: Database Info .....: ${LOGFILE}"
|
||||
|
||||
function is_service_active()
|
||||
{
|
||||
function is_service_active {
|
||||
active=`sm-query service postgres | grep "enabled-active"`
|
||||
if [ -z "$active" ] ; then
|
||||
return 0
|
||||
@ -34,11 +33,9 @@ function is_service_active()
|
||||
###############################################################################
|
||||
mkdir -p ${DB_DIR}
|
||||
|
||||
function log_database()
|
||||
{
|
||||
function log_database {
|
||||
db_list=( $(${PSQL_CMD} -t -c "SELECT datname FROM pg_database WHERE datistemplate = false;") )
|
||||
for db in "${db_list[@]}"
|
||||
do
|
||||
for db in "${db_list[@]}"; do
|
||||
echo "postgres database: ${db}"
|
||||
${PSQL_CMD} -d ${db} -c "
|
||||
SELECT
|
||||
@ -75,12 +72,10 @@ function log_database()
|
||||
|
||||
|
||||
DB_EXT=db.sql.txt
|
||||
function database_dump()
|
||||
{
|
||||
function database_dump {
|
||||
mkdir -p ${DB_DIR}
|
||||
db_list=( $(${PSQL_CMD} -t -c "SELECT datname FROM pg_database WHERE datistemplate = false;") )
|
||||
for DB in "${db_list[@]}"
|
||||
do
|
||||
for DB in "${db_list[@]}"; do
|
||||
if [ "$DB" != "keystone" -a "$DB" != "ceilometer" ] ; then
|
||||
echo "${hostname}: Dumping Database ..: ${DB_DIR}/$DB.$DB_EXT"
|
||||
(cd ${DB_DIR} ; sudo -u postgres pg_dump $DB > $DB.$DB_EXT)
|
||||
|
@ -14,8 +14,7 @@ SERVICE="inventory"
|
||||
LOGFILE="${extradir}/${SERVICE}.info"
|
||||
RPMLOG="${extradir}/rpm.info"
|
||||
|
||||
function is_service_active()
|
||||
{
|
||||
function is_service_active {
|
||||
active=`sm-query service management-ip | grep "enabled-active"`
|
||||
if [ -z "$active" ] ; then
|
||||
return 0
|
||||
|
@ -27,8 +27,8 @@ fi
|
||||
delimiter ${LOGFILE} "ip link"
|
||||
ip link >> ${LOGFILE}
|
||||
|
||||
for i in $(ip link | grep mtu | grep eth |awk '{print $2}' | sed 's#:##g');
|
||||
do
|
||||
for i in $(ip link | grep mtu | grep eth |awk '{print $2}' | sed 's#:##g'); do
|
||||
|
||||
delimiter ${LOGFILE} "ethtool ${i}"
|
||||
ethtool ${i} >> ${LOGFILE} 2>>${COLLECT_ERROR_LOG}
|
||||
|
||||
@ -55,8 +55,8 @@ fi
|
||||
delimiter ${LOGFILE} "tc qdisc show"
|
||||
tc qdisc show >> ${LOGFILE}
|
||||
|
||||
for i in $(ip link | grep htb | awk '{print $2}' | sed 's#:##g');
|
||||
do
|
||||
for i in $(ip link | grep htb | awk '{print $2}' | sed 's#:##g'); do
|
||||
|
||||
delimiter ${LOGFILE} "tc class show dev ${i}"
|
||||
tc class show dev ${i} >> ${LOGFILE} 2>>${COLLECT_ERROR_LOG}
|
||||
|
||||
@ -70,8 +70,8 @@ done
|
||||
delimiter ${LOGFILE} "tc -s qdisc show"
|
||||
tc -s qdisc show >> ${LOGFILE} 2>>${COLLECT_ERROR_LOG}
|
||||
|
||||
for i in $(ip link | grep htb | awk '{print $2}' | sed 's#:##g');
|
||||
do
|
||||
for i in $(ip link | grep htb | awk '{print $2}' | sed 's#:##g'); do
|
||||
|
||||
delimiter ${LOGFILE} "tc -s class show dev ${i}"
|
||||
tc -s class show dev ${i} >> ${LOGFILE} 2>>${COLLECT_ERROR_LOG}
|
||||
|
||||
|
@ -14,8 +14,7 @@ fi
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
# Print key ceph statistics
|
||||
function print_ceph()
|
||||
{
|
||||
function print_ceph {
|
||||
print_separator
|
||||
TOOL_HIRES_TIME
|
||||
|
||||
@ -47,8 +46,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_ceph
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -32,14 +32,12 @@ LOG "Cleanup engtools:"
|
||||
# ( be sure not to clobber /etc/init.d/collect-engtools.sh )
|
||||
LOG "kill processes brute force"
|
||||
pids=( $(pidof -x /usr/local/bin/collect-engtools.sh) )
|
||||
if [ ${#pids[@]} -ne 0 ]
|
||||
then
|
||||
if [ ${#pids[@]} -ne 0 ]; then
|
||||
LOG "killing: ${pids[@]}"
|
||||
for pid in ${pids[@]}
|
||||
do
|
||||
LOG "kill: [ ${pid} ] "
|
||||
pkill -KILL -P ${pid}
|
||||
kill -9 ${pid}
|
||||
for pid in ${pids[@]}; do
|
||||
LOG "kill: [ ${pid} ] "
|
||||
pkill -KILL -P ${pid}
|
||||
kill -9 ${pid}
|
||||
done
|
||||
pkill -KILL iostat
|
||||
pkill -KILL top
|
||||
@ -48,8 +46,7 @@ else
|
||||
fi
|
||||
|
||||
LOG "remove pidfiles"
|
||||
for TOOL in "${TOOLS[@]}"
|
||||
do
|
||||
for TOOL in "${TOOLS[@]}"; do
|
||||
rm -f -v /var/run/${TOOL}.pid
|
||||
done
|
||||
LOG "done"
|
||||
|
@ -48,11 +48,9 @@ declare tgt_avail_bytes
|
||||
declare tgt_used_bytes
|
||||
|
||||
# do_parallel_commands - launch parallel tools with separate output files
|
||||
function do_parallel_commands()
|
||||
{
|
||||
function do_parallel_commands {
|
||||
parallel_outfiles=()
|
||||
for elem in "${tlist[@]}"
|
||||
do
|
||||
for elem in "${tlist[@]}"; do
|
||||
tool=""; period=""; repeat=""; interval=""
|
||||
my_hash="elem[*]"
|
||||
local ${!my_hash}
|
||||
@ -75,8 +73,7 @@ function do_parallel_commands()
|
||||
# get_current_avail_usage() - get output destination file-system usage and
|
||||
# availability.
|
||||
# - updates: df_size_bytes, df_avail_bytes, du_used_bytes
|
||||
function get_current_avail_usage()
|
||||
{
|
||||
function get_current_avail_usage {
|
||||
local -a df_arr_bytes=( $(df -P --block-size=1 ${TOOL_DEST_DIR} | awk 'NR==2 {print $2, $4}') )
|
||||
df_size_bytes=${df_arr_bytes[0]}
|
||||
df_avail_bytes=${df_arr_bytes[1]}
|
||||
@ -85,8 +82,7 @@ function get_current_avail_usage()
|
||||
|
||||
# purge_oldest_files() - remove oldest files based on file-system available space,
|
||||
# and maximum collection size
|
||||
function purge_oldest_files()
|
||||
{
|
||||
function purge_oldest_files {
|
||||
# get current file-system usage
|
||||
get_current_avail_usage
|
||||
msg=$(printf "avail %d MB, headroom %d MB; used %d MB, max %d MB" \
|
||||
@ -116,8 +112,7 @@ function purge_oldest_files()
|
||||
|
||||
# remove files in oldest time sorted order until we meet usage targets,
|
||||
# incrementally updating usage as we remve files
|
||||
for file in $( ls -rt ${TOOL_DEST_DIR}/${HOSTNAME}_* 2>/dev/null )
|
||||
do
|
||||
for file in $( ls -rt ${TOOL_DEST_DIR}/${HOSTNAME}_* 2>/dev/null ); do
|
||||
if [[ $df_avail_bytes -ge $tgt_avail_bytes ]] && \
|
||||
[[ $du_used_bytes -le $tgt_used_bytes ]]; then
|
||||
break
|
||||
@ -307,9 +302,7 @@ REP=0
|
||||
|
||||
if [ ${#tlist[@]} -ne 0 ]; then
|
||||
# Static stats collection is turned on
|
||||
while [[ ${TOOL_USR1_SIGNAL} -eq 0 ]] &&
|
||||
[[ ${OPT_FOREVER} -eq 1 || ${REP} -lt ${REPEATS} ]]
|
||||
do
|
||||
while [[ ${TOOL_USR1_SIGNAL} -eq 0 ]] && [[ ${OPT_FOREVER} -eq 1 || ${REP} -lt ${REPEATS} ]]; do
|
||||
# increment loop counter
|
||||
((REP++))
|
||||
|
||||
|
@ -14,8 +14,7 @@ fi
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
# Print disk summary
|
||||
function print_disk()
|
||||
{
|
||||
function print_disk {
|
||||
print_separator
|
||||
TOOL_HIRES_TIME
|
||||
|
||||
@ -57,8 +56,7 @@ function print_disk()
|
||||
}
|
||||
|
||||
# Print disk static summary
|
||||
function print_disk_static()
|
||||
{
|
||||
function print_disk_static {
|
||||
print_separator
|
||||
cmd='cat /proc/scsi/scsi'
|
||||
${ECHO} "Attached devices: ${cmd}"
|
||||
@ -109,8 +107,7 @@ print_disk_static
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_disk
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -24,8 +24,7 @@ else
|
||||
. /etc/init.d/functions
|
||||
fi
|
||||
# Lightweight replacement for pidofproc -p <pid>
|
||||
function check_pidfile ()
|
||||
{
|
||||
function check_pidfile {
|
||||
local pidfile pid
|
||||
|
||||
OPTIND=1
|
||||
@ -53,8 +52,7 @@ function check_pidfile ()
|
||||
}
|
||||
|
||||
# tools_init - initialize tool resources
|
||||
function tools_init ()
|
||||
{
|
||||
function tools_init {
|
||||
local rc=0
|
||||
local error=0
|
||||
TOOLNAME=$(basename $0)
|
||||
@ -199,7 +197,7 @@ function tools_init ()
|
||||
}
|
||||
|
||||
# tools_cleanup() - terminate child processes
|
||||
function tools_cleanup() {
|
||||
function tools_cleanup {
|
||||
# restore signal handling to default behaviour
|
||||
trap - INT HUP TERM EXIT
|
||||
trap - USR1 USR2
|
||||
@ -230,43 +228,47 @@ function tools_cleanup() {
|
||||
}
|
||||
|
||||
# tools_exit_handler() - exit handler routine
|
||||
function tools_exit_handler() {
|
||||
function tools_exit_handler {
|
||||
TOOL_EXIT_SIGNAL=1
|
||||
tools_cleanup 128
|
||||
}
|
||||
# tools_usr1_handler() - USR1 handler routine
|
||||
function tools_usr1_handler() {
|
||||
function tools_usr1_handler {
|
||||
TOOL_USR1_SIGNAL=1
|
||||
LOG "caught USR1"
|
||||
}
|
||||
# tools_usr2_handler() - USR2 handler routine
|
||||
function tools_usr2_handler() {
|
||||
function tools_usr2_handler {
|
||||
TOOL_USR2_SIGNAL=1
|
||||
LOG "caught USR1"
|
||||
}
|
||||
|
||||
# LOG(), WARNLOG(), ERRLOG() - simple print log functions (not logger)
|
||||
function LOG ()
|
||||
{
|
||||
function LOG {
|
||||
local tstamp_H=$( date +"%Y-%0m-%0e %H:%M:%S" )
|
||||
echo "${tstamp_H} ${HOSTNAME} $0($$): $@";
|
||||
}
|
||||
function LOG_NOCR ()
|
||||
{
|
||||
|
||||
function LOG_NOCR {
|
||||
local tstamp_H=$( date +"%Y-%0m-%0e %H:%M:%S" )
|
||||
echo -n "${tstamp_H} ${HOSTNAME} $0($$): $@";
|
||||
}
|
||||
function WARNLOG () { LOG "WARN $@"; }
|
||||
function ERRLOG () { LOG "ERROR $@"; }
|
||||
|
||||
function WARNLOG {
|
||||
LOG "WARN $@";
|
||||
}
|
||||
|
||||
function ERRLOG {
|
||||
LOG "ERROR $@";
|
||||
}
|
||||
|
||||
# TOOL_HIRES_TIME() - easily parsed date/timestamp and hi-resolution uptime
|
||||
function TOOL_HIRES_TIME()
|
||||
{
|
||||
function TOOL_HIRES_TIME {
|
||||
echo "time: " $( ${DATE} +"%a %F %H:%M:%S.%N %Z %z" ) "uptime: " $( cat /proc/uptime )
|
||||
}
|
||||
|
||||
# set_affinity() - set affinity for current script if a a CPULIST is defined
|
||||
function set_affinity() {
|
||||
function set_affinity {
|
||||
local CPULIST=$1
|
||||
if [ -z "${CPULIST}" ]; then
|
||||
return
|
||||
@ -280,7 +282,7 @@ function set_affinity() {
|
||||
}
|
||||
|
||||
# cmd_idle_priority() - command to set nice + ionice
|
||||
function cmd_idle_priority() {
|
||||
function cmd_idle_priority {
|
||||
local NICE=""
|
||||
local IONICE=""
|
||||
|
||||
@ -301,13 +303,13 @@ function cmd_idle_priority() {
|
||||
|
||||
|
||||
# print_separator() - print a horizontal separation line '\u002d' is '-'
|
||||
function print_separator () {
|
||||
function print_separator {
|
||||
printf '\u002d%.s' {1..80}
|
||||
printf '\n'
|
||||
}
|
||||
|
||||
# tools_header() - print out common GenWare tools header
|
||||
function tools_header() {
|
||||
function tools_header {
|
||||
local TOOLNAME=$(basename $0)
|
||||
|
||||
# Get timestamp
|
||||
@ -393,7 +395,7 @@ function tools_header() {
|
||||
|
||||
|
||||
# tools_usage() - show generic tools tool usage
|
||||
function tools_usage() {
|
||||
function tools_usage {
|
||||
if [ ${OPT_USE_INTERVALS} -eq 1 ]; then
|
||||
echo "usage: ${TOOLNAME} [-f] [-p <period_mins>] [-i <interval_seconds>] [-c <cpulist>] [-h]"
|
||||
else
|
||||
@ -402,7 +404,7 @@ function tools_usage() {
|
||||
}
|
||||
|
||||
# tools_print_help() - print generic tool help
|
||||
function tools_print_help() {
|
||||
function tools_print_help {
|
||||
tools_usage
|
||||
echo
|
||||
echo "Options:";
|
||||
@ -423,7 +425,7 @@ function tools_print_help() {
|
||||
}
|
||||
|
||||
# tools_parse_options() -- parse common options for tools scripts
|
||||
function tools_parse_options() {
|
||||
function tools_parse_options {
|
||||
# check for no arguments, print usage
|
||||
if [ $# -eq "0" ]; then
|
||||
tools_usage
|
||||
@ -432,8 +434,7 @@ function tools_parse_options() {
|
||||
fi
|
||||
|
||||
# parse the input arguments
|
||||
while getopts "fp:i:c:h" Option
|
||||
do
|
||||
while getopts "fp:i:c:h" Option; do
|
||||
case $Option in
|
||||
f)
|
||||
OPT_FOREVER=1
|
||||
|
@ -16,8 +16,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE)
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
|
||||
function print_files()
|
||||
{
|
||||
function print_files {
|
||||
print_separator
|
||||
TOOL_HIRES_TIME
|
||||
|
||||
@ -85,8 +84,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_files
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -69,8 +69,7 @@ case $1 in
|
||||
stop)
|
||||
if [ -e ${PIDFILE} ]; then
|
||||
pids=$(pidof -x ${NAME})
|
||||
if [[ ! -z "${pids}" ]]
|
||||
then
|
||||
if [[ ! -z "${pids}" ]]; then
|
||||
echo_success "Stopping ${NAME} [$pid]"
|
||||
start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE} --retry=TERM/3/KILL/5
|
||||
# [ JGAULD: none of the following should be necessary ]
|
||||
|
@ -29,8 +29,7 @@ compute_ports=(8000 8001 8002)
|
||||
traffic_types=(storage migration default drbd)
|
||||
flow_ids=(1:20 1:30 1:40 1:50)
|
||||
|
||||
function exec_cmd ()
|
||||
{
|
||||
function exec_cmd {
|
||||
node="$1"
|
||||
cmd="$2"
|
||||
|
||||
@ -41,8 +40,7 @@ function exec_cmd ()
|
||||
fi
|
||||
}
|
||||
|
||||
function iperf3_server_start ()
|
||||
{
|
||||
function iperf3_server_start {
|
||||
local server="$1"
|
||||
local result="$2"
|
||||
local port="$3"
|
||||
@ -55,8 +53,7 @@ function iperf3_server_start ()
|
||||
$(exec_cmd "${server}" "${cmd}")
|
||||
}
|
||||
|
||||
function iperf3_client_tcp_start ()
|
||||
{
|
||||
function iperf3_client_tcp_start {
|
||||
local result="${result_dir}/throughput"
|
||||
local cmd=""
|
||||
local client="$1"
|
||||
@ -76,8 +73,7 @@ function iperf3_client_tcp_start ()
|
||||
$(exec_cmd "${client}" "${cmd} > ${result} 2>&1")
|
||||
}
|
||||
|
||||
function iperf3_client_udp_start ()
|
||||
{
|
||||
function iperf3_client_udp_start {
|
||||
local result="${result_dir}/throughput_udp"
|
||||
local cmd=""
|
||||
local client="$1"
|
||||
@ -102,20 +98,17 @@ function iperf3_client_udp_start ()
|
||||
$(exec_cmd "${client}" "${cmd} -b ${bw} >> ${result} 2>&1" )
|
||||
}
|
||||
|
||||
function iperf3_stop ()
|
||||
{
|
||||
function iperf3_stop {
|
||||
local node="$1"
|
||||
local cmd="pkill iperf3"
|
||||
$(exec_cmd "${node}" "${cmd}")
|
||||
}
|
||||
|
||||
function get_ip_addr ()
|
||||
{
|
||||
function get_ip_addr {
|
||||
arp -a | grep -oP "(?<=$1 \()[^)]*" | head -n 1
|
||||
}
|
||||
|
||||
function throughput_tcp_test()
|
||||
{
|
||||
function throughput_tcp_test {
|
||||
for (( i = 0; i < ${#nodes[@]} ; i+=2 )); do
|
||||
for interface in "${interfaces[@]}"; do
|
||||
local interface_name="management"
|
||||
@ -137,8 +130,7 @@ function throughput_tcp_test()
|
||||
done
|
||||
}
|
||||
|
||||
function throughput_udp_test ()
|
||||
{
|
||||
function throughput_udp_test {
|
||||
for (( i = 0; i < ${#nodes[@]} ; i+=2 )); do
|
||||
for interface in "${interfaces[@]}"; do
|
||||
local interface_name="management"
|
||||
@ -229,8 +221,7 @@ function throughput_udp_test ()
|
||||
done
|
||||
}
|
||||
|
||||
function throughput_parallel_test ()
|
||||
{
|
||||
function throughput_parallel_test {
|
||||
local dev=""
|
||||
local ip_addr=""
|
||||
local interface_name=""
|
||||
@ -304,8 +295,7 @@ function throughput_parallel_test ()
|
||||
done
|
||||
}
|
||||
|
||||
function latency_test ()
|
||||
{
|
||||
function latency_test {
|
||||
for (( i = 0; i < ${#nodes[@]} ; i+=2 )); do
|
||||
for interface in "${interfaces[@]}"; do
|
||||
local interface_name="management"
|
||||
@ -328,16 +318,14 @@ function latency_test ()
|
||||
done
|
||||
}
|
||||
|
||||
function setup ()
|
||||
{
|
||||
function setup {
|
||||
for node in ${nodes[@]}; do
|
||||
iperf3_stop "${node}"
|
||||
$(exec_cmd "${node}" "rm -rf ${result_dir}; mkdir -p ${result_dir}")
|
||||
done
|
||||
}
|
||||
|
||||
function get_remote_results ()
|
||||
{
|
||||
function get_remote_results {
|
||||
for node in ${nodes[@]}; do
|
||||
if [ "${node}" != "${host}" ]; then
|
||||
mkdir ${result_dir}/${node}
|
||||
@ -346,8 +334,7 @@ function get_remote_results ()
|
||||
done
|
||||
}
|
||||
|
||||
function get_interface_info ()
|
||||
{
|
||||
function get_interface_info {
|
||||
local dev=""
|
||||
local ip_addr=""
|
||||
printf "Network interfaces info\n" >> ${summary_file}
|
||||
@ -365,8 +352,7 @@ function get_interface_info ()
|
||||
done
|
||||
}
|
||||
|
||||
function generate_summary ()
|
||||
{
|
||||
function generate_summary {
|
||||
local header=""
|
||||
local result=""
|
||||
local result_file=""
|
||||
|
@ -16,8 +16,7 @@ PAGE_SIZE=$(getconf PAGE_SIZE)
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
# Print key networking device statistics
|
||||
function print_memory()
|
||||
{
|
||||
function print_memory {
|
||||
# Configuration for netcmds
|
||||
MEMINFO=/proc/meminfo
|
||||
NODEINFO=/sys/devices/system/node/node?/meminfo
|
||||
@ -99,8 +98,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_memory
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -14,8 +14,7 @@ fi
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
# Print key networking device statistics
|
||||
function print_netcmds()
|
||||
{
|
||||
function print_netcmds {
|
||||
# Configuration for netcmds
|
||||
DEV=/proc/net/dev
|
||||
NETSTAT=/proc/net/netstat
|
||||
@ -26,8 +25,7 @@ function print_netcmds()
|
||||
for net in \
|
||||
${DEV} ${NETSTAT}
|
||||
do
|
||||
if [ -e "${net}" ]
|
||||
then
|
||||
if [ -e "${net}" ]; then
|
||||
${ECHO} "# ${net}"
|
||||
${CAT} ${net}
|
||||
${ECHO}
|
||||
@ -53,8 +51,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_netcmds
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -14,8 +14,7 @@ fi
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
# Print key networking device statistics
|
||||
function print_postgres()
|
||||
{
|
||||
function print_postgres {
|
||||
print_separator
|
||||
TOOL_HIRES_TIME
|
||||
|
||||
@ -40,8 +39,7 @@ ORDER BY pg_database_size DESC;
|
||||
"
|
||||
|
||||
# For each database, list tables and their sizes (similar to "\dt+")
|
||||
for db in "${db_list[@]}"
|
||||
do
|
||||
for db in "${db_list[@]}"; do
|
||||
${ECHO} "# postgres database: ${db}"
|
||||
${PSQL} -d ${db} -c "
|
||||
SELECT
|
||||
@ -128,8 +126,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_postgres
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -15,8 +15,7 @@ OPT_USE_INTERVALS=1
|
||||
#Need this workaround
|
||||
MQOPT="-n rabbit@localhost"
|
||||
# Print key networking device statistics
|
||||
function print_rabbitmq()
|
||||
{
|
||||
function print_rabbitmq {
|
||||
print_separator
|
||||
TOOL_HIRES_TIME
|
||||
|
||||
@ -72,8 +71,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_rabbitmq
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -41,8 +41,7 @@ LOG "rsync engtools data from all blades:"
|
||||
# controllers
|
||||
SRC=/scratch/syseng_data/
|
||||
DEST=/opt/backups/syseng_data/
|
||||
for HOST in ${CONTROLLER[@]}
|
||||
do
|
||||
for HOST in ${CONTROLLER[@]}; do
|
||||
ping -c1 ${HOST} 1>/dev/null 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG "rsync ${RSYNC_OPT} ${USER}@${HOST}:${SRC} ${DEST}"
|
||||
@ -55,8 +54,7 @@ done
|
||||
# computes & storage
|
||||
SRC=/tmp/syseng_data/
|
||||
DEST=/opt/backups/syseng_data/
|
||||
for HOST in ${STORAGE[@]} ${COMPUTE[@]}
|
||||
do
|
||||
for HOST in ${STORAGE[@]} ${COMPUTE[@]}; do
|
||||
ping -c1 ${HOST} 1>/dev/null 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG "rsync ${RSYNC_OPT} ${USER}@${HOST}:${SRC} ${DEST}"
|
||||
|
@ -29,8 +29,7 @@ set_affinity ${CPULIST}
|
||||
|
||||
LOG_NOCR "collecting "
|
||||
t=0
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
((t++))
|
||||
sleep ${INTERVAL_SEC}
|
||||
if [ ${t} -ge ${REP_LOG} ]; then
|
||||
|
@ -14,8 +14,7 @@ fi
|
||||
OPT_USE_INTERVALS=1
|
||||
|
||||
# Print key networking device statistics
|
||||
function print_vswitch()
|
||||
{
|
||||
function print_vswitch {
|
||||
print_separator
|
||||
TOOL_HIRES_TIME
|
||||
|
||||
@ -55,8 +54,7 @@ tools_header
|
||||
# Calculate number of sample repeats based on overall interval and sampling interval
|
||||
((REPEATS = PERIOD_MIN * 60 / INTERVAL_SEC))
|
||||
|
||||
for ((rep=1; rep <= REPEATS ; rep++))
|
||||
do
|
||||
for ((rep=1; rep <= REPEATS ; rep++)); do
|
||||
print_vswitch
|
||||
sleep ${INTERVAL_SEC}
|
||||
done
|
||||
|
@ -22,8 +22,7 @@ YEAR=`date +'%Y'`
|
||||
files="${FILE_LIST// /, }"
|
||||
read -p "Are you sure you want to remove all uncompressed $files files? [Y/N]: " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Y]$ ]]
|
||||
then
|
||||
if [[ $REPLY =~ ^[Y]$ ]]; then
|
||||
for FILE in ${FILE_LIST}; do
|
||||
rm -v */*_${YEAR}-*${FILE}
|
||||
done
|
||||
|
@ -41,8 +41,7 @@ NODE=$1
|
||||
CURDATE=$(date)
|
||||
DATESTAMP=$(date +%b-%d)
|
||||
|
||||
function sedit()
|
||||
{
|
||||
function sedit {
|
||||
local FILETOSED=$1
|
||||
sed -i -e "s/ */ /g" ${FILETOSED}
|
||||
sed -i -e "s/ /,/g" ${FILETOSED}
|
||||
@ -50,8 +49,7 @@ function sedit()
|
||||
sed -i "s/,$//" ${FILETOSED}
|
||||
}
|
||||
|
||||
function get_filename_from_mountname()
|
||||
{
|
||||
function get_filename_from_mountname {
|
||||
local name=$1
|
||||
local fname
|
||||
if test "${name#*"scratch"}" != "${name}"; then
|
||||
@ -82,8 +80,7 @@ function get_filename_from_mountname()
|
||||
echo $fname
|
||||
}
|
||||
|
||||
function parse_process_schedtop_data()
|
||||
{
|
||||
function parse_process_schedtop_data {
|
||||
# Logic has been moved to a separate script so that parsing process level schedtop
|
||||
# can be run either as part of parse-all.sh script or independently.
|
||||
LOG "Process level schedtop parsing is turned on in lab.conf. Parsing schedtop detail..."
|
||||
@ -92,8 +89,7 @@ function parse_process_schedtop_data()
|
||||
cd ${NODE}
|
||||
}
|
||||
|
||||
function parse_controller_specific()
|
||||
{
|
||||
function parse_controller_specific {
|
||||
# Parsing Postgres data, removing data from previous run if there are any. Generate summary
|
||||
# data for each database and detail data for specified tables
|
||||
LOG "Parsing postgres data for ${NODE}"
|
||||
@ -123,14 +119,12 @@ function parse_controller_specific()
|
||||
done
|
||||
}
|
||||
|
||||
function parse_compute_specific()
|
||||
{
|
||||
function parse_compute_specific {
|
||||
LOG "Parsing vswitch data for ${NODE}"
|
||||
../parse-vswitch.sh ${NODE}
|
||||
}
|
||||
|
||||
function parse_occtop_data()
|
||||
{
|
||||
function parse_occtop_data {
|
||||
LOG "Parsing occtop data for ${NODE}"
|
||||
bzcat *occtop.bz2 >occtop-${NODE}-${DATESTAMP}.txt
|
||||
cp occtop-${NODE}-${DATESTAMP}.txt tmp.txt
|
||||
@ -181,8 +175,7 @@ function parse_occtop_data()
|
||||
rm tmp.txt tmp2.txt tmpdate.txt tmpcore.txt
|
||||
}
|
||||
|
||||
function parse_memtop_data()
|
||||
{
|
||||
function parse_memtop_data {
|
||||
LOG "Parsing memtop data for ${NODE}"
|
||||
bzcat *memtop.bz2 > memtop-${NODE}-${DATESTAMP}.txt
|
||||
cp memtop-${NODE}-${DATESTAMP}.txt tmp.txt
|
||||
@ -200,8 +193,7 @@ function parse_memtop_data()
|
||||
rm tmp.txt tmp2.txt
|
||||
}
|
||||
|
||||
function parse_netstats_data()
|
||||
{
|
||||
function parse_netstats_data {
|
||||
LOG "Parsing netstats data for ${NODE}"
|
||||
# First generate the summary data then detail data for specified interfaces
|
||||
../parse_netstats *netstats.bz2 > netstats-summary-${NODE}-${DATESTAMP}.txt
|
||||
@ -225,8 +217,7 @@ function parse_netstats_data()
|
||||
fi
|
||||
}
|
||||
|
||||
function parse_iostats_data()
|
||||
{
|
||||
function parse_iostats_data {
|
||||
LOG "Parsing iostat data for ${NODE}"
|
||||
if [ -z "${IOSTATS_DEVICE_LIST}" ]; then
|
||||
ERRLOG "IOSTAT_DEVICE_LIST is not set in host.conf. Skipping iostats..."
|
||||
@ -236,8 +227,7 @@ function parse_iostats_data()
|
||||
echo "Date/Time,${DEVICE},rqm/s,wrqm/s,r/s,w/s,rkB/s,wkB/s,avgrq-sz,avgqu-sz,await,r_await,w_await,svctm,%util" > iostat-${NODE}-${DEVICE}.csv
|
||||
# Dumping iostat content to tmp file
|
||||
bzcat *iostat.bz2 | grep -E "/2015|/2016|/2017|${DEVICE}" | awk '{print $1","$2","$3","$4","$5","$6","$7","$8","$9","$10","$11","$12","$13","$14}' > tmp.txt
|
||||
while IFS= read -r current
|
||||
do
|
||||
while IFS= read -r current; do
|
||||
if test "${current#*Linux}" != "$current"
|
||||
then
|
||||
# Skip the line that contains the word "Linux"
|
||||
@ -277,8 +267,7 @@ function parse_iostats_data()
|
||||
fi
|
||||
}
|
||||
|
||||
function parse_diskstats_data()
|
||||
{
|
||||
function parse_diskstats_data {
|
||||
LOG "Parsing diskstats data for ${NODE}"
|
||||
|
||||
if [ -z "${DISKSTATS_FILESYSTEM_LIST}" ]; then
|
||||
@ -362,8 +351,7 @@ if test "${NODE#*"controller"}" != "${NODE}"; then
|
||||
# is to use inotify which requires another inotify-tools package.
|
||||
oldsize=0
|
||||
newsize=0
|
||||
while true
|
||||
do
|
||||
while true; do
|
||||
newsize=$(stat -c %s postgres-conns.csv)
|
||||
if [ "$oldsize" == "$newsize" ]; then
|
||||
break
|
||||
|
@ -19,16 +19,14 @@
|
||||
# e.g. >./parse-daily.sh memstats sm-eru
|
||||
# >./parse-daily.sh controller-0 filestats postgress
|
||||
|
||||
function print_usage()
|
||||
{
|
||||
function print_usage {
|
||||
echo "Usage: ./parse-daily.sh <parser-name> <process-name> will parse daily data for all hosts."
|
||||
echo "Usage: ./parse-daily.sh <host-name> <parser-name> <process-name> will parse daily data for specified host."
|
||||
echo "Valid parsers for daily stats are: memstats & filestats."
|
||||
exit 1
|
||||
}
|
||||
|
||||
function parse_daily_stats()
|
||||
{
|
||||
function parse_daily_stats {
|
||||
local PARSER_NAME=$1
|
||||
local PROCESS_NAME=$2
|
||||
local TMPFILE="tmp.txt"
|
||||
|
@ -25,8 +25,7 @@ else
|
||||
fi
|
||||
LOG "Parsing postgres files ${FILES}"
|
||||
|
||||
function generate_header()
|
||||
{
|
||||
function generate_header {
|
||||
local header="Date/Time,Total"
|
||||
for DB in ${DATABASE_LIST}; do
|
||||
if [ ${DB} == "nova_api" ]; then
|
||||
@ -59,8 +58,7 @@ function generate_header()
|
||||
echo $header
|
||||
}
|
||||
|
||||
function generate_grep_str()
|
||||
{
|
||||
function generate_grep_str {
|
||||
local grepstr="time:"
|
||||
for DB in ${DATABASE_LIST}; do
|
||||
grepstr="${grepstr}|${DB}"
|
||||
@ -69,8 +67,7 @@ function generate_grep_str()
|
||||
echo $grepstr
|
||||
}
|
||||
|
||||
function init_variables()
|
||||
{
|
||||
function init_variables {
|
||||
CONN_TOTAL="0"
|
||||
CONN_ACTIVE_TOTAL="0"
|
||||
CONN_IDLE_TOTAL="0"
|
||||
@ -85,8 +82,7 @@ function init_variables()
|
||||
done
|
||||
}
|
||||
|
||||
function output_values()
|
||||
{
|
||||
function output_values {
|
||||
local result="${DATEVAL} ${TIMEVAL},${CONN_TOTAL}"
|
||||
for DB in ${DATABASE_LIST}; do
|
||||
val=$(eval echo \${CONN_${DB^^}})
|
||||
|
@ -17,16 +17,14 @@
|
||||
PARSERDIR=$(dirname $0)
|
||||
. ${PARSERDIR}/parse-util.sh
|
||||
|
||||
function print_usage()
|
||||
{
|
||||
function print_usage {
|
||||
echo "Usage: ./parse-schedtop.sh <host-name>"
|
||||
echo " ./parse-schedtop.sh <host-name> <service-name>"
|
||||
echo "e.g. >./parse-schedtop.sh controller-0 nova-conductor"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function sedit()
|
||||
{
|
||||
function sedit {
|
||||
local FILETOSED=$1
|
||||
sed -i -e "s/ */ /g" ${FILETOSED}
|
||||
sed -i -e "s/ /,/2g" ${FILETOSED}
|
||||
@ -34,8 +32,7 @@ function sedit()
|
||||
sed -i "s/,$//" ${FILETOSED}
|
||||
}
|
||||
|
||||
function parse_schedtop_data()
|
||||
{
|
||||
function parse_schedtop_data {
|
||||
HOST=$1
|
||||
SERVICE=$2
|
||||
LOG "Parsing ${SERVICE} schedtop for host ${HOST}"
|
||||
|
@ -8,19 +8,16 @@
|
||||
#LOGFILE="${PARSERDIR}/parserlog.txt"
|
||||
LOGFILE="parserlog.txt"
|
||||
|
||||
function LOG ()
|
||||
{
|
||||
function LOG {
|
||||
local tstamp_H=$( date +"%Y-%0m-%0e %H:%M:%S" )
|
||||
echo -e "${tstamp_H} $0($$): $@" >> ${LOGFILE}
|
||||
}
|
||||
|
||||
function ERRLOG ()
|
||||
{
|
||||
function ERRLOG {
|
||||
LOG "ERROR: $@"
|
||||
}
|
||||
|
||||
function WARNLOG ()
|
||||
{
|
||||
function WARNLOG {
|
||||
LOG "WARN: $@"
|
||||
}
|
||||
|
||||
|
12
tox.ini
12
tox.ini
@ -14,6 +14,12 @@ deps = -r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:linters]
|
||||
whitelist_externals = bash
|
||||
#bashate ignore
|
||||
#E006 Line too long
|
||||
#E041 Arithmetic expansion using $[ is deprecated for $((
|
||||
#E042 local declaration hides errors
|
||||
#E043 Arithmetic compound has inconsistent return semantics
|
||||
#E044 Use [[ for non-POSIX comparisions
|
||||
commands =
|
||||
bash -c "find {toxinidir} \
|
||||
-not \( -type d -name .?\* -prune \) \
|
||||
@ -21,10 +27,10 @@ commands =
|
||||
-not -name \*~ \
|
||||
-not -name \*.md \
|
||||
-name \*.sh \
|
||||
-print0 | xargs -0 bashate -v"
|
||||
-print0 | xargs -0 bashate -v \
|
||||
-i E006,E041,E042,E043,E044 -e E*"
|
||||
bash -c "find {toxinidir} \
|
||||
\( -name middleware/io-monitor/recipes-common/io-monitor/io-monitor/io_monitor/test-tools/yaml/* -prune \) \
|
||||
-o \( -name .tox -prune \) \
|
||||
\( -path {toxinidir}/.tox \) -a -prune \
|
||||
-o -type f -name '*.yaml' \
|
||||
-print0 | xargs -0 yamllint"
|
||||
|
||||
|
@ -22,15 +22,13 @@ fi
|
||||
# network link to autonegotiate link speed. Re-run the script in
|
||||
# the background so the parent can return right away and init can
|
||||
# continue.
|
||||
if [ $# -eq 3 ]
|
||||
then
|
||||
if [ $# -eq 3 ]; then
|
||||
$0 $DEV $NETWORKTYPE $NETWORKSPEED dummy &
|
||||
disown
|
||||
exit 0
|
||||
fi
|
||||
|
||||
function test_valid_speed
|
||||
{
|
||||
function test_valid_speed {
|
||||
# After the link is enabled but before the autonegotiation is complete
|
||||
# the link speed may be read as either -1 or as 4294967295 (which is
|
||||
# uint(-1) in twos-complement) depending on the kernel. Neither one is valid.
|
||||
@ -42,24 +40,20 @@ function test_valid_speed
|
||||
fi
|
||||
}
|
||||
|
||||
function log
|
||||
{
|
||||
function log {
|
||||
# It seems that syslog isn't yet running, so append directly to the syslog file
|
||||
echo `date +%FT%T.%3N` `hostname` CGCS_TC_SETUP: $@ >> /var/log/platform.log
|
||||
}
|
||||
|
||||
function infra_exists
|
||||
{
|
||||
if [ -z "$infrastructure_interface" ]
|
||||
then
|
||||
function infra_exists {
|
||||
if [ -z "$infrastructure_interface" ]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
function is_consolidated
|
||||
{
|
||||
function is_consolidated {
|
||||
if ! infra_exists
|
||||
then
|
||||
return 1
|
||||
@ -67,26 +61,22 @@ function is_consolidated
|
||||
# determine whether the management interface is a parent of the
|
||||
# infrastructure interface based on name.
|
||||
# eg. this matches enp0s8 to enp0s8.10 but not enp0s88
|
||||
if [[ $infrastructure_interface =~ $management_interface[\.][0-9]+$ ]]
|
||||
then
|
||||
if [[ $infrastructure_interface =~ $management_interface[\.][0-9]+$ ]]; then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function is_vlan
|
||||
{
|
||||
if [ -f /proc/net/vlan/$DEV ]
|
||||
then
|
||||
function is_vlan {
|
||||
if [ -f /proc/net/vlan/$DEV ]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function is_loopback
|
||||
{
|
||||
function is_loopback {
|
||||
# (from include/uapi/linux/if.h)
|
||||
IFF_LOOPBACK=$((1<<3))
|
||||
|
||||
@ -101,8 +91,7 @@ function is_loopback
|
||||
fi
|
||||
}
|
||||
|
||||
function setup_tc_port_filter
|
||||
{
|
||||
function setup_tc_port_filter {
|
||||
local PORT=$1
|
||||
local PORTMASK=$2
|
||||
local FLOWID=$3
|
||||
|
@ -9,8 +9,7 @@
|
||||
# $1 - listening port of remote log server
|
||||
PORT=$1
|
||||
|
||||
function is_loopback
|
||||
{
|
||||
function is_loopback {
|
||||
# (from include/uapi/linux/if.h)
|
||||
IFF_LOOPBACK=$((1<<3))
|
||||
|
||||
@ -25,14 +24,12 @@ function is_loopback
|
||||
fi
|
||||
}
|
||||
|
||||
function log
|
||||
{
|
||||
function log {
|
||||
# It seems that syslog isn't yet running, so append directly to the syslog file
|
||||
echo `date +%FT%T.%3N` `hostname` CGCS_TC_SETUP: $@ >> /var/log/platform.log
|
||||
}
|
||||
|
||||
function test_valid_speed
|
||||
{
|
||||
function test_valid_speed {
|
||||
# After the link is enabled but before the autonegotiation is complete
|
||||
# the link speed may be read as either -1 or as 4294967295 (which is
|
||||
# uint(-1) in twos-complement) depending on the kernel. Neither one is valid.
|
||||
@ -44,8 +41,7 @@ function test_valid_speed
|
||||
fi
|
||||
}
|
||||
|
||||
function get_dev_speed
|
||||
{
|
||||
function get_dev_speed {
|
||||
# If the link doesn't come up we won't go enabled, so here we can
|
||||
# afford to wait forever for the link.
|
||||
while true
|
||||
|
Loading…
Reference in New Issue
Block a user