From 0f5d5b95b4b231ff706695c6894fdb93c3373a3c Mon Sep 17 00:00:00 2001 From: Chris Long Date: Fri, 7 Dec 2018 00:17:34 -0800 Subject: [PATCH] Add a backup for CI build provisioning --- ci/circle_workflows/vagrant_changes.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ci/circle_workflows/vagrant_changes.sh b/ci/circle_workflows/vagrant_changes.sh index 27c9d22..a0f4943 100644 --- a/ci/circle_workflows/vagrant_changes.sh +++ b/ci/circle_workflows/vagrant_changes.sh @@ -14,7 +14,13 @@ DEVICE_ID=$(curl -s -X POST --header 'Accept: application/json' --header 'Conten # TODO: maybe make this a regex if [ "$(echo -n $DEVICE_ID | wc -c)" -ne 36 ]; then echo "Server may have failed provisionining. Device ID is set to: $DEVICE_ID" - exit 1 + echo "This usually happens if there are no servers available in the selected datacenter." + echo "Attempting to retry in another datacenter..." + DEVICE_ID=$(curl -s -X POST --header 'Accept: application/json' --header 'Content-Type: application/json' --header 'X-Auth-Token: '"$PACKET_API_TOKEN" -d '{ "facility": "ewr1", "plan": "baremetal_1", "hostname": "detectionlab", "description": "testing", "billing_cycle": "hourly", "operating_system": "ubuntu_16_04", "userdata": "", "locked": "false", "project_ssh_keys": ["315a9565-d5b1-41b6-913d-fcf022bb89a6", "755b134a-f63c-4fc5-9103-c1b63e65fdfc"] }' 'https://api.packet.net/projects/0b3f4f2e-ff05-41a8-899d-7923f620ca85/devices' | jq ."id" | tr -d '"') + if [ "$(echo -n $DEVICE_ID | wc -c)" -ne 36 ]; then + echo "This script was still unable to successfully provision a server. Exiting." + exit 1 + fi fi echo "Server successfully provisioned with ID: $DEVICE_ID"