action #69997

Streamline "restart" and "duplicate" routes of the REST-API

Added by mkittler 5 months ago. Updated 5 months ago.

Feature requests
Target version:
Start date:
Due date:
% Done:


Estimated time:


status quo

  • The "restart" route is used when one restarts a job via the web UI and therefore also the route I suggest to use when using the REST-API directly.
  • The "duplicate" route also exists but is at this point ironically almost a duplicate of the "restart" route.
  • The "duplicate" route is still used (see audit log on o3 and OSD, filter for event:job_duplicate).
    • The worker uses the "duplicate" route when a job has been aborted because the worker service is stopped.

acceptance criteria

  • AC0: Make the "duplicate" route an alias for the "restart" route using the same code internally.
  • AC1: Backwards compatibility of any route must not be broken. (Except for the event currently emitted by the "duplicate" route. It is not used and may be dropped/replaced. The parameter dup_type_auto can likely be ignored as well because it doesn't seem so have any effect anymore.)

historical remarks

According to the commits 1c7de4b2ce and 6b48bd8a72 "restart" was there before. According to git show 6b48bd8a72:lib/OpenQA/modules/ "restart" meant at the time aborting the job and setting it back to scheduled. Only "duplicate" would create a new job. That explains why "duplicate" was added in the first place.


  • The specific functions I'm talking about are OpenQA::WebAPI::Controller::API::V1::Job::restart and OpenQA::WebAPI::Controller::API::V1::Job::duplicate.

Related issues

Related to openQA Project - action #69871: Improve error handling when restarting jobsResolved2020-08-11


#1 Updated by mkittler 5 months ago

  • Related to action #69871: Improve error handling when restarting jobs added

#2 Updated by mkittler 5 months ago

  • Description updated (diff)

#3 Updated by cdywan 5 months ago

It might be worth making the event work as a hot fix? Just to be able to confirm that an alias would be useful, or if we could drop it afterall... although of course it could be used on other instances as well.

#4 Updated by mkittler 5 months ago

  • Description updated (diff)

#5 Updated by mkittler 5 months ago

cdywan I looked at the code a little bit more for the error handling ticket. I've noticed that the event is actually generated and shows up in the audit log (see updated ticket description). I've been searching for openqa_job_duplicate but it is just job_duplicate in the further occurrences.

#6 Updated by mkittler 5 months ago

  • Status changed from New to In Progress

I've been working on this issue now because when improving the error handling (see #69871) I don't want to have to care about both routes. Besides, the duplicate route missed an explicit test.


#7 Updated by mkittler 5 months ago

  • Assignee set to mkittler

#8 Updated by okurz 5 months ago

  • Category set to Feature requests
  • Target version set to Ready

#9 Updated by mkittler 5 months ago

  • Status changed from In Progress to Resolved

PR has been merged so I'm closing the ticket. (Reopen it if it causes any trouble in practice.)

Also available in: Atom PDF