PSA: Don’t fedup to Fedora 21 right now (EDIT: you can now!)

EDIT 2014-11-05: It’s fine to fedup to F21 now – at least so far as I know, and so far as the bug described in this post is concerned. We’ve made sure several different ways that you should not possibly be able to hit the 15 minute timeout bug.

It’s probably not a good idea to try and upgrade to Fedora 21 with fedup right now.

Currently Fedora 21 has a build of systemd that includes a new feature that was added upstream after the release of 216, which is intended to time out system startup if it’s not complete after 15 minutes – the idea being to avoid things like your laptop melting / starting a fire in your bag if it gets accidentally powered on, stuff like that.

Unfortunately, turns out that having a timeout that hard powers down the system if boot hasn’t completed after 15 minutes doesn’t work very well with fedup, because while fedup’s actual ‘install the updated packages’ step is running, systemd considers that boot has not ‘completed’. So if you try and fedup to Fedora 21 using a fedup environment that has the affected systemd build (like the one in the Beta tree, and also in the current 21 ‘stable’ tree), and your ‘install updated packages’ boot takes more than 15 minutes, it’ll just suddenly cut off and shut down. Obviously, there’s quite a high chance that’ll leave the system in a broken state.

So: don’t do it. Really, don’t.

We’re currently investigating the best way to deal with this problem, and we’ll certainly try to have it all straightened out by Beta release date (Tuesday). But of course, it’s never a good idea to upgrade a production system to a pre-release, especially if you don’t have good backups!

19 Responses

  1. Matthew Miller
    Matthew Miller November 1, 2014 at 7:02 am | | Reply

    Adam, does this also affect offline updates if the system has not been updated in a while and there is a lot to do?

  2. sheepdestroyer
    sheepdestroyer November 1, 2014 at 7:30 am | | Reply

    Oups, just a little too late for me. I got a system half upgraded with a lot a packages in double. Still able to boot but not log in Gnome. enlightment was still fine though so I could do a backup *after* the failed upgrade. Lucky in my misfortune 🙂
    It was a good excuse to format and install fresh from Beta-RC4 DVD iso for once (was lazyly updating each time since fedora 16)

  3. Daniel Miranda
    Daniel Miranda November 1, 2014 at 9:22 am | | Reply

    What about adding an override for basic.target in /etc/systemd/system to make sure the upgrade works, and removing it after it is done? Should work both as a manual step for now and as an automated step for the installer.

  4. Robin
    Robin November 1, 2014 at 6:45 pm | | Reply

    Does that mean you don’t have any kind of continuous integration for testing whether upgrading works at all?

    Something like this should really be catched by automated testing, and it worries me a bit that it wasn’t AFAICS.

  5. yayo
    yayo November 2, 2014 at 5:57 am | | Reply

    What about fscking really fsck’d rootfs/other partitions, what if that takes too long? Is it time to panic yet.

  6. Howard Chu
    Howard Chu November 3, 2014 at 5:02 am | | Reply

    re: testing a slow update – route to the update server over a 2G modem, or 19.2kbps dialup modem… Or use an update server serving off an SD card. etc…

  7. Rik van Riel
    Rik van Riel November 3, 2014 at 10:10 am | | Reply

    Looks like this could break systems with a very long / slow fsck, too. Not a good idea for servers, either…

  8. Patrick
    Patrick November 5, 2014 at 9:05 am | | Reply

    This works now to upgrade to the first post-beta release candidate from 20 to 21
    > yum update
    > yum install fedup
    > fedup –nogpgcheck –network 21 –product workstation –instrepo
    > https://dl.fedoraproject.org/pub/alt/stage/21_TC1/Server/x86_64/os/

Leave a Reply

Your email address will not be published. Required fields are marked *