Commit Graph

36 Commits (055)

Author SHA1 Message Date
Harald Hoyer c08bc8109d fix(base): split out `dracut-dev-lib.sh`
To share the `wait_for_dev` function and use it without side effects on
install time, split out the needed functions in an extra library.
2021-05-17 16:22:49 +02:00
Harald Hoyer b2cf61d97f ci: run the integration tests on more distributions
Add OpenSuse and Arch Linux to limited tests.

Only run the full tests against the latest stable Fedora version
to reduce the workload.

Also remove the `hung_task_panic=1` on the kernel command line, as qemu
tends to be really slow in non-kvm mode.
2021-05-14 13:08:07 +02:00
Harald Hoyer 8b2afb08ba fix: make testsuite pass on OpenSuse and Arch
This removes some hard assumptions about the file system layout.

It also hardens the tests with network interface renaming rules and
guards.
2021-05-14 08:34:38 +02:00
Harald Hoyer 909961d048 fix: shellcheck 0.7.2
github action `luizm/action-sh-checker@v0.2.2` uses `shellcheck-0.7.2`,
which detects more non-posix shell code and complains accordingly.
2021-05-05 14:55:30 +02:00
Harald Hoyer b80ee08093 ci: use /dev/disk/by-id
Due to parallel probing of the linux kernel `/dev/sd*` can't be used to
reliably address a hard disk. This can be seen by the many spurious
failures of the dracut CI, where `mdadm` failed with error 524 or tests
failed due to the success marker message written to the wrong disk.

* don't rely on `/dev/sd*` but use disk ids and `/dev/disk/by-id/ata-disk_<name>`

* specify the exact qemu machine architecture `-M q35` needed for the
  disk ids. A later patch will move this to `run-qemu`, when all tests are converted

* due to `-M q35` the interface names have changed from
  `ens2` -> `enp0s1` and `ens3` -> `enp0s2`
2021-04-22 02:55:31 +02:00
Harald Hoyer d0c9fd6609 fix(TEST LVM-THIN): shellcheck 2021-03-30 19:24:10 +02:00
Harald Hoyer 9a52c3fdb0 style: shfmt reformat
reproducible with:

```
$ shfmt_version=3.0.1
$ wget "https://github.com/mvdan/sh/releases/download/v${shfmt_version}/shfmt_v${shfmt_version}_linux_amd64" -O shfmt
$ chmod u+x shfmt
$ ./shfmt -w .
```
2021-03-13 20:10:43 +01:00
Harald Hoyer 72cba8aecd test: sync and poweroff in create-root.sh 2021-03-10 19:31:19 +01:00
Jóhann B. Guðmundsson 9cf7b1c529 fix: always use mkdir -p
Ensuring that directory creations dont trigger error if directory
previously existed as well as create parent directories if needed.
2021-03-03 13:06:02 +01:00
Harald Hoyer d85c71fb69 ci: force binary files for grep on disk images
Because some of the CI tests fail randomly while grepping for the
test success marker, let's be specific of the file format grep will
search to eleminate all failure sources.
2021-02-15 15:05:15 +01:00
Harald Hoyer a22ab24d53 test: use dd from /dev/zero, instead of creating files with a hole 2020-03-12 12:46:15 +01:00
Harald Hoyer 9ca53063ee test: use dd to write status to marker disk 2020-02-28 14:41:15 +01:00
Harald Hoyer a3f73298f2 testsuite: refactor qemu options
- refactor common qemu options
- fix the ens[0-9] interface shift
- add split network-[legacy|network] tests
2020-02-28 12:53:42 +01:00
Harald Hoyer 4b60a34715 Revert "test: run-qemu refactor common qemu parameters"
This reverts commit 77537bf2d7.

Sorry, for the noise!
2020-02-28 08:51:44 +01:00
Harald Hoyer 77537bf2d7 test: run-qemu refactor common qemu parameters 2020-02-28 08:39:31 +01:00
Harald Hoyer 4bd0ab61b2 test: remove "sudo" calls in test scripts 2020-02-27 15:27:30 +01:00
Harald Hoyer 2f78bafa4b tests: untabify, reformat 2020-02-27 15:27:30 +01:00
Daniel Molkentin 8996d3dfcd test: use hosts randomness, not rngd 2019-11-13 09:07:45 +01:00
Lubomir Rintel e318ba30fb test/{10,12,13,14,17,30,31}: increase the disk sizes
On Fedora 30 the paritition sizes turn out to be too small again:

  + mkdir -p /sysroot
  + mount /dev/dracut/root /sysroot
  + cp -a -t /sysroot /source/bin /source/dev /source/etc /source/lib /source/lib64 /source/proc /source/root /source/sbin /source/sys /source/tmp /source/usr /source/var
  cp: error writing '/sysroot/usr/lib64/libkrb5.so.3.3': No space left on device
  cp: error writing '/sysroot/usr/lib64/libkrb5support.so.0.1': No space left on device

It turns out that there has been quite some size increase in some libraries,
notably glibc, though not all -- some even shrunk, ruling out a toolchain
problem. Here's are files over 1M we install on Fedora 30:

   f29    f30
  2.7M => 6.4M /usr/lib64/{libc-2.28.so => libc-2.29.so}
  3.1M => 6.0M /usr/lib64/libcrypto.so.1.1.1c
  2.0M => 3.5M /usr/lib64/{libm-2.28.so => libm-2.29.so}
  2.9M => 2.8M /usr/lib/systemd/{libsystemd-shared-239.so => libsystemd-shared-241.so}
  1.7M => 2.5M /usr/lib64/libunistring.so.2.1.0
  2.3M => 2.4M /usr/lib64/bind9-export/libdns-export.so.1105.0.0
  1.2M => 2.1M /usr/bin/bash
  1.1M => 1.4M /usr/lib64/libkrb5.so.3.3
  1.2M => 1.4M /usr/lib64/libgcrypt.so.20.2.4
  612K => 1.1M /usr/lib64/libssl.so.1.1.1c

This increases the image sizes to accomodate for this. There's probably
little else we can do.
2019-07-19 16:19:44 +02:00
Lubomir Rintel 7934c6f918 test: tell systemd to reboot on fatal errors
Otherwise systemd would freeze execution, causing the test to time out
instead of failing fast.
2019-07-19 16:10:54 +02:00
Lubomir Rintel 91c15babdf test/TEST-17-LVM-THIN: fail setup if we run out of space in the thin pool
This condition is rather difficult to detect -- the writes will just remain
queued and get lost on shutdown, resulting in a corrupt filesystem.
2019-07-19 16:02:25 +02:00
Harald Hoyer 225e4b94cb Fix tests with network-legacy 2018-10-08 15:38:33 +02:00
Harald Hoyer 9b8e6e40a9 increased qemu memory 2017-07-21 11:43:08 +02:00
Daniel Molkentin fd79054610 net-tools are not required anymore
Also bridge-utils was listed twice in README.testsuite.
2017-02-13 18:32:18 +01:00
Harald Hoyer bdd626059c test/run-qemu: make "-cpu host" the default 2017-01-18 16:26:30 +01:00
Harald Hoyer dfb3db3dad testsuite: add "-cpu host" to kvm call 2016-11-14 16:21:06 +01:00
Harald Hoyer 36867f1abf test: handle kernel panic in testsuite
- reboot kernel on panic
- qemu don't reboot
2016-06-10 08:53:01 +02:00
Harald Hoyer 781f1971c3 cope with "rd.shell=0" in the testsuite
If emergency and shutdown-emergency hooks are called, the systemd should
poweroff the testsuite, therefore "rd.shell=0" is given on the test
suite kernel command lines.

"rd.shell=0" has to be parsed correctly by the test suite real root init
also.
2016-06-08 16:48:07 +02:00
Harald Hoyer 4e882b8090 use shutdown-emergency hook in testsuite to poweroff the machine 2016-06-07 14:27:03 +02:00
Harald Hoyer 777f2db037 splitup dracut-init.sh from dracut-functions.sh
other tools want to source dracut-functions.sh without any mkdir side
effects.
2015-07-02 16:04:05 +02:00
Harald Hoyer 4358ace43c fixup test suite
- qemu wants to have "format=raw"
- "-kernel" is obsolete, because run-qemu picks the right path
2015-06-09 13:36:46 +02:00
Harald Hoyer e93d0bea38 test: include kernel-network-modules for network tests 2015-03-26 10:57:58 +01:00
Harald Hoyer e3e1f406bb test: turn off hostonly-cmdline and hostonly 2015-01-21 09:33:39 +01:00
Harald Hoyer eda73c0ad2 test: add "fs-lib" to dracut module list 2014-10-24 13:19:34 +02:00
Harald Hoyer 068531232b test: make testsuite work with the new systemd minimal root req
systemd needs more directories to switch root
2014-08-08 13:34:04 +02:00
Harald Hoyer 61a02caca4 test/TEST-17-LVM-THIN: add test case for lvm thin pools 2013-12-16 13:15:48 +01:00