Excerpts from Dan Callaghan's message of 2012-12-19 16:46:19 +1000:
There are four areas the API needs to cover (that I can think of). The
harness needs to be able to:
* find out what to run
Get recipe XML:
GET /recipes/{recipeid}
Accept: application/xml
* report results and upload logs
Record a task result:
POST /recipes/{recipeid}/tasks/{taskid}/results/
Content-type: application/x-www-form-urlencoded
path=/the/task/result&result=Pass&score=1234&message=It+worked
-> 302 See Other
Location: /recipes/{recipeid}/tasks/{taskid}/results/{resultid}
Upload recipe log:
PUT /recipes/{recipeid}/logs/{path...}
Upload task log:
PUT /recipes/{recipeid}/tasks/{taskid}/logs/{path...}
Upload task-result log:
PUT /recipes/{recipeid}/tasks/{taskid}/results/{resultid}/logs/{path...}
These could accept Content-Range (for partial uploads) and Content-Type
(which we could store and return later).
* extend the watchdog time
Set watchdog to now + X seconds:
POST /recipes/{recipeid}/watchdog
Content-type: application/x-www-form-urlencoded
seconds=X
* synchronize with other recipes in the recipe set
Block until all other recipes in the recipe set (except guest recipes?)
have called this, or until X seconds have elapsed:
POST /recipes/{recipeid}/sync-start?timeout=X
_______________________________________________
Beaker-devel mailing list
Beaker-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/beaker-devel