Merge "Update logs-deploy.sh"
[releng/global-jjb.git] / shell / job-cost.sh
index 769b972..cb5f1a5 100644 (file)
@@ -21,7 +21,7 @@ if grep -qi amazon /sys/devices/virtual/dmi/id/bios_vendor ; then
   exit 0
 fi
 
-lf-activate-venv python-openstackclient
+lf-activate-venv zipp==1.1.0 python-openstackclient
 
 if [[ -z ${JOB_NAME:-} ]]; then
     lf-echo-error "Required Env Variable Unset/Empty: JOB_NAME"
@@ -59,13 +59,13 @@ url="https://pricing.vexxhost.net/v1/pricing/$instance_type/cost?seconds=$uptime
 json_block=$(curl -s "$url")
 
 # check if JSON returned and can be parsed
-if jq <<< "$json_block" > /dev/null 2>&1; then
+if jq <<< "$json_block" > /dev/null 2>&1; then
     cost=$(jq .cost <<< "$json_block")
     resource=$(jq .resource <<< "$json_block" | tr -d '"')
 else
     echo "ERROR: Pricing API returned invalid json"
     cost=0
-    resource=0
+    resource='unknown'
 fi
 
 # Archive the cost date
@@ -77,6 +77,6 @@ echo "INFO: Archiving Costs"
 # This format is readable by spreadsheet and is easily sortable
 date=$(TZ=GMT date +'%Y-%m-%d %H:%M:%S')
 
-cat << EOF > "$WORKSPACE/archives/cost.csv"
-$JOB_NAME,$BUILD_NUMBER,$date,$resource,$uptime,$cost,$stack_cost
-EOF
+# Format the uptime, cost & stack_cost fields
+printf "%s,%s,%s,%s,%d,%.2f,%.2f\n" "$JOB_NAME" "$BUILD_NUMBER" "$date" \
+       "$resource" "$uptime" "$cost" "$stack_cost" > "$WORKSPACE/archives/cost.csv"