Comment 25 for bug 1848923

Revision history for this message
Martin Pitt (pitti) wrote :

Verification for groovy:

I took a 20.10 VM with current pollinate 4.33-3ubuntu1, and after booting, pollinate.service is in state failed as per the bug description.

I then updated to 4.33-3ubuntu1.20.10.1. The package update auto-restarted pollinate.service, and it looked successful:

# systemctl status pollinate
● pollinate.service - Pollinate to seed the pseudo random number generator
     Loaded: loaded (/lib/systemd/system/pollinate.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Tue 2021-02-16 06:03:56 UTC; 1min 45s ago
       Docs: https://launchpad.net/pollinate
    Process: 2815 ExecStart=/usr/bin/pollinate (code=exited, status=0/SUCCESS)
   Main PID: 2815 (code=exited, status=0/SUCCESS)

Feb 16 06:03:56 ubuntu systemd[1]: Starting Pollinate to seed the pseudo random number generator...
Feb 16 06:03:56 ubuntu pollinate[2830]: client sent challenge to [https://entropy.ubuntu.com/]
Feb 16 06:03:56 ubuntu pollinate[2844]: client verified challenge/response with [https://entropy.ubuntu.com/]
Feb 16 06:03:56 ubuntu pollinate[2851]: client hashed response from [https://entropy.ubuntu.com/]
Feb 16 06:03:56 ubuntu pollinate[2852]: client successfully seeded [/dev/urandom]
Feb 16 06:03:56 ubuntu systemd[1]: pollinate.service: Succeeded.
Feb 16 06:03:56 ubuntu systemd[1]: Finished Pollinate to seed the pseudo random number generator.

It does not have RemainAfterExit=, so that is as expected. I rebooted the VM, and the unit skipped cleanly, again as expected:

# systemctl status pollinate
● pollinate.service - Pollinate to seed the pseudo random number generator
     Loaded: loaded (/lib/systemd/system/pollinate.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
  Condition: start condition failed at Tue 2021-02-16 06:06:58 UTC; 6s ago
             └─ ConditionPathExists=!/var/cache/pollinate/seeded was not met
       Docs: https://launchpad.net/pollinate

Feb 16 06:06:58 ubuntu systemd[1]: Condition check resulted in Pollinate to seed the pseudo random number generator being skipped.

# ls -l /var/cache/pollinate/
total 0
-rw-r--r-- 1 pollinate daemon 0 Feb 16 06:03 seeded

Now let's re-try the cleanup:

# rm -rf /var/cache/*
# reboot

This causes the shutdown process to last a little longer, presumably because running daemons got their files ripped away underneath them, but it does succeed. After it came back up, pollinate.service once again ran successfully like above.