Commit Graph

1631 Commits

Author SHA1 Message Date
Brian C. Lane b55b86d0b3 Update modules.py to use new handle_api_result
Use the new function to properly handle error responses for all the
commands.
2018-07-26 10:28:54 -07:00
Brian C. Lane 760aeb61a7 Update compose.py to use new handle_api_result
Use the new function to properly handle error responses for all the
commands.
2018-07-26 10:23:39 -07:00
Brian C. Lane c1c5536ec8 Update blueprints.py to use new handle_api_result
Use the new function to properly handle error responses for all the
commands.
2018-07-25 17:32:48 -07:00
Brian C. Lane 35fa067219 Modify handle_api_result so it can be used in more places
Some results have errors and no status, others have status and errors.
Update the function to return the final rc to exit with, and a bool
indicating whether or not to continue processing the other fields.

Add a bunch of tests for the new function to make sure I have the logic
correct.
2018-07-25 17:30:50 -07:00
Brian C. Lane e974ec2477 composer-cli: Fix non-zero epoch in projets info
The json value is an int, so convert it to a str.

(cherry picked from commit 18521cec1a)
2018-07-25 11:40:16 -07:00
Chris Lumens a3572c9fdd Fix help output on the compose subcommand. 2018-07-25 14:29:39 -04:00
Chris Lumens 7bcb61849d Add timestamps to "compose-cli compose status" output. 2018-07-25 12:47:17 -04:00
Chris Lumens eb0939d967 And then add real output to the status command. 2018-07-23 17:08:08 -04:00
Chris Lumens 9eafc60fa0 Add the beginnings of a new status subcommand. 2018-07-23 17:08:08 -04:00
Brian C. Lane 38675dbe0f Automatic commit of package [lorax-composer] release [19.7.20-1].
Created by command:

/usr/bin/tito tag
2018-07-20 16:48:38 -07:00
Chris Lumens b7e4524ac0
Merge pull request #396 from clumens/locking
A couple patches about running lorax-composer twice.
2018-07-20 09:26:19 -04:00
Chris Lumens 052828047c Document that you shouldn't run lorax-composer twice. 2018-07-19 14:53:32 -04:00
Chris Lumens e37eae55b8 Add PIDFile to the .service file.
This will cause systemd to delete the lock file when the service
terminates.  This does not do anything if lorax-composer is started on
the command line, however.
2018-07-19 13:57:03 -04:00
Brian C. Lane 8080abda67 Log and exit on metadata update errors at startup
A bad system repo can cause lorax-composer to fail to start. Instead of
a traceback log the error and exit.

(note that the exit still results in an OSError traceback due to part of
it running as root, this needs to be addressed in another commit).
2018-07-17 13:47:26 -07:00
Brian C. Lane f916e41d00 Check /projects responses for null values.
Some values can be null/None so check for that instead of crashing.
2018-07-17 11:51:04 -07:00
Brian C. Lane b20aa4609c Clarify error message from /source/new 2018-07-17 10:17:06 -07:00
Brian C. Lane 7e8245abcc Download metadata when updating or adding new repos
cacheonly=1 was skipping downloading new metadata when a new source was
added. Set it to 0 so that the update is immediate.
2018-07-17 09:59:26 -07:00
Brian C. Lane 6444e16df9 Automatic commit of package [lorax-composer] release [19.7.19-1].
Created by command:

/usr/bin/tito tag
2018-07-13 17:03:41 -07:00
Chris Lumens c8d2045f89 Support loading groups from the kickstart template files. 2018-07-12 17:31:56 -04:00
Chris Lumens ab0655d5a9 Add group-based tests. 2018-07-12 17:31:56 -04:00
Chris Lumens 5fe4b47072 Include groups in depsolving.
This adds a new argument to projects_depsolve and
projects_depsolve_with_size that contains the group list, unfortunately.
I would have prefered adding a function that just returns a list of all
the contents of a group and then add that to what was being passed into
projects_depsolve.  However, there does not appear to be any good way to
do that in yum aside from a lot of grubbing around in the comps object,
which I am unwilling to do.
2018-07-12 17:31:44 -04:00
Chris Lumens 0f69d2084c Add support for groups to blueprints.
Nothing is currently being done with this information, but it will be
soon.
2018-07-12 17:31:44 -04:00
Brian C. Lane d692a7dddd Check the compose templates at startup
Depsolve the packages included in the templates and report any errors
using the /api/status 'msgs' field. This should help narrow down
problems with package sources not being setup correctly.
2018-07-12 09:25:22 -07:00
Brian C. Lane f1814ce35f List individual package install failures
Previously it was impossible to know which package in a blueprint caused
a failure, if it was just one of them, or all of them, etc. This catches
the error when calling yb.install and lists all the failures in the
error message that is raised.
2018-07-11 15:35:04 -07:00
Brian C. Lane 2c81a4c1db lorax-composer: Update documentation
This updates the documentation to include composer-cli instead of curl,
warnings about SELinux and needing the RHEL 7 Optional package repo, as
well as other documentation improvements from the master branch.
2018-06-29 13:35:19 -07:00
Chris Lumens 954f330ace Add help output to each subcommand.
This is the same as the output at the top level, just trimmed down to
only the options for a single subcommand.  It's trigged by providing
"help" or "--help" as a subcommand option.
2018-06-28 14:38:05 -04:00
Chris Lumens 70e4211ad1 Split the help output into its own module.
This means I can reuse it for help output for individual subcommands.
2018-06-28 14:38:05 -04:00
Chris Lumens 3743d6d208 If the help subcommand is given, print the help output.
This isn't a real subcommand like the others.  The option processing
just intercepts it and prints the output.  Given that we're subcommand
based, it makes sense to support this in addition to --help.
2018-06-28 14:38:05 -04:00
Brian C. Lane db2ce9b073 Automatic commit of package [lorax-composer] release [19.7.18-1].
Created by command:

/usr/bin/tito tag
2018-06-27 09:22:30 -07:00
Brian C. Lane 5a7b30699b Only include some of the test blueprints 2018-06-27 09:11:26 -07:00
Brian C. Lane c01e1e0486 Include example blueprints in the rpm
This also sets ownership of /var/lib/lorax/composer/ to root:weldr to
allow missing directories to be created at runtime.
2018-06-26 14:53:11 -07:00
Brian C. Lane 4c466d4620 Make sure /run/weldr has correct ownership and permissions
Normally tmpfiles.d will handle this at boot time, but if you install
lorax-composer without rebooting it was ending up with root:root
ownership instead of root:weldr
2018-06-25 14:01:36 -07:00
Brian C. Lane adc91a4ce0 Automatic commit of package [lorax-composer] release [19.7.17-1].
Created by command:

/usr/bin/tito tag
2018-06-20 12:33:58 -07:00
Brian C. Lane 80a2267283 version.py doesn't depend on the .spec 2018-06-19 14:35:43 -07:00
Brian C. Lane e56e55bb3b Fix Sphinx read_version code
It needs to look for ../lorax.spec OR ../lorax-composer.spec
2018-06-19 14:35:43 -07:00
Brian C. Lane cc4ae5d19b Build lorax-composer and composer-cli without lorax files
lorax is built from rhel7-branch

This also changes the lorax Requires to 19.7.16

The lorax package will change at a slower rate than lorax-composer, so
making it require the exact same version doesn't make sense.
2018-06-19 14:35:43 -07:00
Brian C. Lane 9fff793dff Automatic commit of package [lorax] release [19.7.17-1].
Created by command:

/usr/bin/tito tag
2018-06-19 14:09:05 -07:00
Brian C. Lane c4417470da Exclude lorax-composer and composer-cli code from the lorax build
These will be built in Extras from the rhel7-extras branch using the
lorax-composer package name.

Resolves: rhbz#1547759
2018-06-19 11:56:40 -07:00
Brian C. Lane bb8c7851d2 Fix composer-cli command help text
sources shouldn't be indented
details for a compose are 'details' not 'info'
2018-06-18 10:45:36 -07:00
Brian C. Lane 2ddad4dd82 Automatic commit of package [lorax] release [19.7.16-2].
Created by command:

/usr/bin/tito tag --keep-version
2018-06-15 10:46:25 -07:00
Brian C. Lane 9eb7c0d206 Fixup the lorax.spec after rebasing on 19.6.105-1
Also correct some long running rpmlint complaints.

Resolves: rhbz#1547759
2018-06-15 10:44:31 -07:00
Brian C. Lane ba76efba14 Automatic commit of package [lorax] release [19.7.16-1].
Created by command:

/usr/bin/tito tag
2018-06-11 16:54:59 -07:00
Brian C. Lane 4bfcd8fcd2 Remove SortMode from list_commits
The current version of libgit2 available (0.26.3) has different behavior
with SortMode.TIME. It works correctly when left at the default (which
is also how the rawhide version works).
2018-06-11 16:54:59 -07:00
Brian C. Lane 3cfb895054 Use yum.add_enable_repo() for new repos
Yum needs to have some other attrs setup on the YumRepository object, so
use the function provided to ensure that everything is correct. Also
switch the related functions to use a dict instead of a YumRepository
object.
2018-06-11 16:54:59 -07:00
Brian C. Lane 957def1264 Add support for sources to composer-cli
This adds the sources command which can be used to list, add, change,
and delete sources using the TOML formatted source file.
2018-06-11 16:54:59 -07:00
Brian C. Lane a5eaebeefc yum repos has a delete() function. But it doesn't clear the cache.
yum also has a cache it uses for listEnabled(), but the cache isn't
invalidated when a repo is deleted it any following metadata update
will fail because it is still using the deleted repo.

We are forced to use the heavy hammer on a yum private variable yet
again to force the cache to be cleared so that it won't crash.
2018-06-11 16:54:59 -07:00
Brian C. Lane 2e95b56508 Fix DNF related issues with source selection
yum TumRepository.dump() function cannot be used as a .repo file Add a
new function to write this in the correct format, and limited to the
fields we use.

Add a test for the new function.

Fix /projects/source/info to return an error 400 if a nonexistant TOML
source is requested. If JSON is used the error is part of the standard
response.

Update test_server.py to check for the correct error code.
2018-06-11 16:54:59 -07:00
Brian C. Lane 3f7997d7ae Fix handling bad source repos and add a test
When adding a source failed it wasn't being removed from the dnf object.
This fixes that, and returns an error when setting up the source fails.
Also adds a test for it.
2018-06-11 16:54:59 -07:00
Brian C. Lane f1000b448d Make sure new sources show up in the source/list output
Also remove an unneeded makedirs from test_server.py
2018-06-11 16:54:59 -07:00
Brian C. Lane 25bae61520 Fix make_dnf_dirs
It was chopping off an extra directory level due to realpath removing
the trailing / from the paths when they are setup.
2018-06-11 16:54:59 -07:00