def get_mesos_app_deploy_with_post(self, request, project_id, cluster_id, instance_name=None, category="application", field=None, namespace=None): """查询mesos下application和deployment的状态 """ client = MesosClient(request.user.token.access_token, project_id, cluster_id, None) if category == "application": resp = client.get_application_with_post( name=instance_name, field=field or "data.metadata.name,data.metadata.namespace,data.status,data.message", # noqa namespace=namespace, ) else: resp = client.get_deployment_with_post( name=instance_name, field=field or "data.metadata.name,data.metadata.namespace,data.status,data.message", # noqa namespace=namespace, ) if resp.get("code") != ErrorCode.NoError: return False, APIResponse({ "code": resp.get("code") or DEFAULT_ERROR_CODE, "message": resp.get("message") }) return True, resp
def get_mesos_app_status(access_token, project_id, cluster_id, instance_name, namespace, category): client = MesosClient(access_token, project_id, cluster_id, None) field = [ "data.metadata.name", "data.metadata.namespace", ] if category == "application": resp = client.get_application_with_post( name=instance_name, field=",".join(field), namespace=namespace, ) else: resp = client.get_deployment_with_post( name=instance_name, field=",".join(field), namespace=namespace, ) if resp.get("code") != ErrorCode.NoError: return [] return resp.get("data") or []