Commit Graph

2091 Commits

Author SHA1 Message Date
David Shea c00036251e Fix a DeprecationWarning
SafeConfigParser is just a deprecated version of ConfigParser in
python3, so use ConfigParser.
2018-09-07 13:34:30 -04:00
David Shea b4b8985caa Fix the expected versions of blueprint components 2018-09-07 13:34:30 -04:00
David Shea a65b93c77d Switch the test container back to rawhide
Use fedora:rawhide again to run tests, but pull the test image from the
Fedora docker registry instead of the Docker docker registry.
2018-09-07 13:34:30 -04:00
Brian C. Lane e129c4c4f5 Automatic commit of package [lorax] release [29.15-1].
Created by command:

/usr/bin/tito tag
2018-09-07 10:05:39 -07:00
Brian C. Lane 0432c6d56e Add a Makefile target for building html docs using a rawhide environment
This makes it easier to generate new documentation for
http://weldr.io/lorax/

It requires having a current welder/lorax-composer:latest image (created with
the test-in-docker target), then run docs-in-docker to rerun sphinx with
the docs/html directory mounted from the container.
2018-09-07 09:54:21 -07:00
Radek Vykydal 45e093241d Revert "Don't activate default auto connections after switchroot"
This reverts commit 044d7381a2.
2018-09-07 09:10:46 -07:00
Brian C. Lane d514696880 Need to explicitly require python3-librepo (#1626413)
python3-dnf no longer requires it, so add it to lorax.spec
2018-09-07 09:03:30 -07:00
Brian C. Lane 330ee6c8b6 New lorax documentation - 29.14 2018-09-06 10:37:53 -07:00
Brian C. Lane 40b3eda232 Automatic commit of package [lorax] release [29.14-1].
Created by command:

/usr/bin/tito tag
2018-09-06 09:57:45 -07:00
Peter Robinson 8abf6be950 Add the create ISO component for ARMv7
The ostree compose process in pungi wants ISOs and it was the last part
of the ARMv7 components that weren't at parity with other architectures.
Add the missing functionality.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2018-09-06 09:10:02 -07:00
Radek Vykydal 044d7381a2 Don't activate default auto connections after switchroot
Resolves: rhbz#1555934

Add NetworkManager config file turning default auto connections off.
2018-09-04 12:04:57 -07:00
Brian C. Lane a0aab15311 Ignore a pylint warning about UnquotingConfigParser get args
The args differ, but we are accepting and passing through all args so
it's ok.

Related: rhbz#1613058
2018-09-04 11:16:39 -07:00
Adam Williamson 5c0dfb74e6 Ditch all use of pyanaconda's simpleconfig
lorax uses pyanaconda's SimpleConfigParser in three different
places (twice with a copy that's been dumped into pylorax, once
by importing it), just to do a fairly simple job: read some
values out of /etc/os-release. The only value SimpleConfigParser
is adding over Python's own ConfigParser here is to read a file
with no section headers, and to unquote the values. The cost is
either a dependency on pyanaconda, or needing to copy the whole
of simpleparser plus some other utility bits from pyanaconda
into lorax. This seems like a bad trade-off.

This changes the approach: we copy one very simple utility
function from pyanaconda (`unquote`), and do some very simple
wrapping of ConfigParser to handle reading a file without any
section headers, and returning unquoted values. This way we can
read what we need out of os-release without needing a dep on
pyanaconda or to copy lots of things from it into pylorax.

Resolves: #449
Resolves: #450

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-30 16:21:09 -07:00
Brian C. Lane 4a5591e9a4 Automatic commit of package [lorax] release [29.13-1].
Created by command:

/usr/bin/tito tag
2018-08-29 15:46:18 -07:00
Brian C. Lane 7e19a4f671 Update the example blueprints for rawhide 2018-08-29 11:17:39 -07:00
Brian C. Lane 18df16e2b7 Bump required dnf version to 3.2.0 for module_platform_id support 2018-08-29 11:04:50 -07:00
Brian C. Lane 4d9ef60460 Add support for DNF 3.2 module_platform_id config value
This borrows simpleconfig.py from Anaconda to make parsing os-release
easier.

It defaults to platform:el8
2018-08-29 11:04:50 -07:00
Brian C. Lane 07acd2e780 lorax: Only run depmod on the installed kernels
In the near-future there may be /lib/modules/ directories for older
kernels with weak dependencies listed. These may not match the installed
kernel(s) so we cannot depend on them to drive generate_module_data.

Instead use the existing findkernels() function to get the list of
installed kernels and iterate those, running depmod on them.

Resolves: rhbz#1622213
2018-08-28 16:56:50 -07:00
Brian C. Lane 55e9653cde Automatic commit of package [lorax] release [29.12-1].
Created by command:

/usr/bin/tito tag
2018-08-28 13:00:22 -07:00
Peter Robinson 8b0d2648dd Minor package fixes for aarch64/ARMv7
The grub2-tools-efi is Mac specific, we still need uboot-tools in some corner cases.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2018-08-28 12:56:20 -07:00
Brian C. Lane e0cad3dcf8 Automatic commit of package [lorax] release [29.11-1].
Created by command:

/usr/bin/tito tag
2018-08-27 15:34:15 -07:00
Brian C. Lane 57674c9a1a Fix composer-cli blueprints changes to get correct total
blueprints/changes is different, each blueprint has it's own total,
limited by the call's limit. So it needs to find the max total of all
the requested blueprints.
2018-08-27 11:08:04 -07:00
Brian C. Lane ec908fcd2a Fix blueprints/list and blueprints/changes to return the correct total 2018-08-27 11:08:01 -07:00
Brian C. Lane 972b5c4142 Add tests for limit=0 routes
Passing ?limit=0 to the blueprints/list, blueprints/changes,
projects/list, modules/list should always return the total possible
results, not 0.

Also move the composer-cli test_diff to the end so that it will work
consistently. Do this by naming it test_z_diff.
2018-08-27 11:05:46 -07:00
Brian C. Lane 0a76d635ca Add a function to get_url_json_unlimited to retrieve the total
The blueprints/changes API is a bit different from the others, the total
that it includes is for each blueprint, not one total for all of them,
since there will be a different number of commits for each.

The function is passed the dict, and it can be used to select the total
to use for retrieving all of the results. If it isn't included it will
use data["total"] which works fine in most cases.
2018-08-27 11:03:59 -07:00
Brian C. Lane 4e32026354 Fix tests related to blueprint name changes 2018-08-23 13:32:26 -07:00
Brian C. Lane fb39d9a418 Add 'example' to the example blueprint names 2018-08-23 13:29:51 -07:00
Brian C. Lane 86d556e87c Use urllib.parse instead of urlparse
python3 moved this to a new module.
2018-08-21 16:49:41 -07:00
David Shea ee98d87cea In composer-cli, request all results
Add a limit argument to all potentially paginated results, equal to
whatever the composer backend is the total number of results. This still
has the potential to provide truncated data if the number of results
increases between the two HTTP requests.

Resolves: #404
2018-08-21 16:43:44 -07:00
David Shea c52ba4236a Add tests for /compose/status filter arguments 2018-08-21 16:42:27 -07:00
David Shea deff4d325f Allow '*' as a uuid in /compose/status/<uuid>
This will display all UUIDs that match the filter arguments
2018-08-21 16:42:18 -07:00
David Shea 40f23f093d Add filter arguments to /compose/status
This adds the following optional arguments to the /compose/status route:

  - type, matches the compose_type field
  - status, matches the queue_status field
  - blueprint, matches the blueprint field
2018-08-21 16:42:07 -07:00
Brian C. Lane 844ff9998b composer-cli should not log to a file by default
The user can pass --log /path/to/logfile.log if they want logging
enabled.
2018-08-21 11:49:28 -07:00
Brian C. Lane 04fd94f44b Add documentation for using a DVD as the package source 2018-08-21 11:28:35 -07:00
Lars Karlitski be5d50e6f3 Set TCP listen backlog for API socket to SOMAXCONN
A value of 1 is too low for heavy users of the API, such as the weldr-web
interface.

This is also systemd's default for sockets it opens. Using lorax-composer with
socket activation already results in a backlog of SOMAXCONN connections.
2018-08-20 14:54:07 -07:00
Peter Robinson 94453ff94e Update Arm architectures for the latest requirements
ARMv7 will now support UEFI and grub2-efi so add those deps. We also don't
require uboot-tools as part of the install process so don't add that
explicitly, and drop grubby from the aarch64 explicit list as it's in the
general list, add grub2-tools-efi.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2018-08-16 15:34:19 -07:00
Brian C. Lane c638926880 New lorax documentation - 29.11 2018-08-13 16:43:20 -07:00
Brian C. Lane 83e5f3f885 Add a note about using lorax-composer.service
Update the docs to make it clear that .socket will be slow to respond to
the first request, and to use .service to speed it up.
2018-08-13 16:41:44 -07:00
Brian C. Lane 07de4c371a Ignore dnf.logging when building docs 2018-08-13 16:32:26 -07:00
Radek Vykydal b1daf6fcd3 Bring back import-state.service (#1615332)
The service is a part of initscripts package which is no more pulled in as a
transitive dependcy so we have to require it explicitly.
2018-08-13 14:34:28 -07:00
Chris Lumens 47d3a72014 Fix a little bug in running "modules list".
(cherry picked from commit 5dddef6f49)
2018-08-10 12:00:23 -04:00
Brian C. Lane b1e2bbfd17 Fix bash_completion.d typo 2018-08-09 16:25:03 -07:00
Brian C. Lane c8283adc17 Move disklabel and UEFI support to compose.py
Currently we are making MBR disk images for qcow2 and partitioned disk,
so the UEFI packages aren't required at this point.

Move the clearpart command into compose.py so that in the futute it can
use clearpart --disklabel to create a GPT image, and add the required
packages to the package set.
2018-08-09 15:17:27 -07:00
Chris Lumens fb9e5c4a2b Fix more tests.
These were broken due to me rebasing before sending a PR off.  They
should work now.

(cherry picked from commit 4cb15e0a0f)
2018-08-09 16:20:29 -04:00
Chris Lumens faba254be5 Change INVALID_NAME to INVALID_CHARS.
It's getting used in a whole lot more places now, so make it a bit more
generic sounding.

(cherry picked from commit bf0318eab6)
2018-08-09 16:20:23 -04:00
Chris Lumens 473ee99eb9 Update composer-cli for the new error return types.
(cherry picked from commit bc96f75992)
2018-08-09 16:20:17 -04:00
Chris Lumens d03a198a8c Add default error IDs everywhere else.
The idea here is to make sure all return points have the same type for
the error cases.  There's not really all that many, so they just go in
one patch.  Some of these could potentially turn into more specialized
errors later.

(cherry picked from commit fd901c5e3f)
2018-08-09 16:20:01 -04:00
Chris Lumens 6a3ccd6ade Add error IDs to things that can go wrong when running a compose.
Note the exception string checking around compose_type.  I didn't really
want to introduce a new exception type just for this, but also didn't
want to duplicate strings.  I'd be open to other suggestions for how to
do this.

(cherry picked from commit b3bb438254)
2018-08-09 16:19:19 -04:00
Chris Lumens c1af7dd69d Add error IDs for common source-related errors.
(cherry picked from commit e43adfc7af)
2018-08-09 16:19:12 -04:00
Chris Lumens f67e2c5d52 Add error IDs for unknown modules and unknown projects.
(cherry picked from commit 2adcfc9563)
2018-08-09 16:19:08 -04:00