Workaround bugs during dapper->hardy upgrades

Bug #496504 reported by Free Ekanayaka
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Landscape Client
Fix Released
High
Free Ekanayaka

Bug Description

The landscape-release-upgrader fails when trying to upgrade from dapper
to hardy.

There several little problems:

1) The upgrade-tool script needs to be passed a magic "--mode server"
  command line argument if the dapper system being upgrader is a server.

2) The environment variable for allowing third-party APT repositories to
   be enabled during the upgrade is not supported (this holds for
   upgrades from hardy as well).

3) The dbus dapper package gets replaced with the hardy version while
   the landscape-release-upgrader process is running. This makes the
   process crash badly (it has an open dbus connection), probably due
   to a bug in dbus.

4) Due to bug #174148, dbus doesn't restart after the upgrade, and hence
   the landscape-client as well. This makes the release-upgrader fail to
   send back a message to the server with the operation result.

The attached branch implements workarounds for all these
problems. Though they were a tricky to debug, the presented fixes are
small, so I'm packing them in same branch.

Note that the workarounds for 3) and 4) are meant to be temporary ones, I
think the real fix should get rid of the dbus dependency at all, pushing
ahead the work Jamu started about an AMP-based remote broker.

 affects landscape-client
 status inprogress
 importance high
 assignee free.ekanayaka
 milestone 1.4.3

tags: added: review
description: updated
Revision history for this message
Free Ekanayaka (free.ekanayaka) wrote :

Still about 3) and 4), I'm considering to eventually add some mechanism to make the release upgrader explicitly check that the landscape-client is up and running after the upgrade is completed, and possibly try to start it if not. If it fails to start it in all ways, it might even contact the Landscape server directly and report the activity as failed and also inform that the client is not running. However, I think the workaround in this branch is enough for now.

Revision history for this message
Kevin McDermott (bigkevmcd) wrote :

Ok, I don't think that "/etc/X11/xorg.conf" is a very reliable way of detecting a "desktop" system, given that Ubuntu Dapper (6.06) went out of Support for desktops on 6/June/2009, I don't think we have to detect desktop systems unless it's a problem for someone.

I think this logic should be stripped out, unless a more reliable way of detecting what ever breaks in server installations can be found.

Revision history for this message
Thomas Herve (therve) wrote :

One pyflake:
landscape/package/tests/test_taskhandler.py:8: 'RemoteBroker' imported but unused

+1!

Revision history for this message
Kevin McDermott (bigkevmcd) wrote :

Looks better to me, +1

tags: removed: review
Revision history for this message
Free Ekanayaka (free.ekanayaka) wrote :

Thanks Kevin and Thomas!

(pyflakes fixed)

tags: added: 1.5-release-upgrades
Changed in landscape-client:
status: In Progress → Fix Committed
tags: added: needs-testing
Revision history for this message
Free Ekanayaka (free.ekanayaka) wrote :

Tested a dapper->hardy upgrade (server version) against the official packages from the Landscape APT repo. All fine.

tags: removed: needs-testing
Changed in landscape-client:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.