def delete(self): request_debug(r, logger) args = host_delete_parser.parse_args() host_id = args.get('host_id') # if "id" in r.form: # host_id = r.form["id"] # elif "id" in request_data: # host_id = request_data.get("id") # else: # error_msg = "host delete without enough data" # logger.warning(error_msg) # return make_fail_resp(error=error_msg, data=r.form) if not host_id: error_msg = "缺少参数" logger.warning(error_msg) return make_fail_resp(error=error_msg) logger.debug("host delete with id={0}".format(host_id)) try: host = HostModel.objects.get(id=host_id) except Exception: logger.warning("Cannot delete non-existed host") return make_fail_resp(error='无法删除不存在的主机') if ClusterModel.objects(host=host).count() > 0: return {'stat': 1000, 'msg': '主机存在已创建的区块链,无法删除'} if host_handler.delete(host): return make_ok_resp() else: error_msg = "Failed to delete host {}".format(host_id) logger.warning(error_msg) return make_fail_resp(error=error_msg)
def host_delete(): request_debug(r, logger) if "id" not in r.form or not r.form["id"]: error_msg = "host delete without enough data" logger.warning(error_msg) return make_fail_response(error=error_msg, data=r.form) else: logger.debug("host delete with id={0}".format(r.form["id"])) if host_handler.delete(id=r.form["id"]): return make_ok_response() else: error_msg = "Failed to delete host {}".format(r.form["id"]) logger.warning(error_msg) return make_fail_response(error=error_msg)
def host_delete(): request_debug(r, logger) request_data = r.get_json(force=True, silent=True) if "id" in r.form: host_id = r.form["id"] elif "id" in request_data: host_id = request_data.get("id") else: error_msg = "host delete without enough data" logger.warning(error_msg) return make_fail_resp(error=error_msg, data=r.form) logger.debug("host delete with id={0}".format(host_id)) if host_handler.delete(id=host_id): return make_ok_resp() else: error_msg = "Failed to delete host {}".format(host_id) logger.warning(error_msg) return make_fail_resp(error=error_msg)
def host_delete(): request_debug(r, logger) request_data = r.get_json(force=True, silent=True) if "id" in r.form: host_id = r.form["id"] elif "id" in request_data: host_id = request_data.get("id") else: error_msg = "host delete without enough data" logger.warning(error_msg) return make_fail_resp(error=error_msg, data=r.form) logger.debug("host delete with id={0}".format(host_id)) if host_handler.delete(id=host_id): return make_ok_resp() else: error_msg = "Failed to delete host {}".format(host_id) logger.warning(error_msg) return make_fail_resp(error=error_msg)
def host_api(): request_debug(r, logger) if r.method == 'GET': if "id" not in r.args and "id" not in r.form: logger.warn("host get without enough data") response_fail["error"] = "host GET without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: host_id = request_get(r, "id") result = host_handler.get_by_id(host_id) if result: return jsonify(result), CODE_OK else: logger.warn("host not found with id=" + host_id) response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST elif r.method == 'POST': name, daemon_url, capacity, log_type, log_server, log_level = \ r.form['name'], r.form['daemon_url'], r.form['capacity'], \ r.form['log_type'], r.form['log_server'], r.form['log_level'] if "autofill" in r.form and r.form["autofill"] == "on": autofill = "true" else: autofill = "false" if "schedulable" in r.form and r.form["schedulable"] == "on": schedulable = "true" else: schedulable = "false" logger.debug("name={}, daemon_url={}, capacity={}" "fillup={}, schedulable={}, log={}/{}".format( name, daemon_url, capacity, autofill, schedulable, log_type, log_server)) if not name or not daemon_url or not capacity or not log_type: logger.warn("host post without enough data") response_fail["error"] = "host POST without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: result = host_handler.create(name=name, daemon_url=daemon_url, capacity=int(capacity), autofill=autofill, schedulable=schedulable, log_level=log_level, log_type=log_type, log_server=log_server) if result: logger.debug("host creation successfully") return jsonify(response_ok), CODE_CREATED else: logger.debug("host creation failed") response_fail["error"] = "Failed to create host {}".format( r.form["name"]) return jsonify(response_fail), CODE_BAD_REQUEST elif r.method == 'PUT': if "id" not in r.form: logger.warn("host put without enough data") response_fail["error"] = "host PUT without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: id, d = r.form["id"], {} for k in r.form: if k != "id": d[k] = r.form.get(k) result = host_handler.update(id, d) if result: logger.debug("host PUT successfully") return jsonify(response_ok), CODE_OK else: logger.debug("host PUT failed") response_fail["error"] = "Failed to update host {}".format( result.get("name")) return jsonify(response_fail), CODE_BAD_REQUEST elif r.method == 'DELETE': if "id" not in r.form or not r.form["id"]: logger.warn("host operation post without enough data") response_fail["error"] = "host delete without enough data" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST else: logger.debug("host delete with id={0}".format(r.form["id"])) if host_handler.delete(id=r.form["id"]): return jsonify(response_ok), CODE_OK else: response_fail["error"] = "Failed to delete host {}".format( r.form["id"]) return jsonify(response_fail), CODE_BAD_REQUEST else: response_fail["error"] = "unknown operation method" response_fail["data"] = r.form return jsonify(response_fail), CODE_BAD_REQUEST
def host_delete(): request_debug(r, logger) request_data = r.get_json(force=True, silent=True) # add operating log cur_time = datetime.datetime.utcnow() opName = sys._getframe().f_code.co_name opObject = "Host" operator = "admin" opResult = {} op_log_handler = OperatorLogHandler() opDetails = {} if "id" in r.form: host_id = r.form["id"] elif "id" in request_data: host_id = request_data.get("id") opDetails['host_id'] = host_id else: error_msg = "host delete without enough data" logger.warning(error_msg) opResult['resDes'] = "ERROR" opResult['resCode'] = 404 opResult['errorMsg'] = error_msg op_log_handler.create(opDate=cur_time, opName=opName, opObject=opObject, opResult=opResult, operator=operator) return make_fail_resp(error=error_msg, data=r.form, code=404) logger.debug("host delete with id={0}".format(host_id)) if host_handler.delete(id=host_id): opResult['resDes'] = "OK" opResult['resCode'] = 200 opResult['errorMsg'] = '' op_log_handler.create(opDate=cur_time, opName=opName, opObject=opObject, opResult=opResult, operator=operator, opDetails=opDetails) return make_ok_resp() else: error_msg = "Failed to delete host {}".format(host_id) logger.warning(error_msg) opResult['resDes'] = "ERROR" opResult['resCode'] = 500 opResult['errorMsg'] = error_msg op_log_handler.create(opDate=cur_time, opName=opName, opObject=opObject, opResult=opResult, operator=operator, opDetails=opDetails) return make_fail_resp(error=error_msg, code=500)