diskimage-builder/elements
Ian Wienand 9cd35c36e4 Fix startup race with growroot/systemd
Tucked away in systemd-udev-settle.service is the following comment

 # This service can dynamically be pulled-in by legacy services which
 # cannot reliably cope with dynamic device configurations, and
 # wrongfully expect a populated /dev during bootup.

The info that the growroot script is querying is populated via udev,
particularly the blkid bits of [1].  This creates a race-condition
where sometimes udev has been triggered and the rules have applied and
sometimes not.  Obviously in the first case, the root disk is not
grown correctly.

systemd-udev-settle is mostly disabled on distros because it can cause
an increase in boot-time for systems with lots of disks; this is not
our situation so it makes basically no difference.

That said, I will investigate if some systemd people know even better
ways to do this (possibly the service should depend on block .device
targets in systemd, and then filter out and only apply to the root
disk?)

[1] https://github.com/systemd/systemd/blob/master/rules/60-persistent-storage.rules#L66

Change-Id: I453e3afcd953dfc29ab6c42ddc81e940cfa70ee0
2016-02-10 13:47:18 +11:00
..
apt-conf Update apt-conf elements README from free text to table formatting 2015-10-08 17:12:46 -07:00
apt-preferences Update apt-preferences element README from free text to table formatting 2015-10-08 17:14:16 -07:00
apt-sources Initial element tests 2015-05-17 02:07:40 +00:00
architecture-emulation-binaries Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
baremetal Merge "Turn docs warnings into errors and fix issues" 2015-05-06 17:48:16 +00:00
base Fix Gentoo hardened support 2016-02-01 20:56:37 -06:00
bootloader Add pkg-map for redhat 2016-01-15 12:06:16 -08:00
cache-url Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
centos Skip centos functional testing 2016-02-02 10:34:18 +11:00
centos7 Merge "Download a compressed centos cloud images" 2015-09-18 10:18:55 +00:00
centos-minimal yum-minimal: do not configure eth0 & eth1 for DHCP automatically 2015-12-22 08:39:04 +11:00
cleanup-kernel-initrd Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
cloud-init Add new cloud-init element 2016-02-01 21:03:03 -06:00
cloud-init-datasources Simple-init should disable cloud-init 2015-05-11 16:55:02 +00:00
cloud-init-disable-resizefs Add element to disable cloud-init resizefs 2015-07-21 14:09:07 -07:00
cloud-init-nocloud Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
debian Fix debian-minimal image building 2016-01-28 16:41:35 +03:00
debian-minimal Fix debian-minimal image building 2016-01-28 16:41:35 +03:00
debian-systemd Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
debian-upstart Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
debootstrap Fix debian-minimal image building 2016-01-28 16:41:35 +03:00
deploy Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
deploy-baremetal Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
deploy-ironic deploy-ironic: Fix syntax error when checking for root device hints 2016-01-07 12:06:19 +00:00
deploy-kexec Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
deploy-targetcli Optimize Python install in deploy-targetcli 2015-06-22 13:19:14 -05:00
deploy-tgtadm No markdown docs for elements 2015-04-02 23:55:19 +00:00
devuser Fix devuser pubkey defaults 2015-10-13 17:54:09 -07:00
dhcp-all-interfaces Remove quotes from subshell call in bash script 2015-09-28 17:36:05 +08:00
dib-init-system Add support for OpenRC to dib-init-system 2016-02-02 17:23:35 -06:00
dib-python Force dib-python symlink creation 2016-01-21 13:25:33 -06:00
dib-run-parts/root.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
disable-selinux/post-install.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
dkms Make dkms element depend on dkms package 2015-12-26 22:07:19 +00:00
docker Add base element for using docker as image base 2015-07-19 10:23:34 +00:00
dpkg Update dpkg elements README from free text to table formatting 2015-08-31 13:43:04 -07:00
dracut-network Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
dracut-ramdisk Make troubleshoot work with dracut ramdisks 2015-04-08 12:54:32 -05:00
dynamic-login Follow up patch for 25d3ee5471 2015-12-01 14:11:40 +00:00
element-manifest Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
enable-serial-console Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
epel The mirror for installing epel is timing out 2016-01-04 07:45:34 -05:00
fedora Remove zero length files 2016-01-20 19:08:54 -05:00
fedora-minimal Remove fedora-minimal/install.d/99-ramdisk 2015-11-19 21:03:45 +11:00
gentoo Fix Gentoo hardened support 2016-02-01 20:56:37 -06:00
growroot Fix startup race with growroot/systemd 2016-02-10 13:47:18 +11:00
grub2 Merge "Allow grub2 to build with opensuse" 2015-12-16 01:25:10 +00:00
hpdsa Add a new element hpdsa 2015-12-10 20:12:14 +00:00
hwburnin Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
hwdiscovery Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
ilo Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
install-static Install-static depends on rsync 2015-08-17 16:21:09 +00:00
install-types Break install-types out of base 2015-04-14 13:39:18 -04:00
ironic-agent Revert "Use pip 7 for ironic" 2016-01-22 15:34:46 +00:00
ironic-discoverd-ramdisk Revert "Fix discoverd bug when dmidecode reports GB" 2016-01-15 16:07:58 +00:00
iso Adds debian support to iso element 2015-09-23 23:55:18 -07:00
local-config Add openssh-server package-install to local-config 2015-12-07 15:23:00 -05:00
manifests Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
mellanox Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
modprobe-blacklist Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
oat-client Add oat-client element 2015-06-26 09:57:12 +08:00
opensuse opensuse: Update README 2015-07-01 22:03:50 +02:00
package-installs Fix package-installs for python3 2016-02-01 22:22:15 +00:00
pip-and-virtualenv Add pip-and-virtualenv element 2016-01-06 18:39:19 +00:00
pip-cache Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
pkg-map Print unparsable file in pkg-map 2016-01-14 16:21:25 +11:00
proliant-tools Add proliant-tools element 2015-11-09 07:58:00 +00:00
pypi Merge "Allow setting DIB_PIP_RETRIES" 2015-04-23 03:51:57 +00:00
ramdisk Merge "Add element ubuntu-signed to provide signed kernel" 2015-04-28 11:02:44 +00:00
ramdisk-base Add support for Xen PV disks 2015-10-19 15:38:00 +01:00
rax-nova-agent rax-nova-agent: switch to $DISTRO_NAME 2015-05-12 17:48:49 +02:00
redhat-common Fix title of env vars section of redhat-common README to match template 2015-10-08 17:05:57 -07:00
rhel Use shorter temporary file names for kpartx 2015-04-21 10:36:33 +02:00
rhel7 Update rhel7 element readme 2015-10-12 15:31:09 -05:00
rhel-common rhel-common element should not use attach with activation key 2015-05-25 07:18:47 -04:00
rpm-distro Set and export DIB_RELEASE for centos7 2015-08-04 08:35:20 -07:00
select-boot-kernel-initrd Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
selinux-permissive Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
serial-console Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
simple-init Switch simple-init to pip-and-virtualenv element 2016-02-08 16:58:14 +11:00
source-repositories Add support for Gentoo to source-repositories 2016-02-01 10:02:32 +11:00
stable-interface-names Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
svc-map Initial add of gentoo support for diskimage-builder 2016-01-12 19:15:00 -06:00
uboot Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
ubuntu Set DIB_RELEASE in ubuntu element 2015-03-04 23:11:27 +00:00
ubuntu-core Use shorter temporary file names for kpartx 2015-04-21 10:36:33 +02:00
ubuntu-minimal Split the debootstrap functions into an element 2015-04-26 18:04:59 +00:00
ubuntu-signed Add element ubuntu-signed to provide signed kernel 2015-04-12 11:36:17 -07:00
vm Split vm and bootloader elements 2015-12-15 20:49:03 +01:00
yum Reset yum/dnf cache to correct location 2015-10-14 06:36:06 +11:00
yum-minimal Merge "yum-minimal : install selinux policy packages" 2015-12-22 20:16:11 +00:00
zypper Standarise tracing for scripts 2015-02-12 10:41:32 +11:00