From efd0de04b5e806bec00175f0241614297a4598bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=90=AF=E8=88=AA?= <101104760+ZhangSetSail@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:14:34 +0800 Subject: [PATCH] fix: change install probe check (#1476) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张启航 <101104760+ZhangSetSail@users.noreply.github.com> --- console/services/app_config/probe_service.py | 10 ++++---- console/views/recover.py | 24 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 console/views/recover.py diff --git a/console/services/app_config/probe_service.py b/console/services/app_config/probe_service.py index 2d39e8c471..f11955b18e 100644 --- a/console/services/app_config/probe_service.py +++ b/console/services/app_config/probe_service.py @@ -57,26 +57,26 @@ def __check_probe_data(self, data): initial_delay_second = data.get("initial_delay_second", 1) if initial_delay_second is not None: if initial_delay_second < 1: - return 400, "初始等候时间不能小于1秒" + data["initial_delay_second"] = 1 period_second = data.get("period_second", 1) if period_second is not None: if period_second < 1: - return 400, "检测间隔不能小于1秒" + data["period_second"] = 1 timeout_second = data.get("timeout_second", 1) if timeout_second < 1: - return 400, "超时时间不能小于1秒" + data["timeout_second"] = 1 failure_threshold = data.get("failure_threshold", 3) if failure_threshold is not None: if failure_threshold < 1: - return 400, "标志为失败的检测次数不能少于1" + data["failure_threshold"] = 3 success_threshold = data.get("success_threshold", 3) if success_threshold is not None: if success_threshold < 1: - return 400, "标志为成功的检测次数不能少于1" + data["success_threshold"] = 3 return 200, "success" diff --git a/console/views/recover.py b/console/views/recover.py new file mode 100644 index 0000000000..ae159303c4 --- /dev/null +++ b/console/views/recover.py @@ -0,0 +1,24 @@ +from console.repositories.region_repo import region_repo +from console.repositories.team_repo import team_repo +from console.services.app_actions import app_manage_service +from console.services.k8s_resource import k8s_resource_service +from console.views.base import BaseApiView +from www.utils.return_message import general_message +from rest_framework.response import Response + + + +class RegionRecover(BaseApiView): + def post(self, request, *args, **kwargs): + recover_range = request.data.get("recover_range", "all") + region_name = request.data.get("region_name", "all") + + tenant_ids = region_repo.get_tenants_by_region_name(region_name) + tenants = team_repo.get_team_by_team_ids(tenant_ids) + for tenant in tenants: + if recover_range == "all" or recover_range == "component": + app_manage_service.batch_start(region_name, tenant.tenant_name) + if recover_range == "all" or recover_range == "resource": + k8s_resource_service.create_tenant_k8s_resource(region_name, tenant.namespace, tenant.tenant_id) + result = general_message(200, "success", None, bean="成功") + return Response(result, status=200)