-
Notifications
You must be signed in to change notification settings - Fork 548
[REST server]Use framework name as job name #2613
[REST server]Use framework name as job name #2613
Conversation
@Gerhut - is there any impact to client side like NNI and VS code extension? |
Theoretically, all API changes are design to be compatible with current version as well as pre-0.7.0 version |
Does PUT method of |
@Gerhut Sounds good, I just created an issue for adding few test cases for current client dependency scenarios. #2616 To make sure any changes we made had been evaluated by these test cases before release. @yds05 @sunqinzheng @sotetsuk - need your helps to outlist all the test cases that are impacting your integration, thanks. |
Sure, it will be rewritten as You could view the test case of this PR and found that few changes. |
I'll check the dependency to my client (https://github.com/sotetsuk/paicli) in this weekend. |
Closes #2439
This is a (theoretical) compatible API change, includes:
Deprecated
/user/:user/jobs
-family APIsRewrite them to
/jobs/:user~:jobname
-family.*: If a namespace is already provided in job name, the
:user
param will be ignored, this is for e2e compatibility: a job created byPOST /user/:user/jobs
with un-namespaced job name would be able to retrieved by the following ways:GET /user/:user/jobs/:jobname
: client may hard coded the job name.GET /user/:user/jobs/:user~:jobname
: client may retrieve the job name from creating response.GET /jobs/:user~:jobname
: the new recommended way.Rewrite
/user/:user/jobs
as/jobs?username=:user
Including
GET
andPOST
requests.The
POST
one is newly added for distinguish with legacy (pre-0.7.0)POST /jobs
APIPOST /jobs
with un-namespaced job name is called, the legacy (pre-0.7.0) job without namespace will be created. This is the compatible way to create a legacy job and have no change.POST /jobs?username=:user
with un-namespaced job name is called, the modern job:user~:jobname
will be created, which is rewritten fromPOST /user/:user/jobs
for compatibility with current version.POST /jobs
with namespaced job name is called, the modern job:jobname
will be created, which is the recommended way.POST /jobs?username=:user
with namespaced job name is called, the user query is ignored, see *Rewrite
/user/:user/jobs/:job
as/jobs/:user~:job
Including
GET
,PUT
,DELETE
(undocumented API)Rewrite
/user/:user1/jobs/:user2~:job
as/jobs/:user2~:job
Including
GET
,PUT
,DELETE
(undocumented API), See *Rewrite
/user/:user/jobs/:job/*
as/jobs/:user~:job/*
Including
GET
,PUT
Rewrite
/user/:user1/jobs/:user2~:job/*
as/jobs/:user2~:job/*
Including
GET
,PUT
, See *When requested job name contains namespace, REST server will request launcher with
UserName
headerThere will be no namespace-wiper in the job responses
Previously, if the job name includes "~", to compatible with pre-0.7.0 legacy job, the namespace will be wiped, which makes the job name in rest-server / webportal differs with other services, now it will not be wiped automatically.