From 662bb1a1eff1f91f092c01d6ad21350c92c45b5e Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Tue, 31 Oct 2023 10:42:42 -0400 Subject: [PATCH] handling of OBJECT_EXISTS in nameserver create_host and update_host methods --- src/registrar/models/domain.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/registrar/models/domain.py b/src/registrar/models/domain.py index 18d597204..faec1389a 100644 --- a/src/registrar/models/domain.py +++ b/src/registrar/models/domain.py @@ -277,7 +277,12 @@ class Domain(TimeStampedModel, DomainHelper): return response.code except RegistryError as e: logger.error("Error _create_host, code was %s error was %s" % (e.code, e)) - raise e + # OBJECT_EXISTS is an expected error code that should not raise + # an exception, rather return the code to be handled separately + if response and response.code == ErrorCode.OBJECT_EXISTS: + return response.code + else: + raise e def _convert_list_to_dict(self, listToConvert: list[tuple[str, list]]): """converts a list of hosts into a dictionary @@ -1625,7 +1630,12 @@ class Domain(TimeStampedModel, DomainHelper): return response.code except RegistryError as e: logger.error("Error _update_host, code was %s error was %s" % (e.code, e)) - raise e + # OBJECT_EXISTS is an expected error code that should not raise + # an exception, rather return the code to be handled separately + if response and response.code == ErrorCode.OBJECT_EXISTS: + return response.code + else: + raise e def addAndRemoveHostsFromDomain( self, hostsToAdd: list[str], hostsToDelete: list[str]