Excerpts from Dan Callaghan's message of 2012-12-20 14:50:15 +1000: > First sketch of an HTTP API below. I don't think I've forgotten > anything...
I've just uploaded a patch series to Gerrit which implements most of this draft API: http://gerrit.beaker-project.org/1703 http://gerrit.beaker-project.org/1704 http://gerrit.beaker-project.org/1705 http://gerrit.beaker-project.org/1706 along with a few supporting changes: http://gerrit.beaker-project.org/1242 http://gerrit.beaker-project.org/1701 http://gerrit.beaker-project.org/1702 As an added bonus, there are also tests covering the existing XML-RPC API. A few things are still missing: * recipe synchronization * "N/A" result type, and attaching URLs to results (as discussed elsewhere on this thread) * API docs for the new harness API * release notes for the log storage change But, I think it's close enough that we could include it as an "experimental" API in 1.0, which people developing harnesses can start working with. Min, how does that sound to you? > 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 > -- Dan Callaghan <dcall...@redhat.com> Software Engineer, Infrastructure Engineering and Development Red Hat, Inc.
signature.asc
Description: PGP signature
_______________________________________________ Beaker-devel mailing list Beaker-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/beaker-devel