def add_service_probe(self, tenant, service, data): code, msg = self.__check_probe_data(data) if code != 200: return code, msg, None probe = probe_repo.get_probe_by_mode(service.service_id, data["mode"]) if probe: return 409, u"已设置过该类型探针", None is_used = 1 if data.get("is_used", 1) else 0 prob_data = { "service_id": service.service_id, "scheme": data.get("scheme", "tcp"), "path": data.get("path", ""), "port": data.get("port"), "cmd": data.get("cmd", ""), "http_header": data.get("http_header", ""), "initial_delay_second": data.get("initial_delay_second", 1), "period_second": data.get("period_second", 3), "timeout_second": data.get("timeout_second", 30), "failure_threshold": data.get("failure_threshold", 3), "success_threshold": data.get("success_threshold", 1), "is_used": is_used, "probe_id": make_uuid(), "mode": data["mode"], } # 真·深拷贝 console_prob = copy.deepcopy(prob_data) prob_data["enterprise_id"] = tenant.enterprise_id logger.debug("create status: {}".format(service.create_status)) if service.create_status == "complete": res, body = region_api.add_service_probe(service.service_region, tenant.tenant_name, service.service_alias, prob_data) logger.debug("add probe action status {0}".format(res.status)) new_probe = probe_repo.add_service_probe(**console_prob) return 200, "success", new_probe
def add_service_probe(self, tenant, service, data): probe = self.create_probe(tenant, service, data) probe = probe.to_dict() # deep copy logger.debug("create status: {}".format(service.create_status)) if service.create_status == "complete": new_probe = copy.deepcopy(probe) new_probe["enterprise_id"] = tenant.enterprise_id res, body = region_api.add_service_probe(service.service_region, tenant.tenant_name, service.service_alias, new_probe) logger.debug("add probe action status {0}".format(res.status)) new_probe = probe_repo.add_service_probe(**probe) return 200, "success", new_probe
def probe(self, probe): probe_repo.delete_service_probe(self.service.service_id) if not probe: return probe.pop("ID") probe_repo.add_service_probe(**probe)