From 250a0f62d4556e2fde58a25e29977be0f4305994 Mon Sep 17 00:00:00 2001 From: Digvijay Ukirde Date: Tue, 17 Feb 2026 20:42:58 -0500 Subject: [PATCH] ebrokerd errorHandling --- .../ibmcloudgen2/scripts/nextgen_request_machines.py | 12 +++++++++--- hostProviders/ibmcloudgen2/scripts/vpc_vm_dns.py | 5 +++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/hostProviders/ibmcloudgen2/scripts/nextgen_request_machines.py b/hostProviders/ibmcloudgen2/scripts/nextgen_request_machines.py index 754ea77..1bb0aed 100644 --- a/hostProviders/ibmcloudgen2/scripts/nextgen_request_machines.py +++ b/hostProviders/ibmcloudgen2/scripts/nextgen_request_machines.py @@ -121,9 +121,15 @@ def main(): logging.error("Fail to create any VSI") outJson = RequestMachinesOutput() if error: - outJson.message = error - logging.critical(outJson) - print(outJson) + # For ebrokerd to disable template, must exit with non-zero code + # Print error message to stderr with "Error Code:" format + outJson.message = error # Contains "Error Code: " format + logging.critical(outJson) + print(outJson) + sys.exit(1) + else: + logging.critical(outJson) + print(outJson) else: createdInstanceList = instanceList diff --git a/hostProviders/ibmcloudgen2/scripts/vpc_vm_dns.py b/hostProviders/ibmcloudgen2/scripts/vpc_vm_dns.py index 8132625..e80768c 100644 --- a/hostProviders/ibmcloudgen2/scripts/vpc_vm_dns.py +++ b/hostProviders/ibmcloudgen2/scripts/vpc_vm_dns.py @@ -25,6 +25,7 @@ import logging import random import traceback +import json from nextgen_rc_config import NextGenTemplate, NextGenConfig from nextgen_utils import RCInstance @@ -339,11 +340,11 @@ def create_multi_instances(args): try: if hasattr(e, 'response') and hasattr(e.response, 'text'): error_json = json.loads(e.response.text) - ogging.error("Parsed error JSON: %s", json.dumps(error_json, indent=2)) + logging.error("Parsed error JSON: %s", json.dumps(error_json, indent=2)) except: pass - newInstance['error'] = f"{message} (code: {code})" + newInstance['error'] = f"{message}. Error Code: {code}" return newInstance return newInstance