elbe-control - Low level interface to elbe Soap Daemon running in initvm
elbe control [options] list_projects elbe control [options] create_project <xmlfile> elbe control [options] build_sysroot <build-dir> elbe control [options] set_pdebuild <project-dir> <pdebuild file> elbe control [options] get_files <build-dir> elbe control [options] set_cdrom <build-dir> <iso-img> elbe control [options] reset_project <build-dir> elbe control [options] list_users elbe control [options] wait_busy <build-dir> elbe control [options] set_xml <build-dir> <xmlfile> elbe control [options] del_project <build-dir> elbe control [options] build_pbuilder <build-dir> elbe control [options] build <build-dir> elbe control [options] get_file <build-dir> <filename> elbe control [options] dump_file <build-dir> <filename> elbe control [options] shutdown_initvm
Low Level interface to control an elbe daemon running inside an initvm. It allows to submit xml files etc.
For the high level interface, see elbe initvm
Please take notice, that a single user can only have a single project opened inside the soap server. So it is not possible to have a single user build 2 projects at once.
You can only wait on the project, that you are currently building.
|ip or hostname of the elbe-deamon (defaults to localhost, which is the default, where an initvm would be listening).|
|--port <N>||Port of the soap interface on the elbe-daemon.|
|Username to use for login (defaults to root).|
|Password for login (defaults to foo).|
|--retries <N>||How many times to retry the connection to the server before giving up (default is 10 times, yielding 10 seconds).|
|--build-bin||Build binary repository CDROM, for exact reproduction.|
|Build source CDROM.|
|Output downloaded files to <directory>.|
- List projects available on the elbe daemon.
- create_project <xmlfile>
Create a new project on soap server. <xmlfile> is uploaded, and a new build-dir is created.
The name of the created <build-dir> is printed to stdout, for further reference in subsequent commands.
- build_sysroot <build-dir>
- Build a sysroot for the specified project.
The sysroot can be used with a toolchain for cross-compiles.
set_pdebuild <build-dir> <pdebuild file>
Build a Debian Project using a pbuilder.
The pdebuild file needs to be a .tar.gz archive of a project containing a ./debian folder with a valid debianization.
- The generated debian packages are stored inside the initvm.
- Use get_files to retrieve them.
- get_files <build-dir>
Get list of files in the <build-dir>.
If the –output option is specified, the files are downloaded to the directory specified in the option.
- set_cdrom <build-dir> <iso-img>
- Set the cdrom iso image. The <iso-img> is uploaded into the intivm. And the source.xml in the <build-dir> is modified, that it builds from the cdrom mirror now.
- reset_project <build-dir>
Reset project database status for <build-dir>.
When the database becomes inconsistent, this allows us to access an otherwise blocked project again.
Use with care.
- List configured users. Only admins may use this command.
- wait_busy <build-dir>
- Wait, while <build-dir> is busy.
- set_xml <build-dir> <xmlfile>
- Upload a new xml File into the given <build-dir>. This is most likely going to change the status of the project to needs_rebuild.
- del_project <build-dir>
- Delete project in <build-dir>
- build_pbuilder <build-dir>
- Build a pbuilder environment for the given project <build-dir>.
- build <build-dir>
- Trigger building the project. Status will change to busy.
- get_file <build-dir> <filename>
- Download a single file from the project.
- dump_file <build-dir> <filename>
- Dump a single File from the project to stdout.
- Make the initvm shutdown.
List current Projects
$ elbe control list_projects /var/cache/elbe/982d64de-e69f-48c7-8942-66d8d480f3dc rescue image 1.0 build_done 2015-06-08 15:29:29.613620 /var/cache/elbe/dd37a03e-31bd-45db-afd4-fc51d51fa90a rescue image 1.0 build_done 2015-06-09 08:53:26.658500 /var/cache/elbe/8d62928f-4e75-47cf-aec9-d2365ca59003 rescue image 1.0 build_done 2015-06-09 09:14:15.371456
Create a new Project, trigger build, and wait till it finishes.
$ elbe control create_project examples/rescue.xml /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f $ elbe control build /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f $ elbe control wait_busy /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f project still busy, waiting project still busy, waiting ... project still busy, waiting $ elbe control get_files /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f source.xml (Current source.xml of the project) rescue.cpio (Image) validation.txt (Package list validation result) elbe-report.txt (Report) log.txt (Log file)
Part of the elbe1 suite