Commit Graph

2592 Commits

Author SHA1 Message Date
Ondřej Budai 045bddb37a fix typo in api docstring 2019-11-27 12:24:03 +02:00
Alexander Todorov 30d45a8880 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
2019-11-26 13:52:54 +02:00
Alexander Todorov 70baff3bc2 Always remove lorax-composer & composer-cli RPMs before installing them
this will ensure locally built packages are always installed
2019-11-26 13:52:54 +02:00
Alexander Todorov 82e7335761 Always remove existing VM image before building new one 2019-11-26 13:52:54 +02:00
Brian C. Lane 90b340f828 Add git to Dockerfile.test 2019-11-19 12:07:15 -08:00
Brian C. Lane 03d4583cdc Automatic commit of package [lorax] release [32.3-1].
Created by command:

/bin/tito tag
2019-11-18 16:05:49 -08:00
Brian C. Lane f7688f9c8d 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
2019-11-18 14:00:24 -08:00
Jakub Rusz cc689c0cb9 tests: add docker variable to .travis.yml 2019-11-18 08:41:55 -08:00
Jakub Rusz e38e2ead1e tests: Changed Docker to podman in Makefile 2019-11-18 08:41:55 -08:00
Jakub Rusz f52e56c628 tests: fix blueprints tag test
This changes the blueprint tested from glusterfs to example-http-server
2019-11-18 08:41:55 -08:00
Jakub Rusz 6839390be2 test: fix serializing repo_to_source test
Travis used fedora-32, this commit changes it to fedora-31.
2019-11-18 08:41:55 -08:00
Brian C. Lane fad9b324f7 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.
2019-11-14 11:58:56 -08:00
Brian C. Lane 95fd12e1f0 mkksiso: copy all the directories over to tmpdir
Graft them from tmpdir instead of trying to use the source iso for some,
and tmpdir for the ones needing changes. This will prevent problems with
trying to remove files likes TRANS.TBL from a read-only filesystem.
2019-11-14 11:57:35 -08:00
Brian C. Lane c5f6fd6d30 Add dmidecode on supported architectures
Currently supported on i386, x86_64, aarch64

Related: rhbz#1714793
2019-11-14 11:46:46 -08:00
Brian C. Lane c345afdc65 docs: Remove --title from list of lmc variables 2019-11-08 16:06:59 -08:00
Brian C. Lane ea53a201f2 Drop old lorax.spec changelog entries (pre-F31) 2019-11-05 14:41:54 -08:00
Brian C. Lane 36422ee944 Automatic commit of package [lorax] release [32.2-1].
Created by command:

/bin/tito tag
2019-11-05 14:37:16 -08:00
Brian C. Lane 58f629b020 New lorax documentation - 32.2 2019-11-05 14:36:46 -08:00
Brian C. Lane dcd92cf8c0 tests: Add 'test_mkksiso' tests
These use beakerlib to download a Fedora boot.iso and run mkksiso on
it. It currently does not try to boot the resulting iso, it mounts it
and checks that the expected config files have been modified and the
extra files have been added.
2019-11-05 11:09:42 -08:00
Brian C. Lane 637d3ea643 mkksiso: Add documentation 2019-11-05 11:09:42 -08:00
Brian C. Lane f74a5cc4a6 mkksiso: Add a tool to add a kickstart to an existing boot.iso
This tool will add the kickstart to the boot.iso, edit the kernel boot
arguments so that the kickstart is used when the iso boots, as well as
allow adding extra files and directories to the / of the iso which can
then be used by the kickstart (they are found under /run/install/repo
while Anaconda is running).
2019-11-05 11:09:42 -08:00
Brian C. Lane 94b2b58d99 tests: Add a lorax boot.iso test
This builds a boot.iso in the vm, copies it out, and boots it.
The tests that run inside the boot.iso
(/tests/lorax/test_boot_bootiso.sh) cannot use beakerlib so it needs to
be a simple shell script returning 1 on failure along with a descriptive
message.
2019-11-05 10:38:31 -08:00
Brian C. Lane da5ba2421e test: Add wait_boot method for root logins
The cockpit tests assume logging in as non-root, but that isn't always true
when testing things like boot.iso images. So this checks for ssh login without
checking for /run/nologin

Also sets default image to testvm.DEFAULT_IMAGE so that testvm doesn't
need to be imported by users of the class.
2019-11-05 10:38:31 -08:00
Alexander Todorov 2b578dcee8 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
2019-11-05 19:05:33 +02:00
Alexander Todorov c43ba9e78f tests: Documentation updates 2019-11-05 19:05:33 +02:00
Alexander Todorov 1351c4dc63 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.
2019-11-05 19:05:33 +02:00
Alexander Todorov e7e70313ef Remove unused make targets
these were only used by Jenkins but we don't have Jenkins anymore
2019-11-05 19:05:33 +02:00
Alexander Todorov b197e448ff DRY when setting up, running & parsing results for beakerlib tests 2019-11-05 19:05:33 +02:00
Alexander Todorov cb7e391792 tests: Disable mirrors
bcl: The mirrors are not very good at staying in sync, and if
composer hits one mirror and anaconda hits a different mirror,
you will see depsolve fail. The safest thing is to not use mirrors
in Fedora.
2019-11-05 09:19:41 +02:00
Brian C. Lane 89539a7bf4 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.
2019-11-01 09:00:57 -07:00
Brian C. Lane 454af0c5d5 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.
2019-11-01 09:00:57 -07:00
Alexander Todorov d67745d755 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.
2019-11-01 09:00:57 -07:00
Alexander Todorov e1b45958f4 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.
2019-11-01 09:00:57 -07:00
Brian C. Lane 4705ff3b1e 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.
2019-11-01 09:00:57 -07:00
Brian C. Lane a0ae10c2d7 tests: Use --http0.9 for curl ssh test 2019-11-01 09:00:57 -07:00
Brian C. Lane e3654e8297 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.
2019-11-01 09:00:57 -07:00
Brian C. Lane df7a018ee2 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.
2019-11-01 09:00:57 -07:00
Brian C. Lane b8bf258a3c 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.
2019-11-01 09:00:57 -07:00
Brian C. Lane d8bf3427a6 Add live iso support to s390
With this patch lmc and lorax-composer can be used to create a live iso
when running on s390 systems.
2019-10-31 09:47:18 -07:00
Brian C. Lane cdcfaf562b 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.
2019-10-31 09:41:41 -07:00
Brian C. Lane e365e476af Disable some compose types on other architectures
The 'enabled' field in the /compose/types output now reflects whether or
not the type is supported on the current architecture. Disabled types
are not allowed to be built, and will raise an error like:

Compose type 'alibaba' is disabled on this architecture
2019-10-28 16:42:36 -07:00
Brian C. Lane af3494fc46 lorax: Drop unused --title option
It has never been hooked up to anything, let alone substitution @TITLE@
(which also hasn't ever been used in the config files).

Closes #863
2019-10-25 11:35:21 -07:00
Alexander Todorov 88162780a7 tests: Document Azure setup 2019-10-21 19:46:37 +02:00
Alexander Todorov ba0784d0ee tests: unskip Azure scenario 2019-10-18 17:00:18 +02:00
Brian C. Lane 51ce751b16 Automatic commit of package [lorax] release [32.1-1].
Created by command:

/bin/tito tag
2019-10-16 14:33:16 -07:00
Brian C. Lane 009c051003 Bump default platform and releasever to 32 2019-10-16 14:22:58 -07:00
Brian C. Lane 53fba4c2b1 New lorax documentation - 32.1 2019-10-16 14:01:30 -07:00
Brian C. Lane 3fdc783850 docs: Fix Sphinx errors in docstrings 2019-10-16 13:52:54 -07:00
Brian C. Lane a02538fdc3 vm.install: Turn on verbose output
Helps debug mock rebuild errors for the .src.rpm
2019-10-16 09:17:54 -07:00
Brian C. Lane 0eb01b84a8 tests: Switch the azure examples used in the lifted tests to use aws 2019-10-16 09:17:54 -07:00