From 65be37693f62d5aa0c1bf479fdd8c6207476b084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Er=C3=A8be=20-=20Romain=20Gerard?= Date: Mon, 7 Feb 2022 11:27:27 +0100 Subject: [PATCH] Fix deployment flow (#584) - Multiple stateful services trigger the on_create_check() before service are deployed every time - stateless services were check mulitples times also --- src/cloud_provider/kubernetes.rs | 44 ++++++++++---------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/src/cloud_provider/kubernetes.rs b/src/cloud_provider/kubernetes.rs index 26d846fc..61208239 100644 --- a/src/cloud_provider/kubernetes.rs +++ b/src/cloud_provider/kubernetes.rs @@ -408,18 +408,17 @@ pub fn deploy_environment( "deployment", CheckAction::Deploy, )?; + // check all deployed services - for service in &environment.stateful_services { - let _ = service::check_kubernetes_service_error( - service.on_create_check(), - kubernetes, - service, - &stateful_deployment_target, - &listeners_helper, - "check deployment", - CheckAction::Deploy, - )?; - } + let _ = service::check_kubernetes_service_error( + service.on_create_check(), + kubernetes, + service, + &stateful_deployment_target, + &listeners_helper, + "check deployment", + CheckAction::Deploy, + )?; } // Quick fix: adding 100 ms delay to avoid race condition on service status update @@ -442,13 +441,11 @@ pub fn deploy_environment( "deployment", CheckAction::Deploy, )?; - } - // Quick fix: adding 100 ms delay to avoid race condition on service status update - thread::sleep(std::time::Duration::from_millis(100)); + // Quick fix: adding 100 ms delay to avoid race condition on service status update + thread::sleep(std::time::Duration::from_millis(100)); - // check all deployed services - for service in &environment.stateful_services { + // check all deployed services let _ = service::check_kubernetes_service_error( service.on_create_check(), kubernetes, @@ -460,21 +457,6 @@ pub fn deploy_environment( )?; } - // Quick fix: adding 100 ms delay to avoid race condition on service status update - thread::sleep(std::time::Duration::from_millis(100)); - - for service in &environment.stateless_services { - let _ = service::check_kubernetes_service_error( - service.on_create_check(), - kubernetes, - service, - &stateless_deployment_target, - &listeners_helper, - "check deployment", - CheckAction::Deploy, - )?; - } - Ok(()) }