pollinate should not run in containers and only for first boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pollinate (Ubuntu) |
Fix Released
|
Low
|
Martin Pitt | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Low
|
Martin Pitt |
Bug Description
Booting a xenial cloud image in lxd shows that pollinate by far is the biggest bottleneck:
$ systemd-analyze blame
2.756s pollinate.service
656ms cloud-init-
598ms cloud-init.service
509ms cloud-config.
393ms cloud-final.service
147ms networking.service
[...]
This is the second boot, so cloud-init should not actually do anything any more (it takes muuuch longer on the first boot).
pollinate should not run in containers at all, as containers take randomness from the host. Also, for VMs it should only run for the first boot. Both upstart and systemd save the random seed on shutdown and load it at boot, which is a lot faster than pollinate.
So pollinate.service should grow
ConditionVirt
ConditionPath
== SRU ==
[IMPACT]
Some Xenial boots take longer than they should. Pollinate should only run once, at first boot, and never in containers. And should never take longer than 3 seconds.
[TEST CASE]
Boot a new Xenial instance. Ensure that pollinate runs the first time it boots. You can check that in /var/log/syslog and ensure that /var/cache/
[REGRESSION POTENTIAL]
The regression potential is important. We need to ensure that we don't somehow *never* pollinate the first time.
Related branches
tags: | added: bootspeed |
tags: | added: cloud-image xenial |
Changed in pollinate (Ubuntu): | |
status: | New → Fix Committed |
assignee: | nobody → Martin Pitt (pitti) |
importance: | Undecided → Low |
Changed in pollinate (Ubuntu Xenial): | |
status: | New → Triaged |
assignee: | nobody → Martin Pitt (pitti) |
importance: | Undecided → Low |
Changed in pollinate (Ubuntu Xenial): | |
milestone: | none → xenial-updates |
Changed in pollinate (Ubuntu Xenial): | |
status: | Triaged → In Progress |
description: | updated |
tags: |
added: cloud-images removed: cloud-image |
This bug was fixed in the package pollinate - 4.16-0ubuntu1
---------------
pollinate (4.16-0ubuntu1) yakkety; urgency=medium
[ Martin Pitt ]
* Don't run pollinate.service in containers (as containers can't and should
not write the host's random pool) and when we already have a saved random
seeds (i. e. only on first boot). (LP: #1578833)
* Bump Standards-Version to 3.9.8 (no changes needed).
[ Dustin Kirkland ]
* pollinate: use timeout(1) to limit curl, related to LP: #1578833
-- Dustin Kirkland <email address hidden> Wed, 09 Mar 2016 17:38:22 -0500