Commit Graph

2222 Commits

Author SHA1 Message Date
Brian C. Lane
6451a6b063 composer-cli: Add python3-pytoml to composer-cli requirements
Otherwise it cannot be installed without lorax-composer also installed.

Related: rhbz#1779301
2019-12-13 09:03:07 -08:00
Brian C. Lane
15fbef8f97 composer-cli: Remove unneeded % from API WARNING message
Related: rhbz#1779301
2019-12-12 09:32:40 -08:00
Brian C. Lane
554f109122 Use mkisofs for the s390 live-iso template
Related: rhbz#1746424
2019-12-11 08:59:16 -08:00
Brian C. Lane
07e373ad07 Automatic commit of package [lorax] release [28.14.36-1].
Created by command:

/usr/bin/tito tag
2019-12-10 17:21:05 -08:00
Brian C. Lane
054669d027 composer-cli: Only display the available compose types
The enabled bool is now being used so the cli should only show the types
actually available on the architecture.

Also modifies the test in test_compose_sanity.sh

Related: rhbz#1751998
2019-12-10 15:52:39 -08:00
Brian C. Lane
b6b842943d composer-cli: Return int from handle_api_result not bool
The callers, and the documentation, all expect int 0/1 to use as the
exit status for the program. Not True/False, even though that works most
of the time.

(cherry picked from commit fad9b324f7)
Related: rhbz#1779301
2019-12-03 15:13:05 -08:00
Brian C. Lane
32d1451a22 Add support for API v1 commands upload, and providers
This adds the ability to execute API v1 commands when the backend server
supports them. It detects the API version supported by the server and
adjusts the available commands accordingly.

Resolves: rhbz#1779301
2019-12-03 15:13:05 -08:00
Brian C. Lane
937f6addb3 Automatic commit of package [lorax] release [28.14.35-1].
Created by command:

/bin/tito tag
2019-12-02 15:15:46 -08:00
Alexander Todorov
20bd0635a6 tests: If TEST_OS isn't specified then match the host OS
this will help with downstream snapshots testing making
it easier to match the host OS snapshot

Cherry-picked from 6839390be2

Related: rhbz#1769525
2019-11-27 19:40:28 +02:00
Jakub Rusz
86ea9adbab tests: enable compose_ext4 test to use CDN repos
Related: rhbz#1777265
2019-11-27 15:08:27 +02:00
Jakub Rusz
845a58caa1 Add more lines to .gitignore
Related: rhbz#1777265
2019-11-27 15:08:27 +02:00
Alexander Todorov
7a8a1d0cee Remove all repo files & install composer-cli from host repos
when testing downstream snapshots this makes sure that
lorax-composer and composer-cli are coming from the host OS.

We also make 100% sure that there are no other repositories inside
the VM other than what has been configured on the host!

Make it possible to override where repo files are copied from by
defining the REPOS_DIR variable. By default the value is
/etc/yum.repos.d

Cherry-picked from bd2f4925de

Related: rhbz#1769525
2019-11-27 12:23:21 +02:00
Alexander Todorov
6e278d4dba Always remove lorax-composer & composer-cli RPMs before installing them
this will ensure locally built packages are always installed

Cherry-picked from 29492b62f6

Related: rhbz#1769525
2019-11-27 12:23:21 +02:00
Alexander Todorov
bc541ba0d9 Always remove existing VM image before building new one
Cherry-picked from 92bf03ea51

Related: rhbz#1769525
2019-11-27 12:23:21 +02:00
Brian C. Lane
f9e81532e1 Automatic commit of package [lorax] release [28.14.34-1].
Created by command:

/bin/tito tag
2019-11-18 16:13:23 -08:00
Brian C. Lane
60f0e3406e lorax-composer: Add cloud-init support to the vhd image
This adds cloud-init support to the vhd image.
Also limits the cloud-init datasource to Azure, and includes
cloud-utils-growpart to expand the filesystem to fit the available
space.

Resolves: rhbz#1754711
(cherry picked from commit f7688f9c8d)
2019-11-18 14:30:28 -08:00
Brian C. Lane
c8fbeb82ef Add dmidecode on supported architectures
Currently supported on i386, x86_64, aarch64

Related: rhbz#1714793
2019-11-14 11:48:42 -08:00
Brian C. Lane
c35dfa5d42 Automatic commit of package [lorax] release [28.14.33-1].
Created by command:

/bin/tito tag
2019-11-11 12:02:50 -08:00
Brian C. Lane
0416ee5479 New lorax documentation - 28.14.33
Related: rhbz#1761653
2019-11-11 11:48:36 -08:00
Brian C. Lane
911ad9c2e6 docs: Increase root filesystem to 2000 in rhel-minimal.ks
Also add comments to the top of the example kickstarts describing how
they are meant to be used and providing an example cmdline. In some
cases, like rhel-minimal.ks, it can also be used for a live-iso but
requires a couple of extra packages for that to work.

Resolves: rhbz#1730937
2019-11-08 12:14:39 -08:00
Brian C. Lane
68d9b8b1f5 Update ppc64le isolabel to match x86_64 logic
It was substituting _ which didn't match what pungi uses for creating
the DVD. Make things consistent and use - as the replacement character.

(cherry picked from commit 372bef945f)
Related: rhbz#1757338
2019-11-08 09:46:17 -08:00
Dan Horák
13d1077604 set inst.stage2 for ppc64le image
(cherry picked from commit c53de4e63c)
Related: rhbz#1757338
2019-11-08 09:46:09 -08:00
Brian C. Lane
e18a2976b9 docs: Override macboot/nomacboot documentation
These are two sides of the same variable (domacboot) so sphinx-argparse
generated docs are a bit confusing. Override the docs for them to clear
things up.

(cherry picked from commit cdcfaf562b)
Resolves: rhbz#1761653
2019-11-08 08:40:08 -08:00
Alexander Todorov
46df9a5a99 tests: Keep beakerlib repo on the VM for tests which need it
Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
ed08a283c4 tests: unskip Qcow2 and Live-ISO scenarios
previously relying on nested virt

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
7945d00aa1 tests: Ensure failure if beakerlib results file not found
In example here
https://209.132.184.41:8493/logs/pull-887-20191025-100505-509b9eae-weldr-lorax--fedora-31-tar/log.html

we're seeing stuff like:
/tests/test_cli.sh: line 109: /tmp/composer-test.wIAITH/TestResults: No such file or directory

but the result is PASS

Cherry-picked from 2b578dcee8

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
1dbc7ffaf3 tests: Documentation updates
Cherry-picked from c43ba9e78f

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
daf71fa267 tests: Use host repositories for make vm
to help with running the tests by hand on downstream snapshots.
In that scenario we want TEST_OS/VM_IMAGE to look as closely as
possibly like the snapshot that we'd like to test.

Cherry-picked from 1351c4dc63

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
1a89141d9d Remove unused make targets
these were only used by Jenkins but we don't have Jenkins anymore

Cherry-picked from e7e70313ef

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
3409d0a949 DRY when setting up, running & parsing results for beakerlib tests
Cherry-picked from b197e448ff

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
bb4b6b7059 tests: Use journalctl -g to check for failed login
/var/log/audit/audit.log isn't always available (eg. tar liveimg
install), but it is logged to the journal, which can be grepped with
'journalctl -g' so use that instead.

Cherry-picked from 89539a7bf4

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
a7c9c049eb tests: Fix check_root_account when used with tar liveimg test
passwd and openssh-clients need to be installed, and there is no need to
use sudo when you are connecting to the system as root.

Cherry-picked from 454af0c5d5

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
4a052314f4 tests: Use the same asserts as before
after the changes around live-iso and qcow2 test cases the asserts
used have also changed. This commit utilizes the existing test lib.

Cherry-picked from d67745d755

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
471adbd8de tests: switch to using podman instead of docker
Note: use podman-docker to avoid changing tests too much. This
is also what we have on the RHEL branches.

There's no service to be started/restarted so remove everything
related to docker service.

Cherry-picked from e1b45958f4

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
493055c03c tests: Remove nested vm from tar liveimg kickstart test
Use anaconda to install the root.tar.xz into a disk image.  Copy the
disk image to the host, and use the cockpit vm support to boot it and
test it.

Cherry-picked from 4705ff3b1e

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
020fd300a4 tests: Use --http0.9 for curl ssh test
Cherry-picked from a0ae10c2d7

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
f87db8844f test: Boot the live-iso faster, and login using ssh key
On Fedora 31 passworless root login is no longer working. We already
install a ssh key, may as well use it.

This also reduces the live boot timeout to 2s from 60s, which should
help with timeout problems when booting.

Cherry-picked from e3654e8297

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
e7cfd20ca3 tests: Split testing the image into a separate script
Nested virt is not reliable enough, especially on other arches, to rely
on for testing the created images. This moves the test code into
test_boot_* scripts to be run from inside the booted images.

It also adds copying the results of the build into
/var/tmp/test-results/, and includes the generated ssh key so that
whatever boots the image can also log in.

The tests/test_image.sh script has been added to handle running the
test_boot_* scripts without any of the extra lorax-composer specific
setup.

Cherry-picked from b8bf258a3c

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Brian C. Lane
5a3a6fb942 test: Split up the test class to allow booting other images
This splits out the lorax-composer specific execution so that the built
image can be downloaded from the build vm and booted by the host instead
of using nested virt to try and boot it inside the build vm.

Also adds copying the ssh key from the build vm so that it can log into
the image and run the test_boot_* scripts.

Cherry-picked from df7a018ee2

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
29cfda8eae [tests] Collect compose logs after each build
- save compose logs under /var/log/$TEST
- save qemu logs under /var/log/$TEST/qemu.log
- download everything to $TEST_ATTACHMENTS so it can be saved
  in CI results

Cherry-picked from 8af9723c

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Jiri Kortus
16daa25137 [tests] Use a function to wait for compose to finish
The function is meant to replace the duplicate pieces of code used in various
tests, the polling interval is unified to 20 seconds.

Cherry-picked from 836f0ddf

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Alexander Todorov
e7f2706461 [tests] Use functions for starting and stopping lorax-composer
Cherry-picked from f978d4b01c

Related: rhbz#1769525
2019-11-08 13:57:35 +02:00
Jiri Kortus
71a666507b tests: Add kickstart tar installation test
Related: rhbz#1733975
2019-11-05 11:30:56 +02:00
Jiri Kortus
1f7efc3bba tests: add option to disable kernel command line parameters check
Related: rhbz#1733975
2019-11-05 11:30:56 +02:00
Brian C. Lane
3b0bb5718c tests: Use a loop to wait for VM and sshd to start
Related: rhbz#1733975
2019-11-05 11:30:56 +02:00
Brian C. Lane
1a08cbf374 tests: Drop an old bug reference
These weren't built until after 8.0.0, which they were approved for, and
even though they have all acks, it's for the wrong release so the build
system complains when they end up back in lorax.spec
2019-10-31 15:12:39 -07:00
Brian C. Lane
199aa67a13 Automatic commit of package [lorax] release [28.14.32-1].
Created by command:

/bin/tito tag
2019-10-31 15:02:48 -07:00
Brian C. Lane
c11a8b8018 tests: Add tests for recipe checking functions
(cherry picked from commit f1733369fa)

Related: rhbz#1716596
2019-10-31 10:11:13 -07:00
Brian C. Lane
7270511379 lorax-composer: Add basic case check to check_recipe_dict
This will detect if an expected field is not all lower case as is
required.

(cherry picked from commit 13a7dcf2b1)

Related: rhbz#1716596
2019-10-31 10:11:13 -07:00
Brian C. Lane
229253b0cb lorax-composer: Add basic recipe checker function
This makes sure that required fields are included, and that sections are
not empty. It does not check for all optional fields.

If there are errors it will gather up all of them and then raise a
RecipeError with a string of all the errors.

(cherry picked from commit 61059a2699)

Resolves: rhbz#1716596
2019-10-31 10:11:13 -07:00