lp:~smoser/curtin/trunk.lp1402042

Created by Scott Moser and last modified
Get this branch:
bzr branch lp:~smoser/curtin/trunk.lp1402042
Only Scott Moser can upload to this branch. If you are Scott Moser please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Scott Moser
Project:
curtin
Status:
Merged

Recent revisions

224. By Scott Moser

declare the separator expected on kernel command line

this just makes KERNEL_CMDLINE_COPY_TO_INSTALL_SEP available to a
user of curtin, so they can determine which argument splits kernel
flags that should be copied over to target.

maas will use this as:
 import curtin
 cmdline_copy_sep = getattr(
     curtin, 'KERNEL_CMDLINE_COPY_TO_INSTALL_SEP', '--')

223. By Scott Moser

copy over params after --- or --

maas will need to be fixed also, but this should suffice for curtin.

222. By Scott Moser

fix uefi install path on nvme devices

This fixes the install to a NVME device (named like 'nvme0n1') for UEFI.
The issue was that the 'pt_uefi' method in helpers/common was not using
the 'find_partno' but was expecting the partition to be named 'nvme0n115'

221. By Scott Moser

detect_multipath: force rescan of block devices prior to blkid

Given /dev/sda and /dev/sdi point to the same block device, and:
  wipe-disk-and-partitions /dev/sda
  partition /dev/sda
  blockdev --rereadpt /dev/sda
  udevadm settle
  mkfs /dev/sda2

'blkid -c /dev/null' will only see /dev/sdi2 and read its filesystem UUID
if the device had the same partition table before the wipe operation.
Nothing would have caused the kernel to update its knowledge of partitions
on /dev/sdi.

blkid only reads data from devices (and partitions) the kernel provides
data about. It does not open block devices and read partition table
information itself.

The change here is to re-scan all block devices (those unmounted and
readwrite) before running blkid.

The other change is to grow the list of cache files that are known to be
read by blkid. Experimentation shows that 14.04 reads /dev/.blkid.tab
even though that is not documented.

The reason we're removing cache files rather than using 'blkid -c
/dev/null' is that this command would have no affect on the cache files.
If we're going to scan, we might as well cache.

220. By Scott Moser

merge more multipath work / boot by root=/dev/mappings/mpathX-partY

This contains a couple different changes/fixes.
The biggest one is change in how multipath boot is set up.
Instead of configuring all the multipath devices with mpath names,
we only do so for the disk with the root partition.

Then, we boot with root=/dev/mappings/mpath0[-partX] rather than
booting with UUID, which is unreliable (LP: #1429327).

 * support wiping full partition or disk in helpers/common
 * wipe full PReP partition to avoid grub complaining about
   it not being empty.
 * when we run 'multipath -F' to un-setup multipath devices
   we need to accept an exit code of '1' which occurs when not
   some multipath devices are busy (such as if they're mounted).

219. By Scott Moser

curthooks: know kernel mapping for wily (4.2)

The KERNEL_MAPPING needs to be kept up to date for lts enablement kernel
versions. This just adds wily as 4.2.

This is only relevant for mapping kernel major.minor to -lts-<releasename>.

218. By Scott Moser

multipath: minor bug fix and comment clarifications

217. By dann frazier

support UEFI-based ARM64 systems

This adds logic to support installation of ARM64 systems that use UEFI.

216. By Scott Moser

helpers/common:install-grub fix usage of lsblk

This should have been fixed back with bug 1386275.
install-grub used lsblk with the shorter '--out=' which is
now ambiguous.

215. By Oleg Strikov

multipath: Generate /etc/multipath/bindings file during installation.

File /etc/multipath/bindings assigns permanent names to the multipath
devices. This file needs to be created during installation to avoid
spontaneous device name shuffling during boot.

We can't use multipath ('multipath -r') utility to generate bindings
because it needs to have dm-multipath kernel module inserted. That module
might not be available or loaded in the install environment. So we
manually generate this file.

Currently this only inserts entries into the file for disks that show
up in output of 'blkid'. Those will be any disk that has a filesystem
on it (root disk or as a partition).

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~curtin-dev/curtin/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers