diff --git a/console/services/app_config/probe_service.py b/console/services/app_config/probe_service.py index 2d39e8c47..f11955b18 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 000000000..ae159303c --- /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)