thirdparty/dracut.git
3 months agodracut.spec: add version check for deprecated files master
Harald Hoyer [Wed, 4 Mar 2020 13:39:39 +0000 (14:39 +0100)] 
dracut.spec: add version check for deprecated files

3 months agotest/TEST-35-ISCSI-MULTI: bump disk space
Harald Hoyer [Wed, 4 Mar 2020 13:39:22 +0000 (14:39 +0100)] 
test/TEST-35-ISCSI-MULTI: bump disk space

3 months agoNEWS, AUTHORS: update 050
Harald Hoyer [Wed, 4 Mar 2020 10:43:22 +0000 (11:43 +0100)] 
NEWS, AUTHORS: update

3 months agoTEST-14-IMSM: clear marker disk
Harald Hoyer [Wed, 4 Mar 2020 10:02:33 +0000 (11:02 +0100)] 
TEST-14-IMSM: clear marker disk

3 months agofedora-test-github.sh: only fetch tags, if building rpm
Harald Hoyer [Wed, 4 Mar 2020 10:01:52 +0000 (11:01 +0100)] 
fedora-test-github.sh: only fetch tags, if building rpm

3 months agoConsider also drm_dev_register when looking for gpu driver
Marek Marczykowski-Górecki [Tue, 3 Mar 2020 20:20:34 +0000 (21:20 +0100)] 
Consider also drm_dev_register when looking for gpu driver

DRM drivers are filtered for drm_crtc_init symbol,
but not all drivers use it. Especially, cirrus driver
doesn't use it since Linux 5.2.

The practical result is text plymouth theme instead of graphical when in qemu.

Fix it by looking also for drm_dev_register symbol.
Suggested by @haraldh
Fixes #712

3 months ago.github/workflows: bump timeout to 45min
Harald Hoyer [Wed, 4 Mar 2020 08:23:46 +0000 (09:23 +0100)] 
.github/workflows: bump timeout to 45min

3 months ago90kernel-modules: Add PCI host controller modules
Daniel Molkentin [Tue, 4 Feb 2020 14:51:57 +0000 (15:51 +0100)] 
90kernel-modules: Add PCI host controller modules

Currently there is no usb support on RPi4 in the
initrd phase as the pcie-brcmstb module is missing.
If part of the boot is handled from a USB stick
(e.g. with Ignition), the stick cannot be accessed.

Reference: boo#1162669

3 months ago90crypt: install crypt-run-generator in non-systemd environments
Daniel Molkentin [Thu, 6 Feb 2020 09:00:23 +0000 (10:00 +0100)] 
90crypt: install crypt-run-generator in non-systemd environments

3 months ago90crypt: Do not call cryptsetup in a systemd environment
Daniel Molkentin [Tue, 29 Oct 2019 13:29:34 +0000 (14:29 +0100)] 
90crypt: Do not call cryptsetup in a systemd environment

systemd provides its own cryptsetup facilities, and the
cryptsetup binary might not even exist, failing
to execute the discard flag processing.

Fixes #602

3 months agoMerge branch 'regenerate_all'
Daniel Molkentin [Tue, 3 Mar 2020 19:09:45 +0000 (20:09 +0100)] 
Merge branch 'regenerate_all'

3 months agoEnable resume module if hibernation's enabled on the host
nabijaczleweli [Fri, 13 Dec 2019 06:59:59 +0000 (07:59 +0100)] 
Enable resume module if hibernation's enabled on the host

Ref: https://github.com/dracutdevs/dracut/commit/34b56de12aad622d602d6e3bd434e02c840f1cd0
Fixes https://github.com/dracutdevs/dracut/issues/496

3 months agoMerge branch 'master' into regenerate_all
Daniel Molkentin [Tue, 3 Mar 2020 18:25:16 +0000 (19:25 +0100)] 
Merge branch 'master' into regenerate_all

3 months agoTEST-04-FULL-SYSTEMD: use seperate marker disk for root creation
Harald Hoyer [Tue, 3 Mar 2020 15:56:16 +0000 (16:56 +0100)] 
TEST-04-FULL-SYSTEMD: use seperate marker disk for root creation

3 months agoMake lsinitrd usable for images made with Debian mkinitramfs
Topi Miettinen [Sun, 1 Mar 2020 10:22:30 +0000 (12:22 +0200)] 
Make lsinitrd usable for images made with Debian mkinitramfs

Debian mkinitramfs does not create the file 'early_cpio', so detection
of additional cpio images fails and only the first cpio is listed.

I checked some Arch and Gentoo initramfs files and these didn't have
'early_cpio' either, but they also have only one cpio part.

Fix this so that if check for 'early_cpio' fails, check if firmware
files ('/kernel/*/microcode/*.bin') exist.

Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
3 months agoTEST-04-FULL-SYSTEMD: change error reporting
Harald Hoyer [Mon, 2 Mar 2020 13:55:23 +0000 (14:55 +0100)] 
TEST-04-FULL-SYSTEMD: change error reporting

3 months agodracut_mkdir(): create parent directories as needed.
Lucas C. Villa Real [Thu, 20 Feb 2020 19:37:32 +0000 (16:37 -0300)] 
dracut_mkdir(): create parent directories as needed.

3 months agotest/TEST-0[34] remove qemu return check
Harald Hoyer [Mon, 2 Mar 2020 13:40:16 +0000 (14:40 +0100)] 
test/TEST-0[34] remove qemu return check

remove check of qemu return code $?

seems like it randomly returns with != 0

3 months agoDon't resolve libraries lazily if tmpdir is mounted with 'noexec'
Topi Miettinen [Wed, 26 Feb 2020 12:48:18 +0000 (14:48 +0200)] 
Don't resolve libraries lazily if tmpdir is mounted with 'noexec'

If the temporary directory for images is mounted with 'noexec', dracut
would construct unbootable images because most dynamic libraries
aren't installed. Avoid this by not resolving library dependencies
lazily if the temporary directory is mounted with 'noexec'.

Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
3 months agostratis module: fix start order
Alexander Miroshnichenko [Mon, 24 Feb 2020 15:14:26 +0000 (18:14 +0300)] 
stratis module: fix start order

Change start script order to pre-mount as stratis require fully initialized udev.

3 months agofcoe/fcoe-genrules.sh: use $name instead of $env{INTERFACE}
Frantisek Sumsal [Fri, 28 Feb 2020 15:43:14 +0000 (16:43 +0100)] 
fcoe/fcoe-genrules.sh: use $name instead of $env{INTERFACE}

Followup to a8ba1c4e25051c3c482bb7a6a754c9d785463917 and
11a5501d0f844b9e52f2f1b62d980b733c73f10a

3 months agogithub: fetch git tags before testing
Frantisek Sumsal [Fri, 28 Feb 2020 17:07:12 +0000 (18:07 +0100)] 
github: fetch git tags before testing

GitHub workflows fetch a clone of the dracut repository which doesn't
contain git tags, thus "breaking" the RPM build in certain situations
i.e.:
DRACUT_MAIN_VERSION in Makefile is defined as an output of `git describe`,
which in full git clone returns a tag with a numeric version. However,
without tags it returns SHA of the last commit, which later propagates into
`Provides:` attribute of the built RPM and can break dependency tree when
installed

3 months agocms/cmssetup.sh: use $name instead of $env{INTERFACE}
Frantisek Sumsal [Fri, 28 Feb 2020 13:58:59 +0000 (14:58 +0100)] 
cms/cmssetup.sh: use $name instead of $env{INTERFACE}

Followup to a8ba1c4e25051c3c482bb7a6a754c9d785463917

3 months agotest: build docs when running TEST-99-RPM
Frantisek Sumsal [Fri, 28 Feb 2020 14:49:37 +0000 (15:49 +0100)] 
test: build docs when running TEST-99-RPM

3 months agogithub: add TEST-99 to the workflow
Frantisek Sumsal [Fri, 28 Feb 2020 14:18:18 +0000 (15:18 +0100)] 
github: add TEST-99 to the workflow

3 months agoTEST-99-RPM: ignore weak dependencies in dnf
Frantisek Sumsal [Mon, 24 Feb 2020 21:10:58 +0000 (22:10 +0100)] 
TEST-99-RPM: ignore weak dependencies in dnf

Weak dependencies are useless for this test and pollute the chroot,
causing unexpected fails.

3 months agoMakefile: fix RPM build
Frantisek Sumsal [Mon, 24 Feb 2020 20:56:37 +0000 (21:56 +0100)] 
Makefile: fix RPM build

`make rpm` usually chose `/tmp` as the `$rpmbuild` dir, which breaks the
dracut build, since it needs to execute `./configure`, but `/tmp` is
mounted with `-o noexec`, leading to:

```
/var/tmp/rpm-tmp.SwEhJO: line 46: ./configure: Permission denied
error: Bad exit status from /var/tmp/rpm-tmp.SwEhJO (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.SwEhJO (%build)
```

Switching to `/var/tmp` helps in this case.

3 months agoTEST-12-RAID-DEG: harden test
Harald Hoyer [Fri, 28 Feb 2020 13:40:14 +0000 (14:40 +0100)] 
TEST-12-RAID-DEG: harden test

use whole sda as marker disk and clear it completly between test runs

3 months agotest: use dd to write status to marker disk
Harald Hoyer [Fri, 28 Feb 2020 12:39:05 +0000 (13:39 +0100)] 
test: use dd to write status to marker disk

3 months agofedora-test.sh: set logtee timeout to 5 minutes
Harald Hoyer [Fri, 28 Feb 2020 12:12:25 +0000 (13:12 +0100)] 
fedora-test.sh: set logtee timeout to 5 minutes

3 months agofedora-test.sh / fedora-test-github.sh: don't build the documentation
Harald Hoyer [Fri, 28 Feb 2020 11:52:03 +0000 (12:52 +0100)] 
fedora-test.sh / fedora-test-github.sh: don't build the documentation

don't build the documentation, if running a test

3 months agoDisable NetworkManager tests for Fedora 30
Harald Hoyer [Fri, 28 Feb 2020 11:51:16 +0000 (12:51 +0100)] 
Disable NetworkManager tests for Fedora 30

3 months ago.travis.yml: add note about test container
Harald Hoyer [Fri, 28 Feb 2020 10:59:51 +0000 (11:59 +0100)] 
.travis.yml: add note about test container

3 months agotestsuite: refactor qemu options
Harald Hoyer [Fri, 28 Feb 2020 07:52:59 +0000 (08:52 +0100)] 
testsuite: refactor qemu options

- refactor common qemu options
- fix the ens[0-9] interface shift
- add split network-[legacy|network] tests

3 months agoRevert "test: run-qemu refactor common qemu parameters"
Harald Hoyer [Fri, 28 Feb 2020 07:51:36 +0000 (08:51 +0100)] 
Revert "test: run-qemu refactor common qemu parameters"

This reverts commit 77537bf2d7ff7b37b1013a2b2eb1ef8cd6a247d7.

Sorry, for the noise!

3 months agoRevert "test/run-qemu: add "-serial stdio""
Harald Hoyer [Fri, 28 Feb 2020 07:51:31 +0000 (08:51 +0100)] 
Revert "test/run-qemu: add "-serial stdio""

This reverts commit c6c588d64866579267600f73c5de5b15d44ea807.

3 months agotest/run-qemu: add "-serial stdio"
Harald Hoyer [Fri, 28 Feb 2020 07:47:52 +0000 (08:47 +0100)] 
test/run-qemu: add "-serial stdio"

3 months agotest: run-qemu refactor common qemu parameters
Harald Hoyer [Fri, 28 Feb 2020 07:39:31 +0000 (08:39 +0100)] 
test: run-qemu refactor common qemu parameters

3 months agoTEST-40-NBD: disable again
Harald Hoyer [Thu, 27 Feb 2020 15:44:28 +0000 (16:44 +0100)] 
TEST-40-NBD: disable again

NBD is still too flaky and hangs hard sometimes

3 months agoTEST-04-FULL-SYSTEMD: more info on failure
Harald Hoyer [Thu, 27 Feb 2020 15:42:21 +0000 (16:42 +0100)] 
TEST-04-FULL-SYSTEMD: more info on failure

3 months agotest/test-functions: colorize startup
Harald Hoyer [Thu, 27 Feb 2020 15:17:23 +0000 (16:17 +0100)] 
test/test-functions: colorize startup

3 months ago.travis.yml: fix docker pull
Harald Hoyer [Thu, 27 Feb 2020 14:51:12 +0000 (15:51 +0100)] 
.travis.yml: fix docker pull

3 months agotest/TEST-40-NBD/test.sh: bail out early if mount fails
Harald Hoyer [Thu, 27 Feb 2020 14:26:44 +0000 (15:26 +0100)] 
test/TEST-40-NBD/test.sh: bail out early if mount fails

3 months agonbd/parse-nbdroot.sh: don't create mount unit
Harald Hoyer [Thu, 27 Feb 2020 14:24:29 +0000 (15:24 +0100)] 
nbd/parse-nbdroot.sh: don't create mount unit

let the generator do its thing

3 months agotest: remove "sudo" calls in test scripts
Harald Hoyer [Thu, 27 Feb 2020 13:25:01 +0000 (14:25 +0100)] 
test: remove "sudo" calls in test scripts

3 months agotest: do btrfs filesystem sync in create-root.sh
Harald Hoyer [Thu, 27 Feb 2020 13:24:38 +0000 (14:24 +0100)] 
test: do btrfs filesystem sync in create-root.sh

3 months agoTEST-40-NBD: run the working tests
Harald Hoyer [Thu, 27 Feb 2020 12:38:02 +0000 (13:38 +0100)] 
TEST-40-NBD: run the working tests

3 months agoTEST-03-USR-MOUNT: more debugging
Harald Hoyer [Wed, 26 Feb 2020 16:09:23 +0000 (17:09 +0100)] 
TEST-03-USR-MOUNT: more debugging

3 months agoTEST-04-FULL-SYSTEMD: report failure on rootfs creation
Harald Hoyer [Wed, 26 Feb 2020 16:05:11 +0000 (17:05 +0100)] 
TEST-04-FULL-SYSTEMD: report failure on rootfs creation

3 months agoTEST-20-NFS/test.sh TEST-30-ISCSI/test.sh reduce debug output
Harald Hoyer [Wed, 26 Feb 2020 14:17:07 +0000 (15:17 +0100)] 
TEST-20-NFS/test.sh TEST-30-ISCSI/test.sh reduce debug output

3 months agotest/TEST-60-IFCFG/test.sh: fixed qemu hubport netifs
Harald Hoyer [Wed, 26 Feb 2020 13:45:55 +0000 (14:45 +0100)] 
test/TEST-60-IFCFG/test.sh: fixed qemu hubport netifs

netifs are offset by one if qemu hubport is used

3 months agotests: untabify, reformat
Harald Hoyer [Wed, 26 Feb 2020 11:00:35 +0000 (12:00 +0100)] 
tests: untabify, reformat

3 months agotest: fix server init scripts for network
Harald Hoyer [Wed, 26 Feb 2020 08:17:34 +0000 (09:17 +0100)] 
test: fix server init scripts for network

3 months agoAdd github workflow
Harald Hoyer [Tue, 25 Feb 2020 13:08:10 +0000 (14:08 +0100)] 
Add github workflow

3 months agoadd DRACUT_NO_XATTR global environment variable
Harald Hoyer [Thu, 27 Feb 2020 12:21:06 +0000 (13:21 +0100)] 
add DRACUT_NO_XATTR global environment variable

Useful, if you know, that those can't be copied anyway.

3 months agonetwork-legacy/net-genrules.sh: use $name instead of $env{INTERFACE}
Harald Hoyer [Wed, 26 Feb 2020 15:53:47 +0000 (16:53 +0100)] 
network-legacy/net-genrules.sh: use $name instead of $env{INTERFACE}

The original behavior of $env{INTERFACE} was undocumented and changed in
the recent udev versions, breaking the ability to bring up networking
reliably. Switching to $name directive should fix this issue.

Related links:
 - systemd/systemd#12700 (udev PR)
 - systemd/systemd#12291 (related udev issue)
 - systemd/systemd#14935 (this issue, udev side)
 - #732 (this issue, dracut side)

Fixes: #732

3 months agonetwork-legacy/ifup: fix ip=dhcp,dhcp6 setup_net logic
Jonathan Lebon [Wed, 19 Feb 2020 15:44:24 +0000 (10:44 -0500)] 
network-legacy/ifup: fix ip=dhcp,dhcp6 setup_net logic

Previously, we were doing `setup_net` from `ifup` for any setup that
wasn't DHCP, since those are already taken care of by `dhclient-script`.

The issue is that the case-statement we use to detect this doesn't catch
options like `ip=dhcp,dhcp6`.

Fix this by reworking the logic here to just check if a
`setup_net_$netif.sh` hook exists. If so, then we know that `setup_net`
will be called for this interface later.

This was causing issues in RHCOS which now ships with `ip=dhcp,dhcp6` to
support IPv6 environments[1]. The code here would make us do `setup_net`
pre-emptively which IIUC would then cause the initqueue to finish
earlier even if we had more udev netif events to process.

[1] https://github.com/coreos/coreos-assembler/pull/1067

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1803926

3 months agonetwork-legacy/ifup: drop redundant if-statement
Jonathan Lebon [Wed, 19 Feb 2020 16:11:32 +0000 (11:11 -0500)] 
network-legacy/ifup: drop redundant if-statement

No need to check that `$ret` is 0, we're already running inside an
if-statement block which checks this.

3 months agoRevert "github workflow"
Harald Hoyer [Tue, 25 Feb 2020 13:06:36 +0000 (14:06 +0100)] 
Revert "github workflow"

This reverts commit 150cea0336e2edf04450d0477895821c2d531c1f.

3 months agogithub workflow
Harald Hoyer [Tue, 25 Feb 2020 13:01:13 +0000 (14:01 +0100)] 
github workflow

3 months agoSupport the EFI Stub loader's splash image feature.
Donovan Tremura [Sat, 15 Feb 2020 05:18:19 +0000 (05:18 +0000)] 
Support the EFI Stub loader's splash image feature.

Checks if `uefi_splash_image` exists in `dracutsysroot` if not unset
`uefi_splash_image`. Alternate Value parameter expansion adds section-vma
for splash image to EFI stub loader when the path to image is valid and
not an empty file.

I did not test on other distributions, but on Arch Linux the `systemd`
package includes a splash image at the path
`/usr/share/systemd/bootctl/splash-arch.bmp`. Perhaps, if this is a
common practice, a default image could be gathered from that directory.

It is required that the image be in bitmap (`.bmp`) format according to
`splash.c`.

The code for `stub.c` and `splash.c` can be found at:
https://github.com/systemd/systemd/blob/master/src/boot/efi/stub.c
https://github.com/systemd/systemd/blob/master/src/boot/efi/splash.c

3 months agosystemd: install systemd-tty-ask-password-agent systemd-ask-password
Harald Hoyer [Tue, 18 Feb 2020 14:32:24 +0000 (15:32 +0100)] 
systemd: install systemd-tty-ask-password-agent systemd-ask-password

fixes https://github.com/dracutdevs/dracut/issues/726

3 months agonetwork/net-lib.sh: Configure all iBFT interfaces
Eugene S. Sobolev [Fri, 14 Feb 2020 08:49:06 +0000 (11:49 +0300)] 
network/net-lib.sh: Configure all iBFT interfaces

Added boolean command line option rd.iscsi.mp

3 months agodracut.sh: added help for --regenerate-all
Renaud Métrich [Thu, 13 Feb 2020 10:37:13 +0000 (11:37 +0100)] 
dracut.sh: added help for --regenerate-all

3 months agoRevert "wait for IPv6 RA if using none/static IPv6 assignment"
Lukas Nykryn [Tue, 4 Feb 2020 13:18:01 +0000 (14:18 +0100)] 
Revert "wait for IPv6 RA if using none/static IPv6 assignment"

This reverts commit c603419030136570b5944dc4620f62d07b9e82bb.

wait_for_ipv6_dad_link is only called from dhclient script,
so the original intent "wait for IPv6 RA if using none/static IPv6 assignment"
does not seem to be correct.

Anyway, this brings an issue on isolated networks, where you don't
have any routes outside. dhclient-script hangs on this check
and after it times out, dhclient is able to set the address normally.

3 months agodhclient-script: ipv6 uses different variables for nameservers
Lukas Nykryn [Tue, 11 Feb 2020 13:14:20 +0000 (14:14 +0100)] 
dhclient-script: ipv6 uses different variables for nameservers

new_domain_name_servers and new_domain_search is only provided vit IPv4

see: https://src.fedoraproject.org/rpms/dhcp/blob/HEAD/f/dhclient-script#_148

3 months ago40network: bump rd.net.timeout.carrier to 10 seconds
Lukas Nykryn [Mon, 10 Feb 2020 13:03:30 +0000 (14:03 +0100)] 
40network: bump rd.net.timeout.carrier to 10 seconds

On some devices kernel currently takes 5.2 seconds to detect carrier,
so let's make the default in dracut bit more sensible.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1772010

4 months agodracut.sh: check kmoddir is properly formed
Daniel Cordero [Fri, 24 Jan 2020 16:14:25 +0000 (16:14 +0000)] 
dracut.sh: check kmoddir is properly formed

Due to the way dracut-install handles modules from custom kmoddirs, add
a test that ensures the kmoddir argument seems sane.

In addition to erroring out, provide some guidance on how to proceed, as
well as a method of skipping the test via environment variable.

4 months agodracut-install: fetch kernel modules from kmoddir
Daniel Cordero [Tue, 21 Jan 2020 18:43:59 +0000 (18:43 +0000)] 
dracut-install: fetch kernel modules from kmoddir

dracut, when passing --kmoddir, would only install modules that exist at
the same location as it will appear in the initramfs.

For most (possibly all) outputs, the output path would be /lib/modules,
so previously all kernel modules must be copied there or the module
installation silently fails.

Now use the original path variable, and install to the shortened path
variable (as calculated by kerneldirlen).

Note: This means that the argument to --kmoddir (and the modules filetree)
should be a directory that ends in 'lib/modules/$kernelversion'.

4 months agouefi-lib/uefi-lib.sh: fixed script for bash version 5
Harald Hoyer [Fri, 24 Jan 2020 12:40:15 +0000 (13:40 +0100)] 
uefi-lib/uefi-lib.sh: fixed script for bash version 5

bash 5 `read` behaves differently and returns != 0 for 0 bytes read

fix it with the best effort

4 months agoucode: use microcode found in packed cpio images
Jonas Witschel [Tue, 24 Dec 2019 14:48:19 +0000 (15:48 +0100)] 
ucode: use microcode found in packed cpio images

Some distributions (Arch, Gentoo) ship prepacked microcode images. These
are cpio images that follow the structure specified in the Linux kernel
documentation (x86/microcode.rst, "Early load microcode"), the same
structure dracut uses for its early microcode images.

In case of Arch Linux, the microcode for Intel CPUs is currently only
available in this packed form, /usr/lib/firmware/intel-ucode does not
exist. This commit adds a way to make use of these images on such
systems by unpacking them to the early cpio directory. (Note that the
packed image cannot be used directly since dracut might need to add ACPI
tables to the early initramfs.)

This approach has the drawback that it is not possible to control the
selection of CPUs to be included in the microcode file in host-only
mode, so we only try it as a last ressort if no unpacked microcode could
be found in fw_dir.

The list of possible file names for the packed microcode image is taken
from GRUB (cf. GRUB_EARLY_INITRD_LINUX_STOCK), but can be adapted by
setting "early_microcode_image_name" (and "early_microcode_image_dir")
in a dracut configuration file.

4 months agoadd missing crypto modules for aarch64
Harald Hoyer [Thu, 23 Jan 2020 12:47:53 +0000 (13:47 +0100)] 
add missing crypto modules for aarch64

Fixes https://github.com/dracutdevs/dracut/issues/711

4 months agonetwork-legacy/ifup: nuke pid and lease files if dhclient failed
Jonathan Lebon [Tue, 21 Jan 2020 22:57:31 +0000 (17:57 -0500)] 
network-legacy/ifup: nuke pid and lease files if dhclient failed

Otherwise we won't retry dhclient again on that interface. In
FCOS/RHCOS, we want to bake in `ip=dhcp,dhcp6` so we automatically try
getting a DHCPv6 lease if DHCPv4 failed.

Related: https://bugzilla.redhat.com/show_bug.cgi?id=1793591

4 months ago90kernel-modules: don't install any block driver if not needed
Kairui Song [Tue, 29 Oct 2019 08:29:14 +0000 (16:29 +0800)] 
90kernel-modules: don't install any block driver if not needed

If hostonly mode is in use, and there isn't any block device included
as hostonly device, then the initramfs won't need any block driver.

Eg. for kdump built image, there could be only one nfs mount point,
or the initramfs may only execute some network operation then reboot.

In such case, skip block driver installation to save space and time.

Signed-off-by: Kairui Song <kasong@redhat.com>
4 months agoWrite dns values passed by ip argument to ifcfg-* files
Jan Macku [Fri, 1 Nov 2019 13:58:56 +0000 (14:58 +0100)] 
Write dns values passed by ip argument to ifcfg-* files

4 months agoReplace ln with systemctl
Jan Macku [Fri, 8 Nov 2019 15:24:13 +0000 (16:24 +0100)] 
Replace ln with systemctl

4 months ago35network-legacy: using 'replace' instead of 'add' to add route
Jacob Wen [Tue, 26 Nov 2019 07:50:36 +0000 (15:50 +0800)] 
35network-legacy: using 'replace' instead of 'add' to add route

This is a simple trick to honor RFC 3442:
If the DHCP server returns both a Classless Static Routes option and
a Router option, the DHCP client MUST ignore the Router option.

Signed-off-by: Jacob Wen <jian.w.wen@oracle.com>
4 months ago95iscsi: Fix /etc/iscsi installation
Kairui Song [Fri, 29 Nov 2019 13:29:58 +0000 (21:29 +0800)] 
95iscsi: Fix /etc/iscsi installation

Previous all files are installed with inst_dir, which will not install
the files under /etc/iscsi/, and it create folders with the same of the
files which is wrong.

Now only use inst_dir to install the config dir and ensure it
exists, and use inst_multiple to install the config files.

Signed-off-by: Kairui Song <kasong@redhat.com>
4 months agonetwork-manager: don't run NetworkManager when there are no connections
Lubomir Rintel [Mon, 2 Dec 2019 01:19:51 +0000 (02:19 +0100)] 
network-manager: don't run NetworkManager when there are no connections

NetworkManager would unnecessarily bring up the devices, colliding with
further attempts to rename the devices.

This is arguably a NetworkManager bug and should eventually be fixed there.
Running NetworkManager without the connection is unnecessary regardless.

4 months agoCheck .hmac of boot.iso in fips mode
Brian C. Lane [Fri, 13 Dec 2019 17:47:43 +0000 (09:47 -0800)] 
Check .hmac of boot.iso in fips mode

Instead of carrying the kernel and hmac in the install.img (which takes
up more space) use the vmlinuz installed under /images/pxeboot/ and the
.hmac in the install.img /boot.

This check is triggered by the presence of /run/install/repo/images/pxeboot/vmlinuz

Related: rhbz#1782737

4 months agomodules/network-manager: Install `ip`
Colin Walters [Tue, 7 Jan 2020 20:53:53 +0000 (20:53 +0000)] 
modules/network-manager: Install `ip`

We don't need `ip` but having it is *really* useful for people debugging
in an emergency shell.

4 months agonetwork-legacy/ifup: dhclient should be started in oneshot mode
Lukas Nykryn [Thu, 9 Jan 2020 09:49:52 +0000 (10:49 +0100)] 
network-legacy/ifup: dhclient should be started in oneshot mode

since we handle the retries explicitly via rd.net.dhcp.retry

Without -1 if user sets ip=dhcp6 and there is no dhcp on the network,
dhclient seems to wait indefinitely, ignoring rd.net.timeout.dhcp

4 months agonetwork-legacy/ifup: fix typo when calling dhclient --timeout
Lukas Nykryn [Wed, 8 Jan 2020 15:20:29 +0000 (16:20 +0100)] 
network-legacy/ifup: fix typo when calling dhclient --timeout

6 months agofips: add 'ofb' and 'cts' block cipher modes
Alexey Kodanev [Fri, 29 Nov 2019 12:02:41 +0000 (15:02 +0300)] 
fips: add 'ofb' and 'cts' block cipher modes

Add cts, Linux-5.0 commit:
196ad6043e9f ("crypto: testmgr - mark cts(cbc(aes)) as FIPS allowed")

Linux 4.20 commits for 'ofb':
dfb89ab3f0a7 ("crypto: tcrypt - add OFB functional tests")
e497c51896b3 ("crypto: ofb - add output feedback mode")

Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
6 months ago95ssh-client: improve nsswitch.conf parser
Petr Tesarik [Thu, 14 Nov 2019 18:06:08 +0000 (19:06 +0100)] 
95ssh-client: improve nsswitch.conf parser

The actual syntax of nsswitch.conf is slightly different from the
current regular expression:

- A comment can appear anywhere, not just at the beginning of a
  line.
- Action items take the general form [STATUS=ACTION] or
  [!STATUS=ACTION] (with some optional whitespace).
- A service name cannot include a colon. This is a nitpick,
  because there should never be more than a single colon per
  line.

Signed-off-by: Petr Tesarik <ptesarik@suse.com>
6 months agoRevert "travis: run TEST-14-IMSM on Fedora 29"
Lubomir Rintel [Thu, 7 Nov 2019 10:18:17 +0000 (11:18 +0100)] 
Revert "travis: run TEST-14-IMSM on Fedora 29"

We're on Fedora 31 that should be good enough for this test.

This reverts commit 7a2503ab8cec9473ad6dacf4f48b17344219f3c0.

6 months agotest: use hosts randomness, not rngd
Daniel Molkentin [Tue, 12 Nov 2019 14:41:54 +0000 (15:41 +0100)] 
test: use hosts randomness, not rngd

6 months agotest: Provide host's randomness via virtio
Daniel Molkentin [Tue, 12 Nov 2019 13:12:47 +0000 (14:12 +0100)] 
test: Provide host's randomness via virtio

6 months agoTEST-30-ISCSI: test iBFT boot as well
Lubomir Rintel [Thu, 24 Oct 2019 15:46:17 +0000 (17:46 +0200)] 
TEST-30-ISCSI: test iBFT boot as well

Setting up the machinery to boot with the aid of real networked boot loader
(such as iPXE) would involve much hassle, including possibly serving the kernel
and initrd via TFTP, etc.

Let us generate the iBFT table ourselves, with a Perl script. Include the
pregenerated table as well so that the test run won't depend on Perl. In the
end it's just reproducibly built static data, totally independent of the host
system.

6 months agogit2spec: include contents of binaries in patches
Lubomir Rintel [Thu, 7 Nov 2019 10:41:28 +0000 (11:41 +0100)] 
git2spec: include contents of binaries in patches

The patches don't include the binary files, such as the iBFT table for testing,
which makes %autosetup sad.

6 months agoDocumentation: dynamically set current version
Daniel Molkentin [Tue, 29 Oct 2019 15:40:19 +0000 (16:40 +0100)] 
Documentation: dynamically set current version

Fixes #369

6 months agospec: dracut-network is happy with either NM or dhclient
Lubomir Rintel [Thu, 7 Nov 2019 13:03:23 +0000 (14:03 +0100)] 
spec: dracut-network is happy with either NM or dhclient

6 months agoTEST-{20,50,60,70): set MACAddressPolicy=keep
Lubomir Rintel [Thu, 7 Nov 2019 14:15:21 +0000 (15:15 +0100)] 
TEST-{20,50,60,70): set MACAddressPolicy=keep

New systemd defaults to generating MAC addresses for software devices (whereas
previously they would inherit them from the first enslaved slave).

Sadly, among the things this breaks is our test fixture, where the dhcp servers
are configured to expect a particular MAC address. Disable this for the
affected tests, which are essentially the ones that use bridges and bonds.

6 months agoTEST-{20,30,31,40,50,60,70): wait for server interfaces to come up
Lubomir Rintel [Mon, 11 Nov 2019 17:12:58 +0000 (18:12 +0100)] 
TEST-{20,30,31,40,50,60,70): wait for server interfaces to come up

The network interfaces appear asynchronously and sometimes just too late,
after we're already halfway throught server-init.sh:

  + ip link set dev eth0 name ens3
  Cannot find device "eth0"
  + ip addr add 192.168.50.1/24 dev ens3
  Cannot find device "ens3"
  + dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5
  ...
  [    8.040825] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 52:54:01:12:34:56
  [    8.047105] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
  ...
  No subnet declaration for ens3 (no IPv4 addresses).
  ** Ignoring requests on ens3.  If this is not what
     you want, please write a subnet declaration
     in your dhcpd.conf file for the network segment
     to which interface ens3 is attached. **

Whoopsie. Let's ensure all the interfaces are there before we proceed
fiddling around with them.

6 months agoTEST-50-MULTINIC: fix how a basename is determined
Lubomir Rintel [Mon, 11 Nov 2019 08:53:01 +0000 (09:53 +0100)] 
TEST-50-MULTINIC: fix how a basename is determined

Analogous to what commit 687e17aa7f2f ("network-manager: fix getting of
ifname from the sysfs path") fixes.

6 months agologtee: time out after a period of no output
Lubomir Rintel [Mon, 11 Nov 2019 16:12:34 +0000 (17:12 +0100)] 
logtee: time out after a period of no output

Travis cuts us short after 10 minutes of slience, giving us no chance to puke
out the output. Be faster.

6 months agoRevert "travis: run TEST-13-ENC-RAID-LVM on Fedora 29"
Lubomir Rintel [Thu, 7 Nov 2019 10:17:57 +0000 (11:17 +0100)] 
Revert "travis: run TEST-13-ENC-RAID-LVM on Fedora 29"

We're on Fedora 31 that should be good enough for this test.

This reverts commit 8238f41b34777c3c75b03a9b598d4b9e1c7bf911.

6 months agoTEST-13-ENC-RAID-LVM: increase memory
Lubomir Rintel [Mon, 11 Nov 2019 13:54:00 +0000 (14:54 +0100)] 
TEST-13-ENC-RAID-LVM: increase memory

In Fedora 31 it ooms until it has, uh, twice the memory.

6 months agodmraid: require kpartx binary
Doan Tran Cong Danh [Fri, 8 Nov 2019 03:53:41 +0000 (10:53 +0700)] 
dmraid: require kpartx binary

dmraid requires kpartx to activate device mapper.
But kpartx is only a recommend dependency.

Check for kpartx's existent first.

Signed-off-by: Doan Tran Cong Danh <congdanhqx@gmail.com>
6 months agomultipath: require kpartx binary
Doan Tran Cong Danh [Fri, 8 Nov 2019 03:53:41 +0000 (10:53 +0700)] 
multipath: require kpartx binary

multipath requires kpartx to activate device mapper.
But kpartx is only a recommend dependency.

Check for kpartx's existent first.

Signed-off-by: Doan Tran Cong Danh <congdanhqx@gmail.com>