Chore: Upgrade Jenkins-job-builder to 6.3.0
[releng/global-jjb.git] / shell / sysstat.sh
index 6ecab67..eada1b3 100644 (file)
 echo "---> sysstat.sh"
 set +e  # DON'T fail build if script fails.
 
+if awk -F/ '$2 == "docker"' /proc/self/cgroup | read -r; then
+    exit 0
+fi
+
+
 OS=$(facter operatingsystem)
 case "$OS" in
     Ubuntu)
+        os_release=$(facter operatingsystemrelease)
+        case $os_release in
+            16.04|18.04|20.04)
+                if ! systemctl status sysstat > /dev/null; then
+                    exit 0
+                fi
+                ;;
+            14.04)
+                if [[ ! -f /etc/default/sysstat ]] || \
+                        ! grep --quiet 'ENABLED="true"' /etc/default/sysstat; then
+                    exit 0
+                fi
+                ;;
+            *)
+                echo "ERROR: Unknown Release: Ubuntu $os_release"
+                exit 1
+                ;;
+        esac
         SYSSTAT_PATH="/var/log/sysstat"
-
-        # Dont run the script when systat is not enabled by default
-        if ! grep --quiet 'ENABLED="true"' "/etc/default/sysstat"; then
-            exit 0
-        fi
     ;;
     CentOS|RedHat)
         SYSSTAT_PATH="/var/log/sa"
@@ -34,8 +52,7 @@ SAR_DIR="$WORKSPACE/archives/sar-reports"
 mkdir -p "$SAR_DIR"
 cp "$SYSSTAT_PATH/"* "$_"
 # convert sar data to ascii format
-while IFS="" read -r sarfilenum
-do
+while IFS="" read -r sarfilenum; do
     [ -f "$sarfilenum" ] && LC_TIME=POSIX sar -A -f "$sarfilenum" > "$SAR_DIR/sar${sarfilenum//[!0-9]/}"
 done < <(find "$SYSSTAT_PATH" -name "sa[0-9]*" || true)