[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lenny upgrade-advisor


I have re-worked upgrade-advisor to make it pluggable. Also it's now
hosted on collab-maint[1]. This should make it easier for anyone to
submit a plug-in that detects and warns potential issues.

How it works
Before upgrading, running `upgrade-advisor pre-upgrade` will :
* Report post-upgrade recommendations from a previous upgrade, like
  detecting wrong update-grub path in /etc/kernel-img.conf.
* Perform various pre-upgrade test. Currently, it mainly focuses on
  warning for discontinued packages.
  But the long term goal is test all potential issues listed in the
  Release Notes.

After upgrading, running `upgrade-advisor post-upgrade` will :
* Perform some tests to ensure that steps listed in "Preparing for
  the next release" of the Release-Notes are completed.

Your Contributions
+ Testing/Feedback is welcome (It's still beta quality, so I haven't
  uploaded the package yet). To use/test it, run :
    sudo apt-get install git-core
    git clone git://git.debian.org/git/collab-maint/upgrade-advisor.git
    ./upgrade-advisor/upgrade-advisor.sh pre-upgrade
  Feedback for false positive and false negative is especially welcome.

+ Help list packages that "require a human intervention" [2].
  I am planning to list the installed packages that "require a human
  intervention" to work after upgrade. This especially include the
  packages that need to be reconfigured/migrated manually.
  If you know such package, please let me know (provide a short
  description, like "re-configure /etc/foo.conf").
  The purpose is to let the sysadmin estimate the system "downtime".

+ Contributing a plug-in.
  You can contribute a plug-in, that warns users before
  they upgrade their systems.
  Here's a sample plugin :

### START of: plugins/A-20_check_update_grub_path ###

check_update_grub_path() {
        # This plugin applies to Etch and above only.
        [ $CURRENT_OS -lt $ETCH ] && return 0
        # Verbose/Debug mode.
        start_function "$FUNCNAME" "Checking update-grub path
in /etc/kernel-img.conf"

        # The actual test.
        if grep -E "[[:blank:]=]+/sbin/update-grub" \
            /etc/kernel-img.conf > /dev/null 2>&1; then
                alert "The path to update-grub in /etc/kernel-img.conf
is wrong."
                extra "$RELNOTES/ch-upgrading.en.html#s-for_next"

        #Done !
        end_function "$FUNCNAME"
### END ###

On Tue, 2008-09-09, Alexander Reichle-Schmehl wrote: 
> Am 7.9.2008 schrieb "Franklin PIAT" <fpiat@bigfoot.com>:
> >I've worked on an upgrade advisor tool for Lenny. The idea is to do some
> >sanity check to then warn the users of potential problems (and also
> >advertise some best practices). The example below should be quite
> >explicit.
> Wonderfull idea!  Are you "synchronizing" with the release notes? 
> Meaning, that you things you test, are documented there and vice versa?

I've synch'ed some of them... but more work is needed.

Finally, I'm wondering what would be the most convenient way to
distribute this tool. Any idea ?


[1] http://git.debian.org/?p=collab-maint/upgrade-advisor.git;a=summary
[2] http://wiki.debian.org/NewInLenny/HumanInterventionNeeded

Reply to: