~dbungert/curtin:generate-main

Last commit made on 2021-08-09
Get this branch:
git clone -b generate-main https://git.launchpad.net/~dbungert/curtin
Only Dan Bungert can upload to this branch. If you are Dan Bungert please log in for upload directions.

Branch merges

Branch information

Name:
generate-main
Repository:
lp:~dbungert/curtin

Recent commits

22b4b20... by Dan Bungert

bin/curtin: update generator for recent changes

bin/curtin is a generated file, but has been edited directly recently.
Update the generator tools to match recent changes.

40a09ae... by Michael Hudson-Doyle

tweak making mountpoints private some more

My recent change to move the making of mountpoints private into
do_umount actually made it ineffective. I tried to change things
so that we always made mountpoints private before unmounting them
but that ran into problems of its own. So I changed do_umount to
have a "private" flag ChrootableTarget.__exit__ could use to
request that mountpoints be made private before unmounting, which
makes things work again but I still don't see how to make a
generally robust "curtin unmount" command, as explained at length
in the comment I added.

8d8687f... by Michael Hudson-Doyle

curthooks: do not unconditionally copy e/n/interfaces to target

When I tried to install a more-minimal server image using curtin, it
failed in copy_interfaces because the image did not have an /etc/network
directory at all (full ubuntu-server images have this directory because
ethtool installs files in there). Fix this by shuffling around how the
$state_dir/interfaces file is handled a bit: basically it used to always
be created by the install commmand and then updated by the net-meta
command. Change this to have the file only be created by net-meta, then
curthooks can copy it if and only if it exists.

49626ef... by Lukas Märdian

block: handle /dev/mapper/* in dev_path()

Fixes LP: #1895192

3673687... by Michael Hudson-Doyle

curthooks: do not add lvm devices filter when / is mutipathed

This code was added to defend against lvcreate seeing multiple paths to
a PV but the relevant udev rules already protect against this, and the
devices filter prevents assembling a VG containing an encrypted volume.

LP: #1895192

c06ee5f... by Dan Bungert

Extend the 'format' schema for unknown fstypes

Permit arbitrary fstype values if preserve == true
Goal here is to enumerate more filesystem formats, ones that blkid
recognizes, but not claim in any way that we can create them.
This is useful for presenting existing filesystem partitions to users
in an installer, as otherwise they just get unhelpfully marked as
'unknown'.

e0d2959... by Michael Hudson-Doyle

move making mounts recursively private into do_unmount

This means that running "curtin unmount -t /target" gets the robustness
improvments that were recently added to ChrootableTarget.

d2894d0... by Michael Hudson-Doyle

disk_handler: fix partitioning a new RAID

The commmit "disk_handler: check wipe field when deciding whether to
reformat raids" fixed the case of putting a partition on an existing
raid but broke the case of putting a partition on a new RAID.

I adapted a vmtest to exercise this path too.

abd623e... by Lukas Märdian

curthooks:setup_zipl: use proper device path in root= arg for cmdline

Using root=UUID=... is not supported, according to
https://wiki.ubuntu.com/FSTAB

1f663e5... by Michael Hudson-Doyle

fix tearing down ChrootableTarget when mounts appear while it is set up

There are several bug reports that boil down to
ChrootableTarget.__exit__ failing to unmount bind mounts with "target is
busy". For example, ssh-ing in while running tends to do this, because
that creates a mount in /run and then umounting /target/run fails
because of the sub mount. Fix this by marking the mountpoints
recursively private and then unmounting them recursively.

LP: #1928839
LP: #1934775