From 2ccab46f1aeb7e7176aac01ef0cf938cf46f978a Mon Sep 17 00:00:00 2001 From: Kristijan Mitrovic Date: Thu, 4 Jun 2020 14:36:39 +0200 Subject: [PATCH] Show better message on Vultr start server failure --- .../main/java/bubble/cloud/compute/vultr/VultrDriver.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bubble-server/src/main/java/bubble/cloud/compute/vultr/VultrDriver.java b/bubble-server/src/main/java/bubble/cloud/compute/vultr/VultrDriver.java index bd7f3b66..9040a0e5 100644 --- a/bubble-server/src/main/java/bubble/cloud/compute/vultr/VultrDriver.java +++ b/bubble-server/src/main/java/bubble/cloud/compute/vultr/VultrDriver.java @@ -120,7 +120,13 @@ public class VultrDriver extends ComputeServiceDriverBase { // create server, check response final HttpResponseBean serverResponse = serverRequest.curl(); // fixme: we can do better than shelling to curl if (serverResponse.getStatus() != 200) return die("start: error creating server: " + serverResponse); - final String subId = json(serverResponse.getEntityString(), JsonNode.class).get(VULTR_SUBID).textValue(); + final JsonNode responseJson; + try { + responseJson = json(serverResponse.getEntityString(), JsonNode.class); + } catch (IllegalStateException e) { + return die("start: error creating server (error parsing response as JSON): " + serverResponse); + } + final var subId = responseJson.get(VULTR_SUBID).textValue(); node.setState(BubbleNodeState.booting); node.setTag(TAG_INSTANCE_ID, subId);