Brian C. Lane
78c02dd7e7
Add image size to the compose details
...
If the image is finished include the size of the image file as
"image_size" in the ouput JSON from /compose/finished
2018-06-11 16:54:59 -07:00
Brian C. Lane
b2f5fe2f60
Removed the fixed partition size from composer ks templates
...
The default size is always going to be wrong, so try to estimate a more
reasonable amount of space. This is more complicated than you would
expect, yum's installedsize doesn't take into account the block size of
the filesystem, nor any extra artifacts generated by pre/post scripts.
So in the end we end up with a minimum image size of 1GiB, a partition
that is 40% larger than the estimated space needed, and a disk image
that increases size in 1GiB increments. This is still better than having
a fixed 4GiB / partition that was either too large or too small.
2018-06-11 16:54:59 -07:00
Brian C. Lane
47a3980b12
Fix some pylint warnings
2018-06-11 16:54:59 -07:00
Brian C. Lane
c15f3c89fa
Add the compose type to the output from compose status
2018-06-11 16:54:59 -07:00
Brian C. Lane
423e8cba88
Fix composer-cli handling of log and detail errors.
2018-06-11 16:54:59 -07:00
Brian C. Lane
2481c486a5
Fix a couple of error responses
...
Errors should always be "error:{"msg":"message"}
2018-06-11 16:54:59 -07:00
Brian C. Lane
c58e1994e9
Add missing checks on return value from uuid_status
2018-06-11 16:54:59 -07:00
Brian C. Lane
97eb262d1e
Fix handling of missing STATUS file
...
If lorax-composer is interrupted by ^C it can leave a result directory
without a STATUS file. Don't crash when that happens, just skip the
directory.
2018-06-11 16:54:59 -07:00
Brian C. Lane
258cecf75d
Fix compose types command
...
Missed a function when adding the testmode arguments. Also add
documentation for testmode.
2018-06-11 16:54:59 -07:00
Brian C. Lane
af68a98abe
Add qcow2 image type
...
Very similar to partitioned-disk, image is named disk.qcow2 instead of
disk.img
2018-06-11 16:54:58 -07:00
Brian C. Lane
c5a07ff80f
Update the URL in lorax.spec to point to new Lorax location
...
Moved to https://github.com/weldr/lorax
2018-06-11 16:54:58 -07:00
Brian C. Lane
5d4c550df4
Automatic commit of package [lorax] release [19.7.11-1].
...
Created by command:
/usr/bin/tito tag
2018-06-11 16:54:58 -07:00
Brian C. Lane
5446cad1b0
Fix prettyDiffEntry output
...
It was returning old -> old for Description and Version, not old -> new
2018-06-11 16:54:58 -07:00
Brian C. Lane
6560cc6f27
Fix the prettyDiffEntry test so that it fails correctly
2018-06-11 16:54:58 -07:00
Brian C. Lane
9e16e1c0c5
Default composer-cli log should be in ./composer-cli.log
...
Multiple users may use the tool, each one gets their own logfile.
2018-06-11 16:54:58 -07:00
Brian C. Lane
73011c6bb0
Update Sphinx documentation for composer.cli
2018-06-11 16:54:58 -07:00
Brian C. Lane
114f7f348e
Update docs/ with lorax, livemedia-creator, and product-images
...
Copied from master and edited for the RHEL7 branch.
2018-06-11 16:54:58 -07:00
Brian C. Lane
579e6840f8
Install the composer-cli library and include it in the rpm
2018-06-11 16:54:58 -07:00
Brian C. Lane
5c878a695f
Add --test option to composer-cli
...
The API server will run a mock compose when a test mode is passed to it.
Passing a 1 will queue a build, pretend to run the build for 10 seconds,
and then fail. Passing a 2 will do the same thing, but it will finish as
if it was successful. All results are available but the output file is
only the string "TEST IMAGE"
This should allow running tests inside docker without calling anaconda
(becuase it will not run in docker, it needs a VM).
2018-06-11 16:54:58 -07:00
Brian C. Lane
1a4a4defcc
Make sure lorax-composer tests only use temporary directories
...
It was using /var/tmp/composer/, now it places everything under a
temporary directory that is removed when it is finished.
2018-06-11 16:54:58 -07:00
Brian C. Lane
597c19466e
Add some tests for composer-cli
...
These tests a fairly minimal, testing things that can be tested without
setting up a full API server.
2018-06-11 16:54:58 -07:00
Brian C. Lane
d4b99b5ee9
Refactor get_filename so it can be tested
...
Just pass in the headers instead of the whole response object so that it
can be tested without needing an actual server.
2018-06-11 16:54:58 -07:00
Brian C. Lane
d0676dbf7c
Fix bug in prettyDiffEntry output
...
It was not handling adding or removing modules correctly.
2018-06-11 16:54:58 -07:00
Brian C. Lane
aa076ee53b
composer-cli: Handle download errors
...
The API will return an error 400 with a json error object if the
download fails, catch this and report the error to the user without a
traceback.
2018-06-11 16:54:58 -07:00
Brian C. Lane
de604b37a6
Add a pid file for lorax-composer
...
This will prevent accidentally running more than 1 instance.
Uses /run/lorax-composer.pid and checks to make sure that the PID
written to it isn't stale.
2018-06-11 16:54:58 -07:00
Brian C. Lane
7ad9939fac
Cleanup more /tmp/ files when running with --no-virt
...
Make extra sure anaconda starts with a clean slate.
2018-06-11 16:54:58 -07:00
Brian C. Lane
e425b7ccca
lorax-composer: Update the yum metadata at startup
...
Otherwise it can become out of date and depsolving will fail.
2018-06-11 16:54:58 -07:00
Brian C. Lane
2e61bc8bf9
Fix the error responses from lorax-composer
...
They are now all consistent, returning status 400, including a json
object with status=flase, and an error message inside the error object.
2018-06-11 16:54:58 -07:00
Brian C. Lane
60874d0197
Check to make sure image file exists for /compose/image/
...
Return an error 400 with an error message if it is missing.
2018-06-11 16:54:58 -07:00
Brian C. Lane
37c982b66e
Install anaconda-tui in the test Docker image
2018-06-11 16:54:58 -07:00
Brian C. Lane
dbe9c15ee1
Add UUID prefix to /compose/image/ download filename.
...
This will make sure it is received as a unique filename, not just
'disk.img' when downloading it.
2018-06-11 16:54:58 -07:00
Brian C. Lane
56766e794f
Add support for composer-cli compose commands.
...
This adds all the commands needed to start, monitor, delete, and
download a compose.
2018-06-11 16:54:58 -07:00
Brian C. Lane
9ba24f305d
Add support for modules list, projects list, and projects info
2018-06-11 16:54:58 -07:00
Brian C. Lane
d2f784e5da
Add composer-cli utility and implement the recipes commands
...
composer-cli --help shows the commands.
Output defaults to human readable, but raw json can be displayed by
passing --json
2018-06-11 16:54:58 -07:00
Brian C. Lane
79fa1c957e
Add ?format=toml support to /recipes/freeze
2018-06-11 16:54:58 -07:00
Brian C. Lane
0ea4eb5206
Fix epoch to ouput an int instead of a str
...
Also updates the tests.
2018-06-11 16:54:58 -07:00
Brian C. Lane
413964b92f
Add ?format=toml support to /recipes/info/
...
This will return the recipe in TOML format. Note that this does not
include any extra information about errors. Just the recipes, any
unrecognized recipe names will be skipped.
2018-06-11 16:54:58 -07:00
Brian C. Lane
b0d91204a4
Automatic commit of package [lorax] release [19.7.10-1].
...
Created by command:
/usr/bin/tito tag
2018-06-11 16:54:58 -07:00
Brian C. Lane
6796861773
Add the partitioned-disk.ks file for the new output type
2018-06-11 16:54:58 -07:00
Brian C. Lane
41fd9ab19c
lorax-composer: Add partitioned-disk output support
...
Also add more documentation on lorax-composer, including how to add
support for new output types.
2018-06-11 16:54:58 -07:00
Brian C. Lane
4ae5944567
Add live-iso output support to lorax-composer
...
This ended up requiring more intrusive changes, but it should be the
most complex of the output types. After moving the core of
livemedia-creator into a function I added more settings to compose_args,
and more defaults to start_build. It now pulls the release information
from /etc/os-release, and produces a bootable .iso
2018-06-11 16:54:58 -07:00
Brian C. Lane
59fd3934f3
Move core of livemedia-creator to run_creator()
...
We need to be able to share the output types from livemedia-creator with
lorax-composer, so move the core of the main() function into
run_creatoe(). Pass in the cmdline args or a DataHolder with them set.
2018-06-11 16:54:58 -07:00
Brian C. Lane
85ee784efc
Only chown recipe directory if it already exists
...
Since creation of the directory has been moved after switching users
this now needs to check to make sure it exists first.
2018-06-11 16:54:58 -07:00
Brian C. Lane
0e3b87a1da
Automatic commit of package [lorax] release [19.7.9-1].
...
Created by command:
/usr/bin/tito tag
2018-06-11 16:54:58 -07:00
Brian C. Lane
74326ba7a3
Fix a problem with diff/NEWEST/WORKSPACE
...
If there is no WORKSPACE yet it was not falling back to using NEWEST.
Also add a test for this.
2018-06-11 16:54:58 -07:00
Alexander Todorov
06648d415a
Don't be overly strict when validating /api/docs/ response in tests
...
this avoids comparing against files on disk (and the huge diff the
test runner produces in case of failure). Instead we look for a
200 HTTP response with large enough size and some well known
strings inside the response data.
2018-06-11 16:54:58 -07:00
Brian C. Lane
4144c3937c
Check for a source tree doc install first, not second.
...
This way a source install and test run will always take precedence over
a system installed version.
2018-06-11 16:54:58 -07:00
Alexander Todorov
91cebe7b67
Measure coverage for parallel processes
2018-06-11 16:54:58 -07:00
Alexander Todorov
af8c193b52
Remove calls to print()
2018-06-11 16:54:58 -07:00
Alexander Todorov
5500ec8c06
Use sudo to run the tests
...
in 9ed1964
the tests start using makq_queue_dirs() which does
chown with guid/id 0!
2018-06-11 16:54:58 -07:00