Hello community,
here is the log from the commit of package sca-appliance-agent for
openSUSE:Factory checked in at 2018-01-19 11:52:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sca-appliance-agent (Old)
and /work/SRC/openSUSE:Factory/.sca-appliance-agent.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sca-appliance-agent"
Fri Jan 19 11:52:26 2018 rev:2 rq:563423 version:1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/sca-appliance-agent/sca-appliance-agent.changes
2018-01-09 14:51:28.508634915 +0100
+++
/work/SRC/openSUSE:Factory/.sca-appliance-agent.new/sca-appliance-agent.changes
2018-01-19 11:52:51.776628697 +0100
@@ -1,0 +2,5 @@
+Wed Jan 3 17:53:05 UTC 2018 - [email protected]
+
+- Removed /usr/bin/[ dependence
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sca-appliance-agent-1.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sca-appliance-agent-1.3/bin/sdagent
new/sca-appliance-agent-1.3/bin/sdagent
--- old/sca-appliance-agent-1.3/bin/sdagent 2015-07-17 00:26:16.588448576
+0200
+++ new/sca-appliance-agent-1.3/bin/sdagent 2018-01-03 18:34:14.919040585
+0100
@@ -1,14 +1,14 @@
#!/bin/bash
-SVER=1.0.7
+SVER='1.0.8'
##############################################################################
# sdagent - SCA Agent Manager
-# Copyright (c) 2014 SUSE LLC
+# Copyright (c) 2014-2018 SUSE LLC
#
# Description: Starts agent threads for new and retry archives
# Runs on: Agent Server
-# Modified: 2014 Jun 26
+# Modified: 2018 Jan 03
##############################################################################
#
# This program is free software; you can redistribute it and/or modify
@@ -24,7 +24,7 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# Authors/Contributors:
-# Jason Record ([email protected])
+# Jason Record ([email protected])
#
##############################################################################
@@ -52,7 +52,7 @@
}
showHelp() {
- [ -n "$1" ] && { echo "$1"; echo; }
+ [[ -n "$1" ]] && { echo "$1"; echo; }
echo "Usage: $CURRENT_SCRIPT [OPTIONS]"
echo "Description:"
echo " Assigns new supportconfig archives for analysis."
@@ -77,10 +77,10 @@
*) SYSTEM_LOGGER=1; CURRENT_LOGLEVEL=$LOGLEVEL_MIN ;;
esac
shift
- if [ $LOGLEVEL -ge $CURRENT_LOGLEVEL ]; then
- if [ $SYSTEM_LOGGER -gt 0 ]; then
- [ -n "$2" ] && logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: [$1] $2" || logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: $1"
- if [ $LOGLEVEL -gt $LOGLEVEL_SILENT ]; then
+ if [[ $LOGLEVEL -ge $CURRENT_LOGLEVEL ]]; then
+ if [[ $SYSTEM_LOGGER -gt 0 ]]; then
+ [[ -n "$2" ]] && logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: [$1] $2" || logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: $1"
+ if [[ $LOGLEVEL -gt $LOGLEVEL_SILENT ]]; then
printf "%-15s %s\n" "$1" "$2"
fi
else
@@ -111,7 +111,7 @@
# returns 0 NO_ACCESS, 1 INACTIVE, 2 ACTIVE
CHECK_AGENT_STATE=$(mysql -NB $DB_CONNECT -e "SELECT AgentState FROM
Agents WHERE AgentID=$AGENT_ID")
RCODE=$?
- if [ $RCODE -gt 0 ]; then
+ if [[ $RCODE -gt 0 ]]; then
msg normal DB "ERROR Cannot access administrative database
$DB_NAME on localhost"
RCODE=$AGENT_NOACCESS
else
@@ -131,14 +131,14 @@
mysql $DB_CONNECT -e "LOCK TABLES Archives WRITE" #Establish MUTEX
ARCHIDS=$(mysql -BN $DB_CONNECT -e "SELECT ArchiveID FROM Archives
WHERE ArchiveState='New' ORDER BY ArchiveEvent DESC LIMIT $LIMIT")
msg debug ARCHIDS "$ARCHIDS"
- if [ -n "$ARCHIDS" ]; then
+ if [[ -n "$ARCHIDS" ]]; then
mysql $DB_CONNECT -e "UPDATE Archives SET
ArchiveState='Assigned', ArchiveEvent=NOW(), AssignedAgentID=$AGENT_ID WHERE
ArchiveID IN (${ARCHIDS//[[:space:]]/,})"
mysql $DB_CONNECT -e "UNLOCK TABLES"
for ARCHIVE_ID in $ARCHIDS
do
msg debug 'SQL AGENT_ID' "Agent ID '$AGENT_ID' assigned
to Archive ID '$ARCHIVE_ID'"
WORKER_ID=$(mysql -BN $DB_CONNECT -e "SELECT WorkerID
FROM AgentWorkers WHERE WorkersAgentID='$AGENT_ID' AND ArchiveAssigned IS NULL
LIMIT 1")
- if [ -n "$WORKER_ID" ]; then
+ if [[ -n "$WORKER_ID" ]]; then
msg debug 'SQL WORKER_ID' "Assigned Agent
Worker ID: $WORKER_ID"
ARCHIVE_FILE=$(mysql -BN $DB_CONNECT -e "SELECT
Filename FROM Archives WHERE ArchiveID='$ARCHIVE_ID'")
mysql $DB_CONNECT -e "UPDATE Archives SET
AssignedWorkerID=$WORKER_ID WHERE ArchiveID='$ARCHIVE_ID'"
@@ -152,7 +152,7 @@
ACTIVE_WORKERS=$(mysql -NB $DB_CONNECT -e
"SELECT COUNT(WorkerID) FROM AgentWorkers WHERE ArchiveAssigned IS NOT NULL")
msg verbose AGENTS "Total active agent workers:
$ACTIVE_WORKERS"
msg verbose AGENTS "Warning: No available agent
threads for new archives"
- [ $EMAIL_LEVEL -ge $EMAIL_NORMAL ] &&
notifyAdmin "NEW: All Agents Busy" "Warning: All agents are busy, total active
agent workers: $ACTIVE_WORKERS"
+ [[ $EMAIL_LEVEL -ge $EMAIL_NORMAL ]] &&
notifyAdmin "NEW: All Agents Busy" "Warning: All agents are busy, total active
agent workers: $ACTIVE_WORKERS"
break
fi
done
@@ -169,11 +169,11 @@
RCODE=0
LIMIT=$(mysql -BN $DB_CONNECT -e "SELECT COUNT(WorkerID) FROM
AgentWorkers WHERE ArchiveAssigned IS NULL AND WorkersAgentID=$AGENT_ID")
export LIMIT
- if [ $LIMIT -gt 0 ]; then
+ if [[ $LIMIT -gt 0 ]]; then
CPU_MAX=$(mysql -BN $DB_CONNECT -e "SELECT CPUMax FROM Agents
WHERE AgentID='$AGENT_ID'")
CPU_IDLE=$(vmstat 1 2 | tail -1 | awk '{print $15}')
CPU_UTIL=$((100-CPU_IDLE))
- if [ $CPU_UTIL -ge $CPU_MAX ]; then
+ if [[ $CPU_UTIL -ge $CPU_MAX ]]; then
msg normal AGENT "CPU Utilization of ${CPU_UTIL}%
exceeds ${CPU_MAX}% threshold"
mysql $DB_CONNECT -e "UPDATE Agents SET
AgentEvent=NOW(), AgentMessage='Busy: Max CPU', CPUCurrent=$CPU_UTIL WHERE
AgentID=$AGENT_ID"
SQLERR=$?
@@ -182,9 +182,9 @@
mysql $DB_CONNECT -e "UPDATE Agents SET
AgentEvent=NOW(), AgentMessage='Ready', CPUCurrent=$CPU_UTIL WHERE
AgentID=$AGENT_ID"
SQLERR=$?
fi
- if [ $SQLERR -gt 0 ]; then
+ if [[ $SQLERR -gt 0 ]]; then
msg normal SQL "ERROR: Failed to update AgentID
$AGENT_ID on $HOSTNAME"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin "Agent
$AGENT_ID Update Failed" "ERROR: Failed to update AgentID $AGENT_ID on
$HOSTNAME"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin "Agent
$AGENT_ID Update Failed" "ERROR: Failed to update AgentID $AGENT_ID on
$HOSTNAME"
exit 3
else
msg normal CPU "$HOSTNAME CPU Utilization: ${CPU_UTIL}%"
@@ -219,7 +219,7 @@
done
msg verbose DEACTIVATE "Deleting all agent $AGENT_ID worker
directories"
WORKER_DIRS=$(mysql -NB $DB_CONNECT -e "SELECT HomePath FROM
AgentWorkers WHERE WorkersAgentID='$AGENT_ID'")
- [ -n "$WORKER_DIRS" ] && rm -rf $WORKER_DIRS &>/dev/null
+ [[ -n "$WORKER_DIRS" ]] && rm -rf $WORKER_DIRS &>/dev/null
msg verbose DEACTIVATE "Releasing all archives assigned to
agent $AGENT_ID in the database"
mysql $DB_CONNECT -e "UPDATE Archives SET ArchiveState='Retry',
ArchiveMessage='Releasing archive, agent deactivated', RetryCount=0,
AssignedWorkerID=NULL WHERE AssignedAgentID='$AGENT_ID' AND
ArchiveState='Assigned' OR ArchiveState='Downloading' OR
ArchiveState='Extracting' OR ArchiveState='Analyzing' OR
ArchiveState='Reporting'"
msg verbose DEACTIVATE "Resetting agent $AGENT_ID worker
threads in the database"
@@ -252,7 +252,7 @@
title
[[ -d $SCA_WORK ]] || mkdir -p $SCA_WORK
-[ $AGENT_PRIORITY_GROUP -gt 0 ] && sleep $AGENT_PRIORITY_GROUP
+[[ $AGENT_PRIORITY_GROUP -gt 0 ]] && sleep $AGENT_PRIORITY_GROUP
while getopts ':hl:w:ad' TMPOPT
do
case $TMPOPT in
@@ -269,7 +269,7 @@
agentAccess
AGENT_STATE=$?
if [[ $AGENT_STATE -eq $AGENT_NOACCESS ]]; then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin "No DB Access" "ERROR
Cannot access administrative database $DB_NAME on localhost"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin "No DB Access" "ERROR
Cannot access administrative database $DB_NAME on localhost"
exit 5
else
if [[ $ACTIVATE -gt 0 ]]; then
@@ -288,7 +288,7 @@
fi
else
msg normal AGENT "ERROR The agent is not active"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin 'AGENT
NOT ACTIVE' "ERROR: The agent on $HOSTNAME is not Active, no supportconfig
archives will be processed on this agent."
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin 'AGENT
NOT ACTIVE' "ERROR: The agent on $HOSTNAME is not Active, no supportconfig
archives will be processed on this agent."
date > $SUPPRESS_ADDITIONAL_EMAILS
exit 6
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sca-appliance-agent-1.3/bin/sdagent-config
new/sca-appliance-agent-1.3/bin/sdagent-config
--- old/sca-appliance-agent-1.3/bin/sdagent-config 2015-07-17
00:26:16.588448576 +0200
+++ new/sca-appliance-agent-1.3/bin/sdagent-config 2018-01-03
18:49:35.292124296 +0100
@@ -1,6 +1,6 @@
#!/bin/bash
-SVER=1.0.4
+SVER='1.0.6'
##############################################################################
# sdagent-config - SCA Agent Configuration Tool
@@ -9,7 +9,7 @@
# Description: Configures the Agent Server to communicate with the Broker
# Server.
# Runs on: Agent Server
-# Modified: 2014 Apr 22
+# Modified: 2018 Jan 03
#
##############################################################################
#
@@ -26,7 +26,7 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# Authors/Contributors:
-# Jason Record ([email protected])
+# Jason Record ([email protected])
#
##############################################################################
@@ -49,7 +49,7 @@
showHelp() {
title
- [ -n "$1" ] && { echo "$1"; echo; }
+ [[ -n "$1" ]] && { echo "$1"; echo; }
echo "Usage: $CURRENT_SCRIPT -h <broker> -p <sdagent_password> -i
<input_url> -e <admin_email> [OPTIONS]"
echo 'Description:'
echo ' Configures a new agent that will run sdagents.'
@@ -78,7 +78,7 @@
printf "Testing $1 URL $TURL ... "
case $TYPE in
file)
- if [ ! -d $UDIR ]; then
+ if [[ ! -d $UDIR ]]; then
RCODE=10
fi
;;
@@ -103,13 +103,13 @@
mysql $DB_CONNECT -e "SELECT AgentID,Hostname FROM Agents WHERE
( Hostname LIKE \"${SERVER_NAME}%\" )"
echo
AGENT_ID=$(mysql -NB $DB_CONNECT -e "SELECT AgentID FROM Agents
WHERE ( Hostname LIKE \"${SERVER_NAME}%\" )" 2>/dev/null)
- if [ -z "$AGENT_ID" ]; then
+ if [[ -z "$AGENT_ID" ]]; then
echo "ERROR: Cannot obtain AgentID on $OPT_BROKER for
$SERVER_NAME"
echo "Consider running setup-sdagent on the Broker
server."
echo
exit 2
else
- if [ -e $AGENT_CONFIG ]; then
+ if [[ -e $AGENT_CONFIG ]]; then
OPT_INSRC_TYPE=$(echo $OPT_INSRC | cut -d\:
-f1)
OPT_INSRC_HOST=$(echo $OPT_INSRC | cut -d\/
-f3)
OPT_INSRC_DIR=$(echo $OPT_INSRC | sed -e
"s!${OPT_INSRC_TYPE}://${OPT_INSRC_HOST}!!g")
@@ -141,7 +141,7 @@
exit 1
fi
mysql $DB_CONNECT -e "UPDATE Agents SET AgentState='Active',
AgentEvent=NOW(), AgentMessage='Confirm cron entries' WHERE AgentID=$AGENT_ID"
- if [ $? -gt 0 ]; then
+ if [[ $? -gt 0 ]]; then
echo
exit 4
else
@@ -156,7 +156,7 @@
echo " Run 'crontab $DEF_CRON' to replace the cron"
echo " Run 'crontab -e sca -e' to manually edit the cron"
echo
- [ -s $DEF_CRON ] && cat $DEF_CRON
+ [[ -s $DEF_CRON ]] && cat $DEF_CRON
echo
fi
}
@@ -185,12 +185,12 @@
t) OPT_POST_REPORT=1 ;;
esac
done
-[ -z "$OPT_BROKER" ] && { showHelp "ERROR: Missing Broker hostname"; exit 1; }
-[ -z "$OPT_PASS" ] && { showHelp "ERROR: Missing MySQL sdagent Password"; exit
1; }
-[ -z "$OPT_INSRC" ] && { showHelp "ERROR: Missing Input Source URL"; exit 1; }
-[ -z "$OPT_OUTSRC" ] && OPT_OUTSRC=$OPT_INSRC
-[ -z "$OPT_EMAIL_ADMIN" ] && { showHelp "ERROR: Missing Admin email address";
exit 1; }
-[ -z "$OPT_EMAIL_REPORT" ] && OPT_EMAIL_REPORT=$OPT_EMAIL_ADMIN
+[[ -z "$OPT_BROKER" ]] && { showHelp "ERROR: Missing Broker hostname"; exit 1;
}
+[[ -z "$OPT_PASS" ]] && { showHelp "ERROR: Missing MySQL sdagent Password";
exit 1; }
+[[ -z "$OPT_INSRC" ]] && { showHelp "ERROR: Missing Input Source URL"; exit 1;
}
+[[ -z "$OPT_OUTSRC" ]] && OPT_OUTSRC=$OPT_INSRC
+[[ -z "$OPT_EMAIL_ADMIN" ]] && { showHelp "ERROR: Missing Admin email
address"; exit 1; }
+[[ -z "$OPT_EMAIL_REPORT" ]] && OPT_EMAIL_REPORT=$OPT_EMAIL_ADMIN
title
main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sca-appliance-agent-1.3/bin/sdagent-health
new/sca-appliance-agent-1.3/bin/sdagent-health
--- old/sca-appliance-agent-1.3/bin/sdagent-health 2015-07-17
00:26:16.588448576 +0200
+++ new/sca-appliance-agent-1.3/bin/sdagent-health 2018-01-03
18:50:38.314286346 +0100
@@ -1,15 +1,15 @@
#!/bin/bash
-SVER=1.0.8
+SVER='1.0.9'
##############################################################################
# sdagent-healthcheck - SCA Agent Health Check Tool
-# Copyright (C) 2014 SUSE LLC
+# Copyright (C) 2014-2018 SUSE LLC
#
# Description: Monitors the current health of Agent Server and it's Agent
# Worker Threads.
# Runs on: Agent Server
-# Modified: 2014 Jun 26
+# Modified: 2018 Jan 03
#
##############################################################################
#
@@ -26,7 +26,7 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# Authors/Contributors:
-# Jason Record ([email protected])
+# Jason Record ([email protected])
#
##############################################################################
@@ -103,7 +103,7 @@
checkDiskSpace() {
DISK_FULL=$(df -h ${SCA_WORK}/ | grep -v Filesystem | awk '{print $5}'
| cut -d% -f1)
- if [ $DISK_FULL -ge $MAX_DISK_HEALTH ]; then
+ if [[ $DISK_FULL -ge $MAX_DISK_HEALTH ]]; then
mysql $DB_CONNECT -e "UPDATE Agents SET AgentEvent=NOW(),
AgentState='Error', AgentMessage='Disk space full for $SCA_WORK' WHERE
AgentID='$AGENT_ID'" &>/dev/null
msg min AGENT "Deactivated: Disk Full at ${DISK_FULL}% for
$SCA_WORK"
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sca-appliance-agent-1.3/bin/sdagent-patterns
new/sca-appliance-agent-1.3/bin/sdagent-patterns
--- old/sca-appliance-agent-1.3/bin/sdagent-patterns 2015-07-17
00:26:16.589448586 +0200
+++ new/sca-appliance-agent-1.3/bin/sdagent-patterns 2018-01-03
18:51:36.984577944 +0100
@@ -1,15 +1,15 @@
#!/bin/bash
-SVER=1.0.20
+SVER='1.0.21'
##############################################################################
# sdagent-patterns - SCA Agent Pattern Updater
-# Copyright (C) 2014 SUSE LLC
+# Copyright (C) 2014-2018 SUSE LLC
#
# Description: Maintains a current list of patterns from the public pattern
# repository.
# Runs on: Agent Server
-# Modified: 2014 Jul 15
+# Modified: 2018 Jan 03
#
##############################################################################
#
@@ -26,13 +26,13 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# Authors/Contributors:
-# Jason Record ([email protected])
+# Jason Record ([email protected])
#
##############################################################################
CURRENT_SCRIPT=$(basename $0)
. /etc/sca/sdagent.conf
-[ -s /etc/sca/sdagent-patterns.conf ] && . /etc/sca/sdagent-patterns.conf
+[[ -s /etc/sca/sdagent-patterns.conf ]] && . /etc/sca/sdagent-patterns.conf
PAT_COUNT_PRE=0
PAT_COUNT_POST=0
PAT_COUNT_CHANGE=0
@@ -51,7 +51,7 @@
}
showHelp() {
- [ -n "$1" ] && { echo "$1"; echo; }
+ [[ -n "$1" ]] && { echo "$1"; echo; }
echo "Usage: $CURRENT_SCRIPT [OPTIONS]"
echo "Description:"
echo " Updates patterns from the OBS repository and checks the"
@@ -75,10 +75,10 @@
*) SYSTEM_LOGGER=1; CURRENT_LOGLEVEL=$LOGLEVEL_MIN ;;
esac
shift
- if [ $LOGLEVEL -ge $CURRENT_LOGLEVEL ]; then
- if [ $SYSTEM_LOGGER -gt 0 ]; then
- [ -n "$2" ] && logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: [$1] $2" || logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: $1"
- if [ $LOGLEVEL -gt $LOGLEVEL_SILENT ]; then
+ if [[ $LOGLEVEL -ge $CURRENT_LOGLEVEL ]]; then
+ if [[ $SYSTEM_LOGGER -gt 0 ]]; then
+ [[ -n "$2" ]] && logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: [$1] $2" || logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[$$]: $1"
+ if [[ $LOGLEVEL -gt $LOGLEVEL_SILENT ]]; then
printf "%-15s %s\n" "$1" "$2"
fi
else
@@ -103,7 +103,7 @@
# returns 0 NO_ACCESS, 1 INACTIVE, 2 ACTIVE
CHECK_AGENT_STATE=$(mysql -NB $DB_CONNECT -e "SELECT AgentState FROM
Agents WHERE AgentID=$AGENT_ID")
RCODE=$?
- if [ $RCODE -gt 0 ]; then
+ if [[ $RCODE -gt 0 ]]; then
msg normal DB "ERROR Cannot access administrative database
$DB_NAME on localhost"
RCODE=$AGENT_NOACCESS
else
@@ -121,10 +121,9 @@
msg normal PATTERNS "Refreshing SCA Pattern Repository"
zypper --no-gpg-checks --non-interactive refresh &>/dev/null
RC=$?
- if (( RC ))
- then
+ if (( RC )); then
msg min ERROR "Cannot refresh pattern repository, zypper error
$RC"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin 'Agent $AGENT_ID
cannot refresh pattern repository' "ERROR: Failed to refresh pattern repository
on AgentID $AGENT_ID"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin 'Agent
$AGENT_ID cannot refresh pattern repository' "ERROR: Failed to refresh pattern
repository on AgentID $AGENT_ID"
fi
return $RC
}
@@ -135,7 +134,7 @@
RC=$?
if (( RC )); then
msg min ERROR "Failed to update SCA patterns, zypper error $RC"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin 'Agent $AGENT_ID
cannot update patterns from pattern repository' "ERROR: Failed to update
patterns from the pattern repository on AgentID $AGENT_ID"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin 'Agent
$AGENT_ID cannot update patterns from pattern repository' "ERROR: Failed to
update patterns from the pattern repository on AgentID $AGENT_ID"
fi
return $RC
}
@@ -281,13 +280,13 @@
AGENT_STATE=$?
if [[ $AGENT_STATE -eq $AGENT_NOACCESS ]]; then
msg normal DB "Error: Insufficient database access,
AGENT_STATE=$AGENT_STATE"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin "Agent Access" "ERROR
Insufficient database access, AGENT_STATE=$AGENT_STATE"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin "Agent Access" "ERROR
Insufficient database access, AGENT_STATE=$AGENT_STATE"
exit 5
else
- if [ -d ${SCA_PATTERN_PATH} ]; then
+ if [[ -d ${SCA_PATTERN_PATH} ]]; then
msg normal "v$SVER" "Pattern Pre-Configuration"
chmod 700 ${SCA_PATTERN_PATH}
- if [ -n "$AGENT_ID" ]; then
+ if [[ -n "$AGENT_ID" ]]; then
if (( PAT_COUNT > 0 )); then
RPM_MODS=$(rpm -qa | grep sca-patterns- | cut
-d- -f3 | sort)
LOCAL_COUNT=$(find ${SCA_PATTERN_PATH}/local
-type f -perm /100 | sort | uniq | wc -l)
@@ -299,43 +298,43 @@
AGENT_MSG="$PAT_COUNT with $PAT_COUNT_CHANGE
changes, Modules: $MODULES"
msg normal STATUS "$AGENT_MSG"
mysql $DB_CONNECT -e "UPDATE Agents SET
AgentEvent=NOW(), AgentMessage='$AGENT_MSG', Patterns=$PAT_COUNT WHERE
AgentID=$AGENT_ID"
- if [ $? -gt 0 ]; then
+ if [[ $? -gt 0 ]]; then
msg min ERROR "Failed to update AgentID
$AGENT_ID"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] &&
notifyAdmin 'Agent $AGENT_ID Update Failed' "ERROR: Failed to update AgentID
$AGENT_ID"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] &&
notifyAdmin 'Agent $AGENT_ID Update Failed' "ERROR: Failed to update AgentID
$AGENT_ID"
exit 3
else
msg min PATTERNS "v$SVER -- $PAT_COUNT
patterns checked in on Agent $AGENT_ID, Changes: $PAT_COUNT_CHANGE"
if (( PAT_COUNT_CHANGE != 0 ))
then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ]
&& sendEmailUpdate
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN
]] && sendEmailUpdate
else
- [ $EMAIL_LEVEL -ge
$EMAIL_VERBOSE ] && sendEmailUpdate
+ [[ $EMAIL_LEVEL -ge
$EMAIL_VERBOSE ]] && sendEmailUpdate
fi
fi
else
mysql $DB_CONNECT -e "UPDATE Agents SET
AgentEvent=NOW(), AgentMessage='Disabling Agent, No patterns found',
Patterns=$PAT_COUNT, AgentState='Inactive' WHERE AgentID=$AGENT_ID"
- if [ $? -gt 0 ]; then
+ if [[ $? -gt 0 ]]; then
msg min ERROR "Failed to update AgentID
$AGENT_ID"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] &&
notifyAdmin 'Agent $AGENT_ID Update Failed' "ERROR: Failed to update AgentID
$AGENT_ID"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] &&
notifyAdmin 'Agent $AGENT_ID Update Failed' "ERROR: Failed to update AgentID
$AGENT_ID"
exit 3
else
msg min PATTERNS "v$SVER -- $PAT_COUNT
patterns on Agent $AGENT_ID"
if (( PAT_COUNT_CHANGE ))
then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ]
&& sendEmailUpdate
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN
]] && sendEmailUpdate
else
- [ $EMAIL_LEVEL -ge
$EMAIL_VERBOSE ] && sendEmailUpdate
+ [[ $EMAIL_LEVEL -ge
$EMAIL_VERBOSE ]] && sendEmailUpdate
fi
fi
fi
else
msg min CONFIG "Run sdagent-config on $SERVER_NAME"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin 'Run
sdagent-config' "Run sdagent-config on $SERVER_NAME"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin 'Run
sdagent-config' "Run sdagent-config on $SERVER_NAME"
exit 4
fi
else
msg min ERROR "Error: Invalid pattern directory:
$SCA_PATTERN_PATH"
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && notifyAdmin 'Invalid pattern
directory' "Error: Invalid pattern directory: $SCA_PATTERN_PATH"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && notifyAdmin 'Invalid
pattern directory' "Error: Invalid pattern directory: $SCA_PATTERN_PATH"
exit 1
fi
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/sca-appliance-agent-1.3/bin/sdagent-supportconfig
new/sca-appliance-agent-1.3/bin/sdagent-supportconfig
--- old/sca-appliance-agent-1.3/bin/sdagent-supportconfig 2017-06-03
02:07:03.861074850 +0200
+++ new/sca-appliance-agent-1.3/bin/sdagent-supportconfig 2018-01-03
18:52:32.998946808 +0100
@@ -1,15 +1,15 @@
#!/bin/bash
-SVER=1.0.35
+SVER='1.0.36'
##############################################################################
# sdagent-suportconfig - SCA Agent Worker for Supportconfig Archives
-# Copyright (C) 2015 SUSE LLC
+# Copyright (C) 2015-2018 SUSE LLC
#
# Description: A process forked by the sdagent to analyze a supportconfig
# archive. Supportconfig archives can be from any server.
# Runs on: Agent Server
-# Modified: 2015 Nov 03
+# Modified: 2018 Jan 03
#
##############################################################################
#
@@ -26,14 +26,14 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# Authors/Contributors:
-# Jason Record ([email protected])
+# Jason Record ([email protected])
#
##############################################################################
CURRENT_SCRIPT=$(basename $0)
DEBUGGING_MODE=0
. /etc/sca/sdagent.conf
-[ -s /etc/sca/sdagent-supportconfig.conf ] && .
/etc/sca/sdagent-supportconfig.conf
+[[ -s /etc/sca/sdagent-supportconfig.conf ]] && .
/etc/sca/sdagent-supportconfig.conf
ADMIN_LOG=$(mktemp ${SCA_WORK}/${CURRENT_SCRIPT}.admin.log.XXXXXXXXXX)
EVENT_FLAGS=( 0 0 0 0 0 0 0 )
declare -a RESULT_ELEMENT=(META_CLASS META_CATEGORY META_COMPONENT PATTERN_ID
PRIMARY_LINK OVERALL OVERALL_INFO META_LINK_)
@@ -74,8 +74,8 @@
*) CURRENT_LOGLEVEL=$LOGLEVEL_MIN ;;
esac
shift
- if [ $LOGLEVEL -ge $CURRENT_LOGLEVEL ]; then
- [ -n "$2" ] && logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[${AGENT_ID}:${WORKER_ID}:${ARCHIVE_ID}:$$]: [$1] $2" ||
logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[${AGENT_ID}:${WORKER_ID}:${ARCHIVE_ID}:$$]: $1"
+ if [[ $LOGLEVEL -ge $CURRENT_LOGLEVEL ]]; then
+ [[ -n "$2" ]] && logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[${AGENT_ID}:${WORKER_ID}:${ARCHIVE_ID}:$$]: [$1] $2" ||
logger -p "user.${FACLEVEL}"
"${CURRENT_SCRIPT}[${AGENT_ID}:${WORKER_ID}:${ARCHIVE_ID}:$$]: $1"
fi
}
@@ -91,7 +91,7 @@
sql) EVENT_FLAGS[6]=1 ;;
esac
shift
- [ -z "$ARCHIVE" ] && ARCH_DATA='' ||
ARCH_DATA="Archive=${ARCH_LOCATION}/${ARCHIVE}
+ [[ -z "$ARCHIVE" ]] && ARCH_DATA='' ||
ARCH_DATA="Archive=${ARCH_LOCATION}/${ARCHIVE}
"
case $1 in
@@ -201,16 +201,16 @@
emailAdminAlerts() {
msg debug "> emailAdminAlerts"
- if [ -s $ADMIN_LOG ]; then
+ if [[ -s $ADMIN_LOG ]]; then
msg verbose NOTIFY "Sending Agent Alert to Email(s):
$EMAIL_ADMIN"
EVENTS_STR=""
- [ ${EVENT_FLAGS[0]} -gt 0 ] && EVENTS_STR="ENV $EVENTS_STR"
- [ ${EVENT_FLAGS[1]} -gt 0 ] && EVENTS_STR="INSRC $EVENTS_STR"
- [ ${EVENT_FLAGS[2]} -gt 0 ] && EVENTS_STR="OUTSRC $EVENTS_STR"
- [ ${EVENT_FLAGS[3]} -gt 0 ] && EVENTS_STR="RETRY $EVENTS_STR"
- [ ${EVENT_FLAGS[4]} -gt 0 ] && EVENTS_STR="PUNT $EVENTS_STR"
- [ ${EVENT_FLAGS[5]} -gt 0 ] && EVENTS_STR="PAT $EVENTS_STR"
- [ ${EVENT_FLAGS[6]} -gt 0 ] && EVENTS_STR="SQL $EVENTS_STR"
+ [[ ${EVENT_FLAGS[0]} -gt 0 ]] && EVENTS_STR="ENV $EVENTS_STR"
+ [[ ${EVENT_FLAGS[1]} -gt 0 ]] && EVENTS_STR="INSRC $EVENTS_STR"
+ [[ ${EVENT_FLAGS[2]} -gt 0 ]] && EVENTS_STR="OUTSRC $EVENTS_STR"
+ [[ ${EVENT_FLAGS[3]} -gt 0 ]] && EVENTS_STR="RETRY $EVENTS_STR"
+ [[ ${EVENT_FLAGS[4]} -gt 0 ]] && EVENTS_STR="PUNT $EVENTS_STR"
+ [[ ${EVENT_FLAGS[5]} -gt 0 ]] && EVENTS_STR="PAT $EVENTS_STR"
+ [[ ${EVENT_FLAGS[6]} -gt 0 ]] && EVENTS_STR="SQL $EVENTS_STR"
for SENDTO in $EMAIL_ADMIN
do
cat $ADMIN_LOG | /usr/bin/mailx -r "SCA Agent
Notification <root>" -ns "Worker Alert
[${AGENT_ID}:${WORKER_ID}:${ARCHIVE_ID}]: ${EVENTS_STR}: $ARCHIVE" $SENDTO
@@ -224,7 +224,7 @@
msg debug " >> getCurlError"
CURL_ERRORS='/usr/share/doc/packages/sca/curl.codes.txt'
ERRSTR=$(grep " ($RCODE) " $CURL_ERRORS 2>/dev/null | cut -d' ' -f1,2)
- if [ -z "$ERRSTR" ]; then
+ if [[ -z "$ERRSTR" ]]; then
ERRSTR="Unknown Error ($RCODE)"
fi
msg debug RESULT "Curl Error Transliteration: $ERRSTR"
@@ -236,10 +236,10 @@
VALID_SUPPORTCONFIG_ARCHIVE=0
ARCH_MODE=700
ENVFILE="${ARCHDIR}/basic-environment.txt"
- if [ -d $ARCHDIR ]; then
+ if [[ -d $ARCHDIR ]]; then
msg debug "ARCHDIR" "$ARCHDIR - Found"
chmod -fR $ARCH_MODE $ARCHDIR
- if [ -s $ENVFILE ]; then
+ if [[ -s $ENVFILE ]]; then
VALID_SUPPORTCONFIG_ARCHIVE=1
else
CREATE_REPORT=0
@@ -248,22 +248,22 @@
else
msg debug "ARCHDIR" "$ARCHDIR - NOT Found"
TMPDIR=$(find ${WORKDIR}/ -maxdepth 1 -type d | grep -v
"${WORKDIR}/$")
- if [ -n "$TMPDIR" ]; then
+ if [[ -n "$TMPDIR" ]]; then
chmod -fR $ARCH_MODE $TMPDIR
TMPDIRCNT=$(echo "$TMPDIR" | wc -l)
else
TMPDIRCNT=0
fi
- if [ $TMPDIRCNT -lt 1 ]; then
+ if [[ $TMPDIRCNT -lt 1 ]]; then
CREATE_REPORT=0
puntArchive $EMAIL_VERBOSE "Invalid Supportconfig: No
archive subdirectory found"
- elif [ $TMPDIRCNT -gt 1 ]; then
+ elif [[ $TMPDIRCNT -gt 1 ]]; then
CREATE_REPORT=0
puntArchive $EMAIL_VERBOSE "Invalid Supportconfig:
Multiple directories in extracted archive: $TMPDIRCNT"
else
TMPDIR=$(echo "$TMPDIR" | tail -1)
ENVFILE="${TMPDIR}/basic-environment.txt"
- if [ -s $ENVFILE ]; then
+ if [[ -s $ENVFILE ]]; then
msg verbose "RENAME" "mv $TMPDIR
${WORKDIR}/${ARCHDIR}"
mv $TMPDIR ${WORKDIR}/${ARCHDIR}
chmod -fR $ARCH_MODE ${WORKDIR}/${ARCHDIR}
@@ -285,7 +285,7 @@
retryArchive() {
msg debug "> retryArchive"
msg min AGENT "v${SVER} -- Retry Archive: ${ARCHIVE}, Message: $*"
- [ $EMAIL_LEVEL -ge $EMAIL_VERBOSE ] && logAdminEvent retry warning "$*"
+ [[ $EMAIL_LEVEL -ge $EMAIL_VERBOSE ]] && logAdminEvent retry warning
"$*"
mysql $DB_CONNECT -e "UPDATE Archives SET RetryCount=RetryCount+1 WHERE
ArchiveID=${ARCHIVE_ID}"
finishWorker Retry "$*"
msg debug "< retryArchive"
@@ -298,7 +298,7 @@
MSG_LEVEL=$1
shift
msg min AGENT "v${SVER} -- Failed Archive: ${ARCHIVE}, Error: $*"
- [ $EMAIL_LEVEL -ge $MSG_LEVEL ] && logAdminEvent punt error "$*"
+ [[ $EMAIL_LEVEL -ge $MSG_LEVEL ]] && logAdminEvent punt error "$*"
PUNTING=1
if (( CREATE_REPORT )); then
createPuntReport "$*"
@@ -341,7 +341,7 @@
if (( ARCHIVE_ID )); then
STATE="$1"
ERROR_MSG="$2"
- [ -n "$ERROR_MSG" ] && ERROR_MSG="'$ERROR_MSG'" ||
ERROR_MSG="NULL"
+ [[ -n "$ERROR_MSG" ]] && ERROR_MSG="'$ERROR_MSG'" ||
ERROR_MSG="NULL"
mysql $DB_CONNECT -e "UPDATE Archives SET
ArchiveState='$STATE', ArchiveEvent=NOW(), ArchiveMessage=$ERROR_MSG WHERE
ArchiveID=$ARCHIVE_ID"
else
msg debug ARCHIVE_ID "Missing"
@@ -352,7 +352,7 @@
if (( AGENT_ID )); then
STATE="$1"
ERROR_MSG="$2"
- [ -n "$ERROR_MSG" ] && ERROR_MSG="'$ERROR_MSG'" ||
ERROR_MSG="NULL"
+ [[ -n "$ERROR_MSG" ]] && ERROR_MSG="'$ERROR_MSG'" ||
ERROR_MSG="NULL"
mysql $DB_CONNECT -e "UPDATE Agents SET AgentState='$STATE',
AgentEvent=NOW(), AgentMessage=$ERROR_MSG WHERE AgentID=$AGENT_ID"
else
msg debug AGENT_ID "Missing"
@@ -367,7 +367,7 @@
cat $IMPORT_FILE | mysql $DB_CONNECT &> ${WORKDIR}/mysql.out
RC=$?
if (( RC )); then
- [ $EMAIL_LEVEL -ge $EMAIL_NORMAL ] && logAdminEvent sql failed
"$(cat ${WORKDIR}/mysql.out)"
+ [[ $EMAIL_LEVEL -ge $EMAIL_NORMAL ]] && logAdminEvent sql
failed "$(cat ${WORKDIR}/mysql.out)"
msg debug CMD "mv $IMPORT_FILE ${HOLDIR}/"
mv $IMPORT_FILE ${HOLDIR}/
puntArchive $EMAIL_NORMAL "SQL Import Failed"
@@ -556,14 +556,14 @@
loadResultEntry
OVERALL_INFO=${OVERALL_INFO//\'/\\\'} # Escape any single quotes (') in
the string
printf "%s" "(NULL, '$ARCHIVE_ID', '$META_CLASS', '$META_CATEGORY',
'$META_COMPONENT', '$PATTERN_ID', '$PATTERN_LOC', $OVERALL, '$OVERALL_INFO', "
>> $IMPORT_FILE
- [ -n "$PRIMARY_LINK" ] && printf "%s" "'$PRIMARY_LINK', " >>
$IMPORT_FILE || printf "%s" "NULL, " >> $IMPORT_FILE
- [ -n "$MLTID" ] && printf "%s" "'$MLTID', " >> $IMPORT_FILE || printf
"%s" "NULL, " >> $IMPORT_FILE
- [ -n "$MLBUG" ] && printf "%s" "'$MLBUG', " >> $IMPORT_FILE || printf
"%s" "NULL, " >> $IMPORT_FILE
+ [[ -n "$PRIMARY_LINK" ]] && printf "%s" "'$PRIMARY_LINK', " >>
$IMPORT_FILE || printf "%s" "NULL, " >> $IMPORT_FILE
+ [[ -n "$MLTID" ]] && printf "%s" "'$MLTID', " >> $IMPORT_FILE || printf
"%s" "NULL, " >> $IMPORT_FILE
+ [[ -n "$MLBUG" ]] && printf "%s" "'$MLBUG', " >> $IMPORT_FILE || printf
"%s" "NULL, " >> $IMPORT_FILE
for (( I=0; I<9; I++ ))
do
- [ -n "${URLS[$I]}" ] && printf "%s" "'${URLS[$I]}', " >>
$IMPORT_FILE || printf "%s" "NULL, " >> $IMPORT_FILE
+ [[ -n "${URLS[$I]}" ]] && printf "%s" "'${URLS[$I]}', " >>
$IMPORT_FILE || printf "%s" "NULL, " >> $IMPORT_FILE
done
- [ -n "${URLS[$I]}" ] && printf "%s" "'${URLS[$I]}')" >> $IMPORT_FILE ||
printf "%s" "NULL)" >> $IMPORT_FILE
+ [[ -n "${URLS[$I]}" ]] && printf "%s" "'${URLS[$I]}')" >> $IMPORT_FILE
|| printf "%s" "NULL)" >> $IMPORT_FILE
}
createPuntReport() {
@@ -579,26 +579,26 @@
getElapsedTime() {
msg debug "> getElapsedTime"
RUNHR=$((OVERALL_TIME / 3600))
- if [ $RUNHR -gt 0 ]; then
+ if [[ $RUNHR -gt 0 ]]; then
ELAPSED="${RUNHR}h"
TIME_LEFT=$((OVERALL_TIME % 3600))
RUNMIN=$((TIME_LEFT / 60))
- if [ $RUNMIN -gt 0 ]; then
+ if [[ $RUNMIN -gt 0 ]]; then
ELAPSED="$ELAPSED, ${RUNMIN}m"
RUNSEC=$((TIME_LEFT % 60))
else
RUNSEC=$TIME_LEFT
fi
- [ -z "$ELAPSED" ] && ELAPSED="${RUNSEC}s" || ELAPSED="$ELAPSED,
${RUNSEC}s"
+ [[ -z "$ELAPSED" ]] && ELAPSED="${RUNSEC}s" ||
ELAPSED="$ELAPSED, ${RUNSEC}s"
else
RUNMIN=$((OVERALL_TIME / 60))
- if [ $RUNMIN -gt 0 ]; then
+ if [[ $RUNMIN -gt 0 ]]; then
ELAPSED="${RUNMIN}m"
RUNSEC=$((OVERALL_TIME % 60))
else
RUNSEC=$OVERALL_TIME
fi
- [ -z "$ELAPSED" ] && ELAPSED="${RUNSEC}s" || ELAPSED="$ELAPSED,
${RUNSEC}s"
+ [[ -z "$ELAPSED" ]] && ELAPSED="${RUNSEC}s" ||
ELAPSED="$ELAPSED, ${RUNSEC}s"
fi
msg debug "< getElapsedTime" "$ELAPSED"
}
@@ -610,14 +610,14 @@
validEnvironment() {
msg debug "> validEnvironment"
RC=0
- if [ -s $PATTERNS ]; then
+ if [[ -s $PATTERNS ]]; then
PATCOUNT=$(cat $PATTERNS | wc -l)
else
sleep 30
- if [ -s $PATTERNS ]; then
+ if [[ -s $PATTERNS ]]; then
PATCOUNT=$(cat $PATTERNS | wc -l)
else
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && logAdminEvent env
error "Invalid or missing pattern file: $PATTERNS"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && logAdminEvent env
error "Invalid or missing pattern file: $PATTERNS"
mysql $DB_CONNECT -e "UPDATE Agents SET
AgentState='Error', AgentMessage='Pattern file error: $PATTERNS' WHERE
AgentID=$AGENT_ID"
retryArchive "Pattern file error: $PATTERNS"
RC=1
@@ -628,7 +628,7 @@
mysql $DB_CONNECT -e "show tables" &> ${WORKDIR}/mysql.out
RCSQL=$?
if (( RCSQL )); then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && logAdminEvent sql error
"$(cat ${WORKDIR}/mysql.out)"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && logAdminEvent sql error
"$(cat ${WORKDIR}/mysql.out)"
RC=1
fi
@@ -659,7 +659,7 @@
fi
done
if (( HOST_FAILED )); then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && logAdminEvent insrc
warning "Server Down: INSRC=$PINGHOST"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && logAdminEvent
insrc warning "Server Down: INSRC=$PINGHOST"
retryArchive "Cannot ping INSRC"
RC=1
fi
@@ -685,7 +685,7 @@
file)
cp "${INSRC_DIR}/${ARCHIVE}" "${ARCHFILE}" &>/dev/null
RC=$?
- if [ $RC -gt 0 ]; then
+ if [[ $RC -gt 0 ]]; then
puntArchive $EMAIL_NORMAL "Cannot copy $ARCHIVE into
$INDIR, ERROR=$RC"
fi
if (( MAX_ARCHIVE_SIZE > 0 )); then
@@ -714,7 +714,7 @@
else
DCBIN=''
fi
- if [ -n "$DCBIN" ]; then
+ if [[ -n "$DCBIN" ]]; then
msg verbose "DECOMPRESS" "$DCBIN $ARCHFILE"
$DCBIN "$ARCHFILE" &>/dev/null
RC=$?
@@ -765,9 +765,9 @@
esac
ARCH_RUN_TIME=$(echo $ARCH_RUN | awk '{print $4}')
SUSE_RELEASE=$(sed -ne '/\/etc\/SuSE-release$/,/#==/p' $ENVFILE
| egrep -i "SUSE Linux Enterprise")
- [ -z "$SUSE_RELEASE" ] && puntArchive $EMAIL_VERBOSE "Only SUSE
Distributions are Supported"
+ [[ -z "$SUSE_RELEASE" ]] && puntArchive $EMAIL_VERBOSE "Only
SUSE Distributions are Supported"
UNAME=$(grep -A1 'uname -a' $ENVFILE | tail -1)
- if [ -n "$UNAME" ]; then
+ if [[ -n "$UNAME" ]]; then
SERVER_NAME=$(echo $UNAME | awk '{print $2}')
KERNEL_VERSION=$(echo $UNAME | awk '{print $3}')
SCRIPT_VERSION=$(grep 'Script Version' $ENVFILE | awk
'{print $NF}')
@@ -781,20 +781,20 @@
RELEASE=$(sed -ne '/\/etc\/SuSE-release$/,/#==/p' $ENVFILE |
egrep -v "^$|^#")
DISTRO=$(echo "$RELEASE" | head -1)
SPLEVEL=$(echo "$RELEASE" | grep PATCHLEVEL | awk '{print $NF}')
- if [ -z "$SPLEVEL" ]; then
+ if [[ -z "$SPLEVEL" ]]; then
SPLEVEL=None
- elif [ "$SPLEVEL" == "0" ]; then
+ elif [[ "$SPLEVEL" == "0" ]]; then
SPLEVEL=None
fi
OES=$(sed -ne '/\/etc\/novell-release$/,/#==/p' $ENVFILE |
egrep -v "^$|^#")
- if [ -n "$OES" ]; then
+ if [[ -n "$OES" ]]; then
if echo "$OES" | grep Desktop &>/dev/null; then
OES_DISTRO=''
OES_SPLEVEL=''
else
OES_DISTRO=$(echo "$OES" | head -1)
OES_SPLEVEL=$(echo "$OES" | grep PATCHLEVEL |
awk '{print $NF}' | sed -e 's/SP//')
- [ -z "$OES_SPLEVEL" ] && OES_SPLEVEL=None
+ [[ -z "$OES_SPLEVEL" ]] && OES_SPLEVEL=None
fi
else
OES_DISTRO=''
@@ -811,7 +811,7 @@
VIRT=$(grep -A2 '^Hardware:' $ENVFILE)
VIRT_HYPR=''
VIRT_IDTY=''
- if [ -n "$VIRT" ]; then
+ if [[ -n "$VIRT" ]]; then
VIRT_HARD=$(echo "$VIRT" | grep '^Hardware:' | sed -e
's/Hardware:[[:space:]]*//')
if echo $VIRT_HARD | grep -i empty &>/dev/null; then
VIRT_HARD="See hardware.txt"
@@ -823,7 +823,7 @@
VIRT_HARD='See hardware.txt'
fi
NOWSSBE=$(grep -i NOWS-SBE $RPMLIST)
- if [ -n "$NOWSSBE" ]; then
+ if [[ -n "$NOWSSBE" ]]; then
NOWSVER=$(grep -i NOWS-copyMedia $RPMLIST | head -1 |
awk '{print $3}')
else
unset NOWSVER
@@ -832,12 +832,12 @@
PLUGINS=$(grep "^supportutils-plugin-[[:alpha:]]*[[:space:]]"
$RPMLIST | awk '{print $1}' | sed -e 's/supportutils-plugin-//g')
BOOTFILE="${ARCHDIR}/boot.txt"
- if [ -s $BOOTFILE ]; then
+ if [[ -s $BOOTFILE ]]; then
TYPECIS=$(grep -A1 '/proc/cmdline' $BOOTFILE | grep -i
rescue=1)
TYPEBIS=$(grep -A1 '/proc/cmdline' $BOOTFILE | grep -i
'BOOT_IMAGE=.+' | grep -vi 'rescue=1')
- if [ -n "$TYPECIS" ]; then
+ if [[ -n "$TYPECIS" ]]; then
BOOTYPE=1
- elif [ -n "$TYPEBIS" ]; then
+ elif [[ -n "$TYPEBIS" ]]; then
BOOTYPE=2
else
BOOTYPE=0
@@ -946,7 +946,7 @@
analyzeArchiveStart() {
msg debug "> analyzeArchiveStart"
RC=0
- if [ -e ${ARCHPATH}/ ]; then
+ if [[ -e ${ARCHPATH}/ ]]; then
msg verbose ANALYZING "$SERVER_NAME, Using $PATCOUNT Patterns"
setArchiveState Analyzing
BEGINNING=1
@@ -996,8 +996,8 @@
(( DEBUGGING_MODE )) && PATINFO=$($PATTERN -p ${ARCHPATH}/ 2>>
$ANALYSIS_ERROR_LOG) || PATINFO=$($PATTERN -p ${ARCHPATH}/ 2>&1)
BINRC=$?
(( DEBUGGING_MODE )) && echo
"${PATTERN}__Return=${BINRC}__${PATHEADER}__${PATINFO}" >> $ANALYSIS_LOG
- if [ $BINRC -gt 0 ]; then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && logAdminEvent pat
failed "Pattern execution error:
+ if [[ $BINRC -gt 0 ]]; then
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && logAdminEvent pat
failed "Pattern execution error:
$(echo $PATINFO | sed -e 's/META_CLASS=/\nMETA_CLASS=/')
Pattern=${PATTERN}
"
@@ -1023,13 +1023,13 @@
# Output pattern results
if (( PAT_HEADER_ERROR ))
then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] &&
logAdminEvent pat failed "Pattern header error:
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] &&
logAdminEvent pat failed "Pattern header error:
Element $PAT_HEADER_ERROR, $TMP failed to match
${RESULT_ELEMENT[$PAT_HEADER_ERROR]}
Pattern=${PATTERN}
"
elif (( PAT_OUTPUT_ERROR ))
then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] &&
logAdminEvent pat failed "Pattern output error:
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] &&
logAdminEvent pat failed "Pattern output error:
$(echo $PATINFO | sed -e 's/META_CLASS=/\nMETA_CLASS=/')
Pattern=${PATTERN}
"
@@ -1061,7 +1061,7 @@
then
php -f $PHP_REPORT_BIN $ARCHIVE_ID > $REPORT 2>/dev/null
else
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] && logAdminEvent PHP error
"Missing PHP Report building: $PHP_REPORT_BIN"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] && logAdminEvent PHP error
"Missing PHP Report building: $PHP_REPORT_BIN"
fi
msg debug '< buildReport'
}
@@ -1088,7 +1088,7 @@
fi
done
if (( HOST_FAILED )); then
- [ $EMAIL_LEVEL -ge $EMAIL_MIN ] &&
logAdminEvent outsrc warning "Server Down: OUTSRC=$PINGHOST"
+ [[ $EMAIL_LEVEL -ge $EMAIL_MIN ]] &&
logAdminEvent outsrc warning "Server Down: OUTSRC=$PINGHOST"
mv ${REPORT} ${HOLDIR}/
retryArchive "Cannot contact $OUTSRC"
RC=1
@@ -1096,8 +1096,8 @@
msg verbose "UPLOAD" "curl --silent --fail
--upload-file ${REPORT} ${OUTSRC}/$(basename $REPORT)"
curl --silent --fail --upload-file "${REPORT}"
"${OUTSRC}/$(basename $REPORT)"
RC=$?
- if [ $RC -gt 0 ]; then
- if [ $PUNTING -eq 0 ]; then
+ if [[ $RC -gt 0 ]]; then
+ if [[ $PUNTING -eq 0 ]]; then
mv ${REPORT} ${HOLDIR}
retryArchive "Cannot upload
report to $OUTSRC"
fi
@@ -1108,10 +1108,10 @@
file)
REPORTOUT="${OUTSRC_DIR}/$(basename $REPORT)"
msg verbose "POST" "mv ${REPORT} ${REPORTOUT}"
- if [ -d $OUTSRC_DIR ]; then
+ if [[ -d $OUTSRC_DIR ]]; then
mv "${REPORT}" "${REPORTOUT}"
RC=$?
- if [ $RC -gt 0 ]; then
+ if [[ $RC -gt 0 ]]; then
puntArchive $EMAIL_NORMAL "Cannot move
$REPORT to ${OUTSRC_DIR}, mv ERROR=$RC"
fi
else
@@ -1130,7 +1130,7 @@
}
emailReport() {
- [ $STATUS_NOTIFY_LEVEL -ge $STATUS_SUCCESS ] && emailSCAReport
+ [[ $STATUS_NOTIFY_LEVEL -ge $STATUS_SUCCESS ]] && emailSCAReport
}
retryExpired() {
@@ -1183,9 +1183,9 @@
PUNTING=0
retryExpired
ERR=$?
- if [ $ERR -gt 0 ]; then
+ if [[ $ERR -gt 0 ]]; then
RETRY_MSG=$(mysql -NB $DB_CONNECT -e "SELECT ArchiveMessage
FROM Archives WHERE ArchiveID='$ARCHIVE_ID'")
- if [ -n "$RETRY_MSG" ]; then
+ if [[ -n "$RETRY_MSG" ]]; then
puntArchive $EMAIL_VERBOSE "Max retry count exceeded:
$RETRY_MSG"
else
puntArchive $EMAIL_VERBOSE "Max retry count exceeded"
@@ -1238,35 +1238,35 @@
esac
done
-if [ -n "$HOMEDIR" ]; then
+if [[ -n "$HOMEDIR" ]]; then
INDIR="${SCA_WORK}/${HOMEDIR}/incoming"
HOLDIR="${SCA_WORK}/${HOMEDIR}/holding"
WORKDIR="${SCA_WORK}/${HOMEDIR}/work"
REPORTDIR="${SCA_WORK}/${HOMEDIR}/reports"
- [ -d $INDIR ] || mkdir -p $INDIR
- [ -d $HOLDIR ] || mkdir -p $HOLDIR
- [ -d $WORKDIR ] || mkdir -p $WORKDIR
- [ -d $REPORTDIR ] || mkdir -p $REPORTDIR
+ [[ -d $INDIR ]] || mkdir -p $INDIR
+ [[ -d $HOLDIR ]] || mkdir -p $HOLDIR
+ [[ -d $WORKDIR ]] || mkdir -p $WORKDIR
+ [[ -d $REPORTDIR ]] || mkdir -p $REPORTDIR
else
title
showHelp "ERROR: Missing home directory (-p)"
exit 5
fi
-if [ -z "$ARCHIVE" ]; then
+if [[ -z "$ARCHIVE" ]]; then
title
showHelp "ERROR: Missing archive file (-a)"
exit 10
fi
-if [ -n "$SQLIDS" ]; then
+if [[ -n "$SQLIDS" ]]; then
AGENT_ID=$(echo $SQLIDS | cut -d, -f1)
WORKER_ID=$(echo $SQLIDS | cut -d, -f2)
ARCHIVE_ID=$(echo $SQLIDS | cut -d, -f3)
SERVER_ID=0
- [ -z "$ARCHIVE_ID" ] && { showHelp "ERROR: Missing Archive ID"; exit
16; }
- [ -z "$AGENT_ID" ] && { showHelp "ERROR: Missing Agent ID"; exit 17; }
- [ -z "$WORKER_ID" ] && { showHelp "ERROR: Missing Worker ID"; exit 17; }
+ [[ -z "$ARCHIVE_ID" ]] && { showHelp "ERROR: Missing Archive ID"; exit
16; }
+ [[ -z "$AGENT_ID" ]] && { showHelp "ERROR: Missing Agent ID"; exit 17; }
+ [[ -z "$WORKER_ID" ]] && { showHelp "ERROR: Missing Worker ID"; exit
17; }
else
title
showHelp "ERROR: Missing mySQL IDs (-i)"