-
Notifications
You must be signed in to change notification settings - Fork 0
Update List
Li Jiang edited this page Mar 17, 2017
·
4 revisions
修改日期 2017/3/17
略有改动,主要是增加了单元测试 ,其他地方的小的改动有 :
- 大部分的URL 在遇到地址时,可以通过~指定自己的家目录,可以使用基于~的绝对路径了
- 对于URL 结尾 的 ‘/’ 进行了处理,现在大部分的URL 结尾可以加 ‘/’ ,也可以不加。 如果有发现API 无法正常解析 ~ 和 结尾的 ‘/’ , 可在Issues 中进行反馈 。
关于单元测试的详细信息会在WIKI 中介绍。
对比过年前的版本有较为多的改动:
- AUTH 模块在成功登录后会在用户~下创建 .newt_cookies 文件 ,worker 可以通过这个文件反过来调用平台的API . (看起来有些奇怪? 主要用在了文件的上传下载上)
- FILE 模块目前移除了对SSH 的依赖, 反过来通过 worker 调用 平台API的方式来进行文件在 API Server (后简称AS) 和 worker nodes 之间的移动。为此添加了一个内部接口 PUT /api/file/<machine_name>/<path=worker-job-id>/?local=True , 用来将worker nodes 上面的文件上传到 api server 上。 (API 外部用户不需要使用) 目前,API Server 基本可以独立部署了,只需要网络联通即可。
- 整理了 JOB 模块的接口形式:
- 提交作业的接口 添加了参数对象 : jobconf , 如果设置了此参数,AS 将根据这个参数来进行资源申请。之前的直接通过脚本内容来进行控制的方式依然可用,但新的方式在具有多种作业系统的环境下会有更好的表现。
- 规范化了作业对象查询结果的返回值,其在代码中以 pandas DataFrame 的格式进行处理,API 返回的结果依然是 json , 不过格式和之前有所不同,根据此API 返回值进行操作时需要进行更改 :
新的返回值示例 :
test api: GET /api/job/<machine>
jump to async
{u'status': u'OK', u'output':
{u'status': {u'4816213': u'Pending', u'4816214': u'Pending'},
u'nodelist': {u'4816213': u'(Priority)', u'4816214': u'(Priority)'},
u'name': {u'4816213': u'job.sh', u'4816214': u'hello'},
u'partition': {u'4816213': u'work', u'4816214': u'work'},
u'user': {u'4816213': u'sysu_hpc_dwu_1', u'4816214': u'sysu_hpc_dwu_1'},
u'time': {u'4816213': u'0:00', u'4816214': u'0:00'},
u'nodes': {u'4816213': 2, u'4816214': 2},
u'id': {u'4816213': u'4816213', u'4816214': u'4816214'}},
u'status_code': 200, u'error': u''}
test api: GET /api/job/<machine>/<jobid>
{u'status': u'OK', u'output':
{u'status': {u'4816216': u'Pending'},
u'tasks': {u'4816216': u''},
u'name': {u'4816216': u'newt_k8lm3_pc'},
u'partition': {u'4816216': u'work'},
u'time': {u'4816216': u'00:00:00'},
u'nodes': {u'4816216': 2.0},
u'id': {u'4816216': u'4816216'},
u'exitcode': {u'4816216': u'0:0'}},
u'status_code': 200, u'error': u''}