One of the big topics we’re working on in Fedora QA right now is what we sometimes refer to as ‘N-1 upgrades’. The Fedora release process is expressly designed such that each release does not go EOL until a short time after the next-but-one release comes out (so Fedora 22 will not go EOL until a month after Fedora 24 comes out). This has a couple of benefits which are generally agreed to be valuable: you always have at least a couple of Fedora stable releases to choose from at any given time (so you have the previous one to fall back on if the current one turns out to be a complete lemon for your purposes), and – theoretically at least – if you maintain long-lived Fedora systems, you don’t have to upgrade to each new release if you don’t want to; you can always skip one.
A problem for the second case, though, is that we don’t ‘officially support’ upgrades across two releases (e.g. from Fedora 21 to Fedora 23, or Fedora 22 to Fedora 24). As I’ve mentioned before, defining what ‘officially support’ means is always a bit tricky when it comes to a free-of-charge community distribution: it is always the case that when anything at all goes wrong with Fedora, we offer a 100% money back guarantee ;). But in this specific case, we can say a couple of things:
- The release criteria require that upgrade from a clean install of the previous stable release works, but not an upgrade from a clean install of the last-but-one stable release
- There are no official packaging requirements for ‘N-1’ upgrade support
- Until recently, there was no formal testing of ‘N-1’ upgrades
The official ‘story’ on this was that even if you wanted to skip a release entirely, you were supposed to upgrade through it – so if you wanted to run Fedora 21 until it went EOL then go to Fedora 23, you were still supposed to upgrade to Fedora 22 first, then straight to Fedora 23. This has long struck many people as a bit odd, though, and recently we’re taking steps to do something about it.
Fedora upgrades in general have certainly become a lot more reliable lately, first with the introduction of fedup, then DNF-based upgrades. We’ve done some informal, ad-hoc testing of N-1 upgrades for the last couple of releases, and found that in general, they tend to work. So for the Fedora 24 cycle, we’re trying to put this on a bit more of a formal, supported basis.
openQA now has two sets of upgrade tests; it will always test upgrades from both the current stable release and the previous stable release, for clean installs of the Workstation and minimal package sets (we will probably extend the coverage to other package sets soon). We have added a second set of upgrade test cases to the release validation test pages, covering upgrades from the previous stable release. And finally, we’ve been discussing making N-1 upgrade support ‘required’ in a couple of senses: adding it to the release criteria and packaging guidelines. The current status is that the QA team is agreed that this should happen, but it’s not something we can decide alone, so we are working on an FPC request to change the packaging guidelines.
We’re certainly interested in hearing feedback on this topic, so if you have any thoughts, please post them to the test@ mailing list, or pass them along on IRC or anywhere else you find Fedora QA folks!