Currently we push for a model where the initramfs is generated (in non-hostonly mode), and merely replicated. However, to support a few unfortunate corner cases like dm-multipath which wants to inject a config file into the initramfs, we need to support regenerating it client side too. Down the line, we'll need this to support overriding the kernel too. This changes things in the core to add the concept of an "empty" `RpmOstreeContext`. I initially tried skipping it, but that was too much duplication. We still want all of the core ostree-related logic that lives in that code too. The treespec bits barfed if the spec didn't have a `tree/packages` key. It was simplest to change that to allow it - and because that was the only case where we errored out in parsing, I dropped the error handling. There was another place in the upgrader that now needed to be fixed to handle transitioning from just regenerating initramfs to not. Closes: #574 Approved by: jlebon
Tests are divided into three groups:
-
Tests in the
check
directory are non-destructive and uninstalled. Some of the tests require root privileges. Usemake check
to run these. -
The
composecheck
tests currently require uid 0 capabilities - the default in Docker, or you can run them via a user namespace. They are non-destructive, but are installed.To use them, you might do a
make && sudo make install
inside a Docker container.Then invoke
./tests/compose
. Alternatively of course, you can simply run the tests on a host system or in an existing container, without doing a build.Note: This is intentionally not a
Makefile
target because it doesn't require building and doesn't use uninstalled binaries. -
Tests in the
vmcheck
directory are oriented around using Vagrant. Usemake vmcheck
to run them. See alsoHACKING.md
in the top directory.
The common
directory contains files used by multiple
tests. The utils
directory contains helper utilities
required to run the tests.