yum_update.sh - Use the yum parameter: check-update
authorMatthew Flusche <mflusche@redhat.com>
Mon, 27 Feb 2017 22:11:37 +0000 (22:11 +0000)
committerAlex Schultz <aschultz@redhat.com>
Wed, 12 Apr 2017 18:59:47 +0000 (18:59 +0000)
The current check tends to produce a false positive causing unnecessary
service restarts.  yum check-update will exit with return code 100 if
updated packages are available.

Change-Id: I8bd89f2b24bafc6c991382b9eb484cfa9a2f8968
(cherry picked from commit 9e4375d2762f4a26e8b0b8375f9265ad6e439ea1)
Closes-Bug: #1680634

extraconfig/tasks/yum_update.sh

index ad36827..20a5b65 100755 (executable)
@@ -40,9 +40,17 @@ touch "$timestamp_file"
 
 command_arguments=${command_arguments:-}
 
-list_updates=$(yum list updates)
-
-if [[ "$list_updates" == "" ]]; then
+# yum check-update exits 100 if updates are available
+set +e
+check_update=$(yum check-update 2>&1)
+check_update_exit=$?
+set -e
+
+if [[ "$check_update_exit" == "1" ]]; then
+    echo "Failed to check for package updates"
+    echo "$check_update"
+    exit 1
+elif [[ "$check_update_exit" != "100" ]]; then
     echo "No packages require updating"
     exit 0
 fi