ChrootableTarget: add /run to mounts for redhat targets
Recent updates to redhat target images appear to require
/run to be mounted. Update ChrootableTarget to allow callers
to specify a list of mounts needed. In curthooks.setup_grub
if target is redhat, then ensure that /run is in the list.
vmtest: consolidate vm mem config, defaults via release, env override
vmtest has a few hard-coded places which specify vm ram size of 1G.
Consolidate this configuration and allow the environment to override
the value as needed. Finally, set the default vm ram size in the the
releases and tune Disco release to 2048.
Support for multi-layers images fsimage-layered:// URI
Curtin can now download and mount a layered filesystem image for use
as a source image. Local file or url are supported. Filesystem can be
any filesystem type mountable by the running kernel.
A "fsimage-layered" install source is a string representing one or
more mountable images from a single local or remote directory. The
string is dot-separated where each value between the dots represents a
particular image and the location of the name within the string
encodes the order in which it is to be mounted. The resulting list of
images are downloaded (if needed) then mounted and overlayed into a
single directory which is used as the source for installation.
dname: relax dname req for disk serial/wwn presence for compatibility
Allow disks without serial/wwn values to have dnames and do not raise
a RuntimeError exception which prevented legacy KVM pods from deploying
as their VM configuration lacked disk serial numbers. Per discussion
in the bug, prefer compatibility with these systems, allow dname to remain
unstable and provide a warning in the install log but do not fail
deployment. Update dname match attributes to: ID_WWN_WITH_EXTENSION,
ID_WWN, ID_SERIAL, ID_SERIAL_SHORT.
bcache: ensure partitions on bcache devices are detected as partition
In some cases, when curtin is discovering existing storage devices, a
bcache device with partitions created on top of it, may be recognized
as a bcache device, rather than a partition. If curtin treats a
bcache partition as a bcache device, it will attempt to write to
non-existent files on /sys which results in a failure after timing
out. Resolve this issue by detecting if the target device is a
partition inside the bcache identity function.