[Pkg-xen-devel] upgrade report (2.0.6 -> 3.0-testing+pkgxen)
Ralph Passgang
ralph at debianbase.de
Thu Mar 2 23:22:39 UTC 2006
Hi,
so here is finally my upgrade report for my testsystem. I tried to upgrade to
xen3 while xen2 (hypervisor, dom0 kernel + 1 domU) was running:
1) if xen2 (adams latest packages in this case) were installed and we would
release our package as it is, we would generate the following enviorment:
# apt-get upgrade -u
Reading package lists... Done
Building dependency tree... Done
The following packages have been kept back:
libxen-python xen
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
# apt-get dist-upgrade -u
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
The following packages will be REMOVED:
libxen2.0 xen
The following NEW packages will be installed:
libxen3.0
The following packages will be upgraded:
libxen-python
1 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
Need to get 0B/464kB of archives.
so on a upgrade nothing would happen, xen and libxen-python is only kept back.
on a dist-upgrade libxen2.0 and xen gets removed and libxen3.0 gets installed
and the libxen-python package gets updated, but no xen-hypervisor-3.0 or
xen-utils-3.0 gets installed. so this would brake old xen2 setups without
installing all needed stuff for xen3.
2) On the actual upgrade this happend:
(Reading database ... 52207 files and directories currently installed.)
Removing xen ...
/usr/lib/python2.3/site-packages/xen/xend/server/SrvDir.py:3:
DeprecationWarning: twisted.protocols.http has moved to twisted.web.http. See
http://twistedmatrix.com/projects/web.
from twisted.protocols import http
Shutting down all Xen domains:(111, 'Connection refused')
Error: Error connecting to xend, is xend running?
*
invoke-rc.d: initscript xendomains, action "stop" failed.
dpkg: error processing xen (--remove):
subprocess pre-removal script returned error exit status 1
System startup links for /etc/init.d/xend already exist.
/usr/lib/python2.3/site-packages/xen/xend/server/SrvDir.py:3:
DeprecationWarning: twisted.protocols.http has moved to twisted.web.http. See
http://twistedmatrix.com/projects/web.
from twisted.protocols import http
/usr/lib/python2.3/site-packages/xen/xend/server/SrvDir.py:3:
DeprecationWarning: twisted.protocols.http has moved to twisted.web.http. See
http://twistedmatrix.com/projects/web.
from twisted.protocols import http
System startup links for /etc/init.d/xendomains already exist.
Starting auto Xen domains:
Errors were encountered while processing:
xen
E: Sub-process /usr/bin/dpkg returned an error code (1)
So an upgrade is not working very well, but it comes worse: apt-get install -f
is not reporting more errors:
# apt-get install -f
Reading package lists... Done
Building dependency tree... Done
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
so what's next? I tried to upgrade/install the packages again but it fails
exactly with the same error. Even purging the xen package (also with
--force-all) fails. the only solution I found was
edit /var/lib/dpkg/info/xen.prerm and to remove the faulty xend and
xendomains lines.
by doing this the upgrade finally worked without further problems.
at the end only xend couldn't start, but that was obviouis and fixed after
installing a xen3 kernel and rebooting the system.
so far so good. the upgrade problems seems to exist because of adams xen.prerm
script. All other aspects of the upgrading seems to work fine. The question
is what to do to help the user upgrading from 2.0.6 to 3.0.1 without having
this kind of problems. is there anything we can do? I guess, that we cannot
do more then just warning the user that this will happen if xen2 is running
while upgrading and strongly advice to use a normal (not xen-enabled) kernel
while upgrading.
3) I noticed that the "xen" packages get removed all the time and I realized
that our "xen" metapackage depends on xen-utils and xen-hypervisor but we
only provide xen-utils-3.0 and xen-hypervisor-3.0, so I changed that by
adding the needed "Provides:" to xen-utils-3.0 and xen-hypervisor-3.0.
Then "dist-upgrade" was happy and wanted to do this on a upgrade from 2.0.6 ->
3.0.1:
# apt-get dist-upgrade -u
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
The following packages will be REMOVED:
libxen2.0
The following NEW packages will be installed:
libxen3.0 xen-hypervisor-3.0 xen-utils-3.0
The following packages will be upgraded:
libxen-python xen
2 upgraded, 3 newly installed, 1 to remove and 0 not upgraded.
Need to get 0B/1863kB of archives.
But that failed because of the problem I saw earlier with my "tha" packages
from debianbase.de. If the "xen" package is not removed at the upgrade we
have the following problem:
dpkg: error
processing /download/.//xen-hypervisor-3.0_3.0.1+hg8746-0+1_i386.deb
(--unpack):
trying to overwrite `/boot/xen.gz', which is also in package xen
&
dpkg: error processing /download/.//libxen-python_3.0.1+hg8746-0+1_i386.deb
(--unpack):
trying to overwrite `/usr/lib/python2.3/site-packages/xen/sv/Wizard.py',
which is also in package xen
dpkg-deb: subprocess paste killed by signal (Broken pipe)
But this is "fixable" by running apt-get install -f, but how to deal with this
in our packages?
(I guess Julien haven't saw that, because on his test he removed the xen
package instead of upgrading it).
--Ralph
More information about the Pkg-xen-devel
mailing list