Release criterion proposal: upgrade methods

Richard Ryniker ryniker at alum.mit.edu
Wed Sep 26 03:01:06 UTC 2012


"Upgrade" installation is a bizarre beast, because the result is not well
defined.  Yes, a newer set of packages is installed, but a new install
does that.  The reason "upgrade" is so seductive is the notion all one's
configuration and personalization is carried into the upgraded system,
whereas a new installation loses that.

If the only personalization is creation of one userid, that's pretty easy
and separate /home makes it even easier.  On the other hand, a system
with multiple users, complex firewall, e-mail, DHCP server, print, udev,
or other configurations (e.g. the whole /etc/alternatives structure) is
problematic.  The old files preserved by an "upgrade" installation may
not mean what they used to mean... new data or different formats may be
needed, there may even be a new component that replaced what used to be
configured, and this new component uses completely different data.

Think "rpmnew" on steroids.

The sheer number of possibilities and possible effects makes "supported"
a lie (in the sense a user would like it to mean).  The change to systemd
is a fine example, where a user would like "supported" to mean his
initscripts, upstart, or whatever is magically converted to systemd
formats that do exactly what used to be done.  Hah!

In practical terms, upgrade installation "support" means:

  You'll get something that resembles what you used to have, but is
  different.  If you do not notice any differences (except newer versions
  of packages), you are extremely lucky.  If something brakes, you can
  either try to repair the pieces, or perform a new installation.  You are
  welcome to report bugs, but if these cannot be reproduced in a new
  installation, it is likely they will be ignored ("not reproducible" or
  "won't fix", or simply languish until end-of-life).

I remark that "upgrade installation is only supported from the prior
release" simply means "upgrade from F14 to F15; update; upgrade from
F15 to F16; update; upgrade from F16 to F17; update; ..." is the
"supported" path.  Well, that will increase the proportion of new
installations; at least it is good in that respect.

Personally, I am as susceptible to the lure of "upgrade" as most, even
though I "know better."  I have gotten away with upgrade installations,
even through more than one release, but always something eventually
breaks, and a new installation is the proper solution.  I try now to put
more effort into good configuration records, and tools to help me
replicate configurations into new installations... and less into analysis
of what went awry in the last upgrade.

Intellectually, I understand "upgrade" is a snake in the grass, waiting
to bite.  Realistically, I expect soon to again think "Why not try an
upgrade, and see if it works?" and take the (initially) easier road.

Maybe someone with more fortitude (intellectual honesty? discipline?)
than I will kill upgrade, and make the world a better place.  Or at least
document that "upgrade" is offered only on a "good effort" basis, with no
guarantee or support.

Meanwhile, it is like that old, threadbare and torn shirt, overdue for
the dustbin, but "oh! so familiar and comfortable," that still hangs in
my closet and is my first choice when something better is not required.




More information about the test mailing list