def delete_model(token, uuid, resultcode='204'): """ 删除模型 :param token: :param uuid: :return: """ req = api_model_m.get_delete_model_req(token, uuid) send_req.send_request(req, resultcode)
def delete_model_service(token, uuid): ''' 删除模型服务 :param token: :param uuid: :return: ''' req = api_model_m.get_delete_model_service_req(token, uuid) send_req.send_request(req, '204')
def delete_project_task_by_uuid(token, task_uuid): """ 根据uuid删除任务 :param token: :param task_uuid: :return: """ req = api_project_m.get_delete_task_req(token=token, task_id=task_uuid) send_req.send_request(req, '204')
def stop_model_service(token, uuid): ''' 停止模型服务 :param token: :param uuid: :return: ''' req = api_model_m.get_stop_model_service_req(token, uuid) send_req.send_request(req, '201')
def delete_model_version(token, model_uuid, version_uuid, resultcode='204'): """ 删除模型版本 :param token: :param model_uuid: :param version_uuid: :return: """ req = api_model_m.get_delete_model_version_req(token, model_uuid, version_uuid) send_req.send_request(req, resultcode)
def modity_model_version(token, model_id, version_id, model_path, description='automation test model'): ''' 修改模型版本 :param token: :param model_id: :param model_path: :param description: :return: ''' req = api_model_m.get_modify_model_req(token, model_id, version_id, model_path, description) send_req.send_request(req)
def share_model_and_cancel(token, uuid, share_type, is_public, users=None, groups=None): ''' 共享/取消共享模型 :param token: :param uuid: :param shareType: :param isPublic: :param users: :param groups: :return: ''' req = api_model_m.get_share_model_req(token, uuid, share_type, is_public, users, groups) send_req.send_request(req)
def compose_user_login(l=None): global token req = get_compose_user_login_req() if l is not None: resp = l.client.request(method=req.method, headers=req.headers, url=req.path, json=req.body) try: result = json.loads(str(resp.content, 'utf-8')) token = f"Bearer {result['accessToken']}" except Exception: print("can not get token!") print('resp is {}'.format(resp.content)) return False else: # on_start执行时调用 resp = send_req.send_request(req) try: token = f"Bearer {resp['accessToken']}" except Exception: print("can not get token!") print('resp is {}'.format(resp.content)) return False
def get_user_detail(token, uuid): req = api_user_m.get_user_detail_req(token=token, uuid=uuid) resp = send_req.send_request(req) logger.log_info(f'user detail is: {resp}.') return resp
def edit_user(token, uuid, **kwargs): """ 编辑用户 Args: token: 管理员用户token uuid: 用户uuid **kwargs: 包含可选参数fullname, active, roles, groups, expires Returns: resp: updated user info """ res = get_user_detail(token, uuid) fullname = kwargs['fullname'] if kwargs.get('fullname') else res['fullName'] if kwargs.get('active') is not None: active = kwargs['active'] else: active = res['isActive'] roles = kwargs['roles'] if kwargs.get('roles') else res['roles'] groups = kwargs['groups'] if kwargs.get('groups') else res['groups'] if kwargs.get('expires'): expires = kwargs.get('expires') else: # 默认有效期一年 expires = date_time.get_delta_datetime(years=1) req = api_user_m.edit_user_req(token, uuid, fullname, active, roles, groups, expires) resp = send_req.send_request(req) return resp
def create_model(token, model_name, labels=['autotest'], description='automation test', model_type='auto',users=None, groups=None, share_type="PRIVATE", is_public=False, resultcode='201'): """ 创建新模型 :param token: :param model_name: :param description: :param labels: list of string :return: """ req = api_model_m.get_create_model_req(token=token, model_name=model_name, labels=labels, description=description, model_type=model_type,users=users, groups=groups, share_type=share_type, is_public=is_public) if resultcode is '201': res = send_req.send_request(req, resultcode) return res['uuid'] else: send_req.send_request(req, resultcode) return True
def get_token_simple(username=config.user_name_a, userpwd=config.user_passwd_a, return_code='200'): req = api_user_m.get_user_login_req(username, userpwd) resp = send_req.send_request(req, result_code=return_code) if return_code == '200': token = f"Bearer {resp.get('accessToken')}" return token else: return resp.get("message", '')
def get_skyflow_list(token, name=None, process_type=None, start=1, count=1000, order='desc', order_by='createdAt'): """ 获取skyflow列表 Args: token: 用户token name: skyflow项目名称 process_type: process类型, 例如public start: 起始编号 count: 截至编号 order: 排序方式, 升序或降序 order_by: 排序依据 Returns: skyflow_list: skyflow列表, 包含模板类型在内. """ req = api_compose.get_compose_skyflow_list_req(token, name=name, process_type=process_type, start=start, count=count, order=order, order_by=order_by) skyflow_list = send_req.send_request(req) req = api_compose.get_compose_skyflow_list_req(token, name=name, process_type=process_type, start=start, count=count, order=order, order_by=order_by, is_template=True) skyflow_list += send_req.send_request(req) return skyflow_list
def cancel_shared_file(token, share_uuid): ''' 取消分享文件 :param token: :param share_uuid: 文件分享关系的UUID :return: ''' req = api_file_m.get_cancel_shared_file_req(token=token, share_uuid=share_uuid) res = send_req.send_request(req, '204') return res
def delete_resource_template(token, uuid): """ :param token: :param uuid: :return: """ req = api_resource_m.get_delete_resource_template_req(token, uuid) res = send_req.send_request(req, '204') return res
def get_version_list_by_model(token, model_id, expected_result='200'): """ 获取model下的version列表 :param token: :param model_id: :param expected_result: :return: """ req = api_model_m.get_version_from_model_req(token, model_id) res = send_req.send_request(req, expected_result)
def entry_project_by_uuid(token, uuid): ''' 进入项目页面 :param token: :param uuid: :return: ''' req = api_project_m.get_entry_project_req(token=token, uuid=uuid) res = send_req.send_request(req) return res
def delete_user_group(token, group_uuid, return_code='204'): """ 删除用户组 :param token: :param group_uuid: :param return_code: :return: """ req = api_user_m.get_delete_user_group_req(token, group_uuid) res = send_req.send_request(req, return_code)
def get_model_info(token, model_uuid, resultcode='200'): ''' 查看模型信息 :param token: :param model_uuid: :return: ''' req = api_model_m.get_model_info_req(token, model_uuid) res = send_req.send_request(req, resultcode) return res
def get_project_task_info_by_uuid(token, task_uuid): """ 根据uuid获取任务信息 :param token: :param task_uuid: :return: """ req = api_project_m.get_task_info_req(token=token, task_id=task_uuid) res = send_req.send_request(req, '200') return res
def get_user_group_detail(token, group_uuid): """ 获取指定用户组详细信息 :param token: :param group_uuid: :return: """ req = api_user_m.get_user_group_detail_req(token, group_uuid) res = send_req.send_request(req) return res
def stop_project_task(token, task_uuid): """ 停止任务 :param token: :param task_uuid: :return: """ req = api_project_m.get_stop_task_req(token=token, task_id=task_uuid) res = send_req.send_request(req, '202') return res['uuid']
def delete_project_by_uuid(token, uuid, result_code='204'): """ 按uuid删除项目 :param token: :param uuid: :return: """ req = api_project_m.get_delete_project_req(token=token, uuid=uuid) res = send_req.send_request(req, result_code) return res
def offline_model_version(token, model_id, version_id, expected_result='200'): """ 下线/停止模型版本 :param token: :param model_id: :param version_id: :param expected_result: :return: """ req = api_model_m.get_offline_version_req(token, model_id, version_id) res = send_req.send_request(req, expected_result)
def upload_file(token, file, target): ''' 上传文件 :param token: :param file: 上传文件及其绝对路径 :param target: 上传到ceph的目的地址(相对路径) :return: ''' req = api_file_m.get_upload_file_req(token=token, file=file, target=target) res = send_req.send_request(req) return res['files']
def move_file(token, sourcePaths, targetPath): ''' 移动文件/文件夹 :param token: :param sourcePaths: :param targetPath: :return: ''' req = api_file_m.get_move_file_req(token=token, sourcePaths=sourcePaths, targetPath=targetPath) res = send_req.send_request(req) return res
def get_uuid_by_username(token, username): req = api_compose.get_compose_user_list_req(token=token, username=username) res = send_req.send_request(req) if res['total'] == 0: logger.log_debug("Can not find user {}".format(username)) else: for user in res['users']: if user['username'] == username: return user['uuid'] return ''
def get_user_ceph_path(token): ''' 获取用户文件存储的ceph路径 :param token: :param description: :return: ''' req = api_storage_m.get_user_volume_id_req(token=token) res = send_req.send_request(req) path = res["volumes"][0]["path"] return path
def get_model_version_info(token, model_uuid, version_uuid, resultcode='200'): """ 查看模型版本信息 :param token: :param model_uuid: :param version_uuid: :return: """ req = api_model_m.get_model_version_info_req(token, model_uuid, version_uuid) res = send_req.send_request(req, resultcode) return res
def copy_file(token, sourcePaths, targetPath): ''' 拷贝文件/文件夹 :param token: :param sourcePaths: :param targetPath: :return: ''' req = api_file_m.get_copy_file_req(token=token, sourcePaths=sourcePaths, targetPath=targetPath) res = send_req.send_request(req, '202') return res