From afe832449dd898d3514c2549ef9937d749f78d32 Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Wed, 11 Aug 2021 05:29:57 +0300 Subject: [PATCH 1/2] NNCP: Fail when reason is NoMatchingNode No need to wait 480 seconds if the reason is NoMatchingNode --- ocp_resources/node_network_configuration_policy.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ocp_resources/node_network_configuration_policy.py b/ocp_resources/node_network_configuration_policy.py index c6483d8102..d6befb31ad 100644 --- a/ocp_resources/node_network_configuration_policy.py +++ b/ocp_resources/node_network_configuration_policy.py @@ -32,6 +32,7 @@ class Reason: CONFIGURING = "ConfigurationProgressing" SUCCESS = "SuccessfullyConfigured" FAILED = "FailedToConfigure" + NO_MATCHING_NODE = "NoMatchingNode" def __init__( self, @@ -311,6 +312,11 @@ def wait_for_status_success(self): LOGGER.info("NNCP configured Successfully") return sample + if sample == self.Conditions.Reason.NO_MATCHING_NODE: + raise NNCPConfigurationFailed( + f"Reason: {self.Conditions.Reason.NO_MATCHING_NODE}" + ) + if sample == self.Conditions.Reason.FAILED: for failed_nnce in self._get_failed_nnce(): nnce_dict = failed_nnce.instance.to_dict() From 5ed1995e7c0022c969dbeffa5b3b6c3165c19b1f Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Thu, 12 Aug 2021 10:41:58 +0300 Subject: [PATCH 2/2] Reuse vars --- ocp_resources/node_network_configuration_policy.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ocp_resources/node_network_configuration_policy.py b/ocp_resources/node_network_configuration_policy.py index d6befb31ad..6444c2639b 100644 --- a/ocp_resources/node_network_configuration_policy.py +++ b/ocp_resources/node_network_configuration_policy.py @@ -302,6 +302,8 @@ def status(self): return condition["reason"] def wait_for_status_success(self): + failed_condition_reason = self.Conditions.Reason.FAILED + no_match_node_condition_reason = self.Conditions.Reason.NO_MATCHING_NODE # if we get here too fast there are no conditions, we need to wait. self.wait_for_conditions() @@ -312,12 +314,12 @@ def wait_for_status_success(self): LOGGER.info("NNCP configured Successfully") return sample - if sample == self.Conditions.Reason.NO_MATCHING_NODE: + if sample == no_match_node_condition_reason: raise NNCPConfigurationFailed( - f"Reason: {self.Conditions.Reason.NO_MATCHING_NODE}" + f"Reason: {no_match_node_condition_reason}" ) - if sample == self.Conditions.Reason.FAILED: + if sample == failed_condition_reason: for failed_nnce in self._get_failed_nnce(): nnce_dict = failed_nnce.instance.to_dict() for cond in nnce_dict["status"]["conditions"]: @@ -329,9 +331,7 @@ def wait_for_status_success(self): f"NNCE {nnce_dict['metadata']['name']}: {error[0]}" ) - raise NNCPConfigurationFailed( - f"Reason: {self.Conditions.Reason.FAILED}" - ) + raise NNCPConfigurationFailed(f"Reason: {failed_condition_reason}") except (TimeoutExpiredError, NNCPConfigurationFailed): LOGGER.error("Unable to configure NNCP for node")