So, since the release is soon and since no one seemed to have horror stories on the upgrade, I decided to upgrade my laptop to F29. Spoiler: it doesn’t end well and would likely just negate all the good work done by Fedora improvement to get back mind share.
So, my laptop is a Lenovo T470s, paid by my employer. As people know, I had some issues to get partitioning as I wanted, I did faced SELinux issues in the past because the policy wasn’t ostree aware, etc. But in the end, I did managed to get what I wanted, and after some efforts, it was working kinda okayish. So I figured “Fedora upgrade usually work quite well, so I guess Silverblue would be the same”. Turn out that I am not always right, and when I am wrong, I am very wrong.
So my motivation to upgrade was mostly to get fwupd running. Every day, I do get the same notification on “there is a firmware upgrade”, and since that is my fix the latest version of Meltdown-like CPU fix, I kinda prefer to upgrade before someone find a way to abuse that from javascript. This bug was reported: Lenovo T470s fw update does not work · Issue #665 · fwupd/fwupd · GitHub
So after waiting for a upgrade on F28 that seems to never come, I decided to jump on F29, release is in 2 weeks.
So first issue, the upgrade doc was bad. I did send a patch for fixing that: https://docs.fedoraproject.org/en-US/fedora-silverblue/upgrades/
But surprise, the doc I sent is also wrong, because we renamed the branch between F28 and F29, and as far as I know, this wasn’t written anywhere I looked. And since this got merged anyway, that also mean that our docs verification is next to non existent, and/or no one is aware. The whole point of review is to review.
So I did the slow upgrade (because the mirror issue is still not fully fixed and I forgot to enable the mirror, hoping that maybe, someone will start to care about us non US folks by default), and ended with a rather old version of F29. The only way I could figure something was going on was the date at the reboot, which was somewhere middle of august. And so, after a bit of ostree mang pages reading, yes, the ref got changed to “silverblue”. Nice pointless breakage, but well, ok, let’s do again the slow upgrade and reboot.
Then it fill my hard drive. The fact that a basic desktop is able to fill a 25G of hard drive is a bit puzzling, but I guess all the component duplication of flatpak, of docker, of podman is taking a toll. So I do some cleanup, again from the commandline to get the upgrade running (because last time it went out of space, stuff broke in interesting way)
So it reboot fine, and so I start to fiddle around. So I start to get around, go on the web, watch videos, etc.
And I go see a training on tensorflow, and decide to just pop a container for that. Ctrl - R, look for my podman command:
$ podman run -it --privileged --rm fedora:28 /bin/bash
ERRO[0001] could not find slirp4netns, the network namespace won't be configured: exec: "slirp4netns": executable file not found in $PATH
[root@15dadde61f5f /]#
“network not configured” is a interesting error, because this was working fine before, and as much as I appreciate the extra layer of security this give me, the container is close to useless with this.
The solution is now to either layer “slirp4netns” (but then, why isn’t it done by default ?), or use --network host. See "could not find slirp4netns, the network namespace won't be configured: exec: "slirp4netns": executable file not found in $PATH" · Issue #1234 · containers/podman · GitHub for more informations.
I would have reported it if I had a idea on where to do that, because there is again no doc to guide people for reporting and this whole project (Silverblue) is a messy hotchpotch that is just about to get messier.
So with the workaround found, I start to look again at my disk space, because that is still a issue. A few df later, the problem is quite easy, there is lots of space used in /var/lib/docker, and in /var/lib/flatpak, and /var/lib/containers. So I do remove some flatpak (because older SDK did tend to accumulate here, but I guess nowadays, people just have disk to spare), remove the duplicate Fedora containers from podman (because for some reasons, I did had some from docker hub, some from fedora registry), and start to look at cleaning the docker images.
Surprise, docker is no longer installed:
[misc@windgrace ~]$ rpm -qa | grep docker
[misc@windgrace ~]$
Great, so the upgrade would have broke my workflow if I was using docker, and left me with a 3G of blobby data I can’t read or manipulate easily. As my patience was running out low, I just nuked that. I already didn’t trust Docker for anything so I placed nothing important there anyway, but maybe “potential data lose” should be higher on the list of stuff we want to avoid.
Good, so my space is back, i can go back on my training. I download the zip file, open it, see that all files are world writable, see that Nautilus didn’t see that as a issue, and keep a note to investigate that later. And I start to double click to open a file.
Surprise, Gedit got removed. Double surprise, the UX to get it back is rather suboptimal. After double clicking on the file, I get a popup that say “do you want to search”, I say “yes”, I get a notification in the taskbar that say nothing was found, and again the same search popup in loop until I say “no”. Not really believing my eyes, I start to look for gedit, and see that indeed, this is not installed. Exalm on IRC point to https://discussion.fedoraproject.org/t/changes-in-fedora-silverblue-29/ , which started back in August. I did remember the discussion, but given the breakage, I would have think someone would have reverted and fixed the change, cause you know, we care about users. Seems not.
But no, there is no Gedit, and the workflow to install it is broken. Ok so I install, I do read my python source code, start my video.
Then I get a Telegram message from a friend, and wanting to see what time is in their timezone, I see that I lost the clock in the calendar widget, which is the straw that broke the camel’s back and what prompted me to write this rant. Again, the root cause is likely the fact that Gnome Weather got removed like Gedit.
But Silverblue is supposed to be the preferred version of Fedora Workstation, Fedora Workstation who is supposed to be aiming for devs. As someone part of the target market, I kinda feel the current state to be a joke.
Fedora Workstation website show for example “Built-in support for Docker” (Fedora Workstation), but that’s wrong, since it got removed.
The website say “support developper”, but that is also wrong, since Gedit isn’t even installed, and seems no one tested the basic part of “running a python software”, otherwise the rootless bug I stumbled on would have been found.
I am kinda sure I am doing nothing special as a user this time, and yet, it took me just 1 day of using to see that basic features are broken since a few weeks, and that no one seems to fix them. Either no one is using it, or people just work around them. Even more shocking, the test days did had lots of participants: Silverblue Test Day , and yet, basic stuff went likely untested.
And the issue with upgrading my firmware, the one that prompted me to do the upgrade in the first place ?
Guess what, that’s still broken. I suspect I will finally have to report it somewhere, once I will find where to do it, and what broke in the first place, as I am sure this is related to Silverblue.
I am not against being the guinea pig, but part of the social contract of helping tests is also to get bug fixes, or at least, be able to workaround without much trouble. And Silverblue is not that, and this create more problems than it solve. So yeah, maybe I should just go back on regular Fedora, who offer almost all that Silverblue provides, without the endless stream of problems.