Skip Job Cost Calulations on Non-Cloud Platforms 42/66642/1
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Wed, 27 Jan 2021 20:05:06 +0000 (12:05 -0800)
committerTrevor Bramwell <tbramwell@linuxfoundation.org>
Wed, 27 Jan 2021 20:13:15 +0000 (12:13 -0800)
When 'job-cost.sh' is ran on a VM not initialized with cloud-init, or
running in OpenStack, attempts to read '/run/cloud-init/result.json'
will fail causing the job to become unsable.

This change adds a check for any relevant files to the beginning of
'job-cost.sh' in order to skip the calculation on VMs not running on
either AWS or OpenStack.

Change-Id: I878adee1ba3ceeffa574a1b1c7ae103811344123
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
releasenotes/notes/fix-job-cost-18fd129b9713c5dd.yaml [new file with mode: 0644]
shell/job-cost.sh

diff --git a/releasenotes/notes/fix-job-cost-18fd129b9713c5dd.yaml b/releasenotes/notes/fix-job-cost-18fd129b9713c5dd.yaml
new file mode 100644 (file)
index 0000000..6af989b
--- /dev/null
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Fixes an bug with 'job-cost.sh' that would cause builds to be marked
+    as unstable if not run on AWS or OpenStack.
index 595b342..dde3129 100644 (file)
@@ -15,6 +15,13 @@ set -euf -o pipefail
 # shellcheck disable=SC1090
 source ~/lf-env.sh
 
+if [[ ! -f /run/cloud-init/result.json && ! -f stack-cost ]]; then
+    # Don't attempt to calculate job cost as build is not running in a
+    # cloud environment
+    echo "INFO: Skipping job cost calculation"
+    exit 0
+fi
+
 # AWS job cost not supported, exit
 cloudtype="$(jq -r .v1.datasource /run/cloud-init/result.json)"
 if [[ $cloudtype == "DataSourceEc2Local" ]]; then