Brian C. Lane
fdcf839753
Add /compose/status/<uuids> to retrieve details of a specific build
2018-06-11 16:54:58 -07:00
Brian C. Lane
91c6d1525d
Add compose status routes /compose/finished and /compose/failed
...
These will return a list of details about the finished or failed builds.
2018-06-11 16:54:58 -07:00
Brian C. Lane
520177afca
Add /compose/queue to get the status of the build queue
...
This will return a JSON result that includes the waiting builds,
and the running builds.
2018-06-11 16:54:58 -07:00
Brian C. Lane
9fc973366f
Move creating a frozen recipe into recipes.py
...
Also adds .package_names and .module_names properties. Call
recipe.freeze with a list of NEVRA dependencies and it will return a new
Recipe object with all of the packages and modules set to the depsolved
version.
2018-06-11 16:54:58 -07:00
Brian C. Lane
67da4d6971
Add building an image, and the /compose route to start it
...
This adds the ability to build a tar output image. The /compose and
/compose/types API routes are now available.
To start a build POST a JSON body to /compose, like this:
{"recipe_name":"glusterfs", "compose_type":"tar", "branch":"master"}
This will return a unique build id:
{
"build_id": "4d13abb6-aa4e-4c80-a671-0b867e6e77f6",
"status": true
}
which will be used to keep track of the build status (routes for this
do not exist yet).
2018-06-11 16:54:58 -07:00
Brian C. Lane
57d9d40c29
Add documentation for the API routes.
...
Use Sphinx on a CentOS7/RHEL7 system to generate the docs with 'make docs'
2018-06-11 16:54:58 -07:00
Brian C. Lane
916a001d73
Add support for other branches to the routes
...
Passing ?branch=<branch-name> will use the specified branch instead of
master.
The new branch will not exist until a /recipes/new?branch=new-branch
POST is made. At that time the branch will be created based on the
current master branch and the new commit will be added to it.
2018-06-11 16:54:58 -07:00
Martin Pitt
da3616db72
Fix wrong function name in api/v0/recipes/freeze error messages
2018-06-11 16:54:58 -07:00
Brian C. Lane
bae551b7ab
Add filtering and glob support to /modules/list route
2018-06-11 16:54:58 -07:00
Brian C. Lane
6b4bf92e7f
Add /recipes/freeze route and tests.
2018-06-11 16:54:58 -07:00
Brian C. Lane
b8212358bc
Add /recipes/depsolve route and test
2018-06-11 16:54:58 -07:00
Brian C. Lane
a85d0ced8b
Add /projects and /modules API tests
2018-06-11 16:54:58 -07:00
Brian C. Lane
8fee86a5db
Catch ProjectsError and return an error 400 with a message.
2018-06-11 16:54:58 -07:00
Brian C. Lane
23d90ec066
Add /modules/list and /modules/info routes
2018-06-11 16:54:58 -07:00
Brian C. Lane
c3d495fe53
Add /projects/depsolve route
2018-06-11 16:54:58 -07:00
Brian C. Lane
99140b98b9
Add /projects/info route
...
Elements that have no match in yum (metadata) are set to empty dicts.
2018-06-11 16:54:58 -07:00
Brian C. Lane
0819e97646
Add /projects/list route
2018-06-11 16:54:58 -07:00
Brian C. Lane
105679d79d
Add /api/v0/test route
...
Returns a simple string to indicate that the API server is running.
/api/v0/status should be used instead, it provides more detailed info in
JSON format.
2018-06-11 16:54:58 -07:00
Brian C. Lane
1d53d00532
Add limit/offset to recipes/list
2018-06-11 16:54:58 -07:00
Brian C. Lane
2cd4fcfd88
Add error message for offset/limit type errors
2018-06-11 16:54:58 -07:00
Brian C. Lane
9ca9bfe46f
Add error logging to api/v0.py
...
These will end up in the /var/log/lorax-composer/composer.log
2018-06-11 16:54:58 -07:00
Brian C. Lane
d701120d90
Add /recipes/diff route and tests
2018-06-11 16:54:57 -07:00
Brian C. Lane
a76e95dcb5
Add POST /recipes/tag/ route and tests
2018-06-11 16:54:57 -07:00
Brian C. Lane
3f4140d5d3
Add POST /recipes/undo route and tests
2018-06-11 16:54:57 -07:00
Brian C. Lane
639d325a0c
Change read_recipe_commit to use the recipe name
...
Callers really shouldn't need to know the details of the filenames, so
change it to convert it internally.
2018-06-11 16:54:57 -07:00
Brian C. Lane
c294b7747d
Add DELETE /recipes/delete/<recipe_name> route and tests
...
Also add numbering to the tests so that they are executed in the
expected order.
2018-06-11 16:54:57 -07:00
Brian C. Lane
6e453e70dc
Add DELETE /recipes/workspace/<recipe_name> route and tests
...
This will delete the workspace copy of the recipe.
2018-06-11 16:54:57 -07:00
Brian C. Lane
72b4c4fe28
Add POST /recipes/workspace route
...
Also fix use of workspace in /recipes/info (was using filename instead
of recipe name and logic for changed was backwards).
2018-06-11 16:54:57 -07:00
Brian C. Lane
711cdf53b3
Add /recipes/new route and tests
...
This handles json data when the mime type is "application/json" and toml
recipes when it is "text/x-toml"
2018-06-11 16:54:57 -07:00
Brian C. Lane
02db2afb2b
Add /recipes/changes route with tests.
2018-06-11 16:54:57 -07:00
Brian C. Lane
1e7335a506
Add /recipes/info route and tests
2018-06-11 16:54:57 -07:00
Brian C. Lane
b6fb22133c
Add /recipes/list route and tests
...
Includes adding a lock for access to the git repo from the API.
2018-06-11 16:54:57 -07:00
Brian C. Lane
bfc9c6913f
Add pylorax.api.recipes code for handling the Recipe's Git repository
2018-06-11 16:54:57 -07:00
Brian C. Lane
2008a413b6
lorax-composer initial commit
...
The lorax-composer program will launch a BDCS compatible API server
using Flask and Gevent. Currently this is a skeleton application with
only one active route (/api/v0/status).
The API code lives in ./src/pylorax/api/v0.py with related code in other
pylorax/api/* modules.
2018-06-11 16:54:57 -07:00