From 22fad07ae61c93a80bd8b3182a98ada19c06d8c6 Mon Sep 17 00:00:00 2001 From: Jeechu Deka Date: Wed, 19 Aug 2020 23:11:15 +0530 Subject: [PATCH 1/3] avoid passing botocore client into sub process --- cloudlift/deployment/deployer.py | 10 +++++----- cloudlift/deployment/service_updater.py | 3 --- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/cloudlift/deployment/deployer.py b/cloudlift/deployment/deployer.py index 3e7e1b6d..cfb67ad9 100644 --- a/cloudlift/deployment/deployer.py +++ b/cloudlift/deployment/deployer.py @@ -1,19 +1,19 @@ -import sys from time import sleep -from cloudlift.exceptions import UnrecoverableException from colorclass import Color from terminaltables import SingleTable -from cloudlift.config import ParameterStore -from cloudlift.deployment.ecs import DeployAction +from cloudlift.config import ParameterStore, get_client_for from cloudlift.config.logging import log_bold, log_err, log_intent, log_with_color +from cloudlift.deployment.ecs import DeployAction +from cloudlift.exceptions import UnrecoverableException -def deploy_new_version(client, cluster_name, ecs_service_name, +def deploy_new_version(cluster_name, ecs_service_name, deploy_version_tag, service_name, sample_env_file_path, env_name, color='white', complete_image_uri=None): env_config = build_config(env_name, service_name, sample_env_file_path) + client = get_client_for('ecs', env_name) deployment = DeployAction(client, cluster_name, ecs_service_name) if deployment.service.desired_count == 0: desired_count = 1 diff --git a/cloudlift/deployment/service_updater.py b/cloudlift/deployment/service_updater.py index 6c0ce48c..b5a2d6f1 100644 --- a/cloudlift/deployment/service_updater.py +++ b/cloudlift/deployment/service_updater.py @@ -14,7 +14,6 @@ get_region_for_environment) from cloudlift.config import get_cluster_name, get_service_stack_name from cloudlift.deployment import deployer -from cloudlift.deployment.ecs import EcsClient from cloudlift.config.logging import log_bold, log_err, log_intent, log_warning DEPLOYMENT_COLORS = ['blue', 'magenta', 'white', 'cyan'] @@ -45,7 +44,6 @@ def run(self): log_bold("Checking image in ECR") self.upload_artefacts() log_bold("Initiating deployment\n") - ecs_client = EcsClient(None, None, self.region) jobs = [] for index, service_name in enumerate(self.ecs_service_names): @@ -56,7 +54,6 @@ def run(self): process = multiprocessing.Process( target=deployer.deploy_new_version, args=( - ecs_client, self.cluster_name, service_name, self.version, From 622312cec19a79659a72254fb478a402f64f0cbd Mon Sep 17 00:00:00 2001 From: Jeechu Deka Date: Wed, 19 Aug 2020 23:31:04 +0530 Subject: [PATCH 2/3] update version --- cloudlift/version/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloudlift/version/__init__.py b/cloudlift/version/__init__.py index 7bd82a81..b98a2e97 100644 --- a/cloudlift/version/__init__.py +++ b/cloudlift/version/__init__.py @@ -1 +1 @@ -VERSION = '1.4.3' \ No newline at end of file +VERSION = '1.4.4' \ No newline at end of file From c516fcd78f32bcc9943bc8cf1e7564e9d5343d6a Mon Sep 17 00:00:00 2001 From: Jeechu Deka Date: Wed, 19 Aug 2020 23:37:13 +0530 Subject: [PATCH 3/3] use correct ecs client --- cloudlift/deployment/deployer.py | 8 ++++---- cloudlift/deployment/service_updater.py | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cloudlift/deployment/deployer.py b/cloudlift/deployment/deployer.py index cfb67ad9..142dc6dc 100644 --- a/cloudlift/deployment/deployer.py +++ b/cloudlift/deployment/deployer.py @@ -3,17 +3,17 @@ from colorclass import Color from terminaltables import SingleTable -from cloudlift.config import ParameterStore, get_client_for +from cloudlift.config import ParameterStore from cloudlift.config.logging import log_bold, log_err, log_intent, log_with_color -from cloudlift.deployment.ecs import DeployAction +from cloudlift.deployment.ecs import DeployAction, EcsClient from cloudlift.exceptions import UnrecoverableException -def deploy_new_version(cluster_name, ecs_service_name, +def deploy_new_version(region, cluster_name, ecs_service_name, deploy_version_tag, service_name, sample_env_file_path, env_name, color='white', complete_image_uri=None): env_config = build_config(env_name, service_name, sample_env_file_path) - client = get_client_for('ecs', env_name) + client = EcsClient(None, None, region) deployment = DeployAction(client, cluster_name, ecs_service_name) if deployment.service.desired_count == 0: desired_count = 1 diff --git a/cloudlift/deployment/service_updater.py b/cloudlift/deployment/service_updater.py index b5a2d6f1..7b5aaf4f 100644 --- a/cloudlift/deployment/service_updater.py +++ b/cloudlift/deployment/service_updater.py @@ -54,6 +54,7 @@ def run(self): process = multiprocessing.Process( target=deployer.deploy_new_version, args=( + self.region, self.cluster_name, service_name, self.version,