Merge lp:~jibel/update-manager/AutoUpgradeTester-aptclone into lp:update-manager

Proposed by Jean-Baptiste Lallement
Status: Merged
Merged at revision: 2297
Proposed branch: lp:~jibel/update-manager/AutoUpgradeTester-aptclone
Merge into: lp:update-manager
Diff against target: 508 lines (+309/-20)
18 files modified
AutoUpgradeTester/UpgradeTestBackendQemu.py (+32/-14)
AutoUpgradeTester/auto-upgrade-tester (+58/-0)
AutoUpgradeTester/post_upgrade_tests/python_import_test.py (+8/-4)
AutoUpgradeTester/profile/defaults.cfg.d/defaults.cfg (+2/-0)
AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg (+12/-0)
AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg.dapper (+65/-0)
AutoUpgradeTester/profile/lts-main-all-amd64/install_blacklist.cfg (+46/-0)
AutoUpgradeTester/profile/lts-main-all-amd64/pkgs.cfg (+3/-0)
AutoUpgradeTester/profile/lts-main-all-amd64/prerequists-sources.list (+5/-0)
AutoUpgradeTester/profile/lts-main-all-amd64/removal_blacklist.cfg (+11/-0)
AutoUpgradeTester/profile/lts-main-all/DistUpgrade.cfg (+1/-1)
AutoUpgradeTester/profile/lts-main-all/install_blacklist.cfg (+46/-0)
AutoUpgradeTester/profile/lts-main-all/pkgs.cfg (+1/-0)
AutoUpgradeTester/profile/lts-ubuntu/pkgs.cfg (+2/-1)
AutoUpgradeTester/profile/main-all-amd64/DistUpgrade.cfg (+1/-0)
AutoUpgradeTester/profile/main-all-amd64/install_blacklist.cfg (+8/-0)
AutoUpgradeTester/profile/main-all/DistUpgrade.cfg (+1/-0)
AutoUpgradeTester/profile/main-all/install_blacklist.cfg (+7/-0)
To merge this branch: bzr merge lp:~jibel/update-manager/AutoUpgradeTester-aptclone
Reviewer Review Type Date Requested Status
Michael Vogt Pending
Review via email: mp+87577@code.launchpad.net

Description of the change

* Added apt-clone support to auto-upgrade tester
* Couple of fixes/tweaks for existing profiles.
* Added profile for lts-main-all-amd64

To test a clone run:
$ ./auto-upgrade-tester clone.tgz
OR
Create a profile with a setting AptClone in the NonInteractive section which is the path to a clone archive.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'AutoUpgradeTester/UpgradeTestBackendQemu.py'
2--- AutoUpgradeTester/UpgradeTestBackendQemu.py 2011-12-14 13:48:44 +0000
3+++ AutoUpgradeTester/UpgradeTestBackendQemu.py 2012-01-05 08:39:03 +0000
4@@ -72,13 +72,14 @@
5 if not os.path.exists(self.baseimage):
6 print "Missing '%s' base image, need to build it now" % self.baseimage
7 arch = self.config.getWithDefault("KVM", "Arch", "i386")
8+ rootsize = self.config.getWithDefault("KVM", "RootSize", "80000")
9 destdir = "ubuntu-kvm-%s-%s" % (arch, self.fromDist)
10 ret = subprocess.call(["sudo",
11 "ubuntu-vm-builder","kvm", self.fromDist,
12 "--kernel-flavour", "generic",
13 "--ssh-key", "%s.pub" % self.ssh_key ,
14 "--components", "main,restricted",
15- "--rootsize", "80000",
16+ "--rootsize", rootsize,
17 "--addpkg", "openssh-server",
18 "--destdir", destdir,
19 "--arch", arch])
20@@ -124,7 +125,7 @@
21 self.qemu_options.append("localhost:%s" % str(vncport))
22
23 # make the memory configurable
24- mem = self.config.getWithDefault("KVM","VirtualRam","768")
25+ mem = self.config.getWithDefault("KVM","VirtualRam","1536")
26 self.qemu_options.append("-m")
27 self.qemu_options.append(str(mem))
28
29@@ -262,18 +263,35 @@
30 tzone.flush()
31 self._copyToImage(tzone.name, "/etc/timezone")
32
33- # create /etc/apt/sources.list
34- sources = self.getSourcesListFile()
35- self._copyToImage(sources.name, "/etc/apt/sources.list")
36-
37- # install some useful stuff
38- ret = self._runInImage(["apt-get","update"])
39- assert ret == 0
40- # FIXME: instead of this retrying (for network errors with
41- # proxies) we should have a self._runAptInImage()
42- for i in range(3):
43- ret = self._runInImage(["DEBIAN_FRONTEND=noninteractive","apt-get","install", "-y",basepkg]+additional_base_pkgs)
44- assert ret == 0
45+ aptclone = self.config.getWithDefault('NonInteractive', 'AptCloneFile', '')
46+
47+ if not aptclone:
48+ # create /etc/apt/sources.list
49+ sources = self.getSourcesListFile()
50+ self._copyToImage(sources.name, "/etc/apt/sources.list")
51+
52+ # install some useful stuff
53+ ret = self._runInImage(["apt-get","update"])
54+ assert ret == 0
55+ # FIXME: instead of this retrying (for network errors with
56+ # proxies) we should have a self._runAptInImage()
57+ for i in range(3):
58+ ret = self._runInImage(["DEBIAN_FRONTEND=noninteractive","apt-get","install", "-y",basepkg]+additional_base_pkgs)
59+ assert ret == 0
60+ else:
61+ dst_clonename = '/tmp/apt-clone.tgz'
62+ self._copyToImage(aptclone, dst_clonename)
63+ ret = self._runInImage(["DEBIAN_FRONTEND=noninteractive", "apt-get",
64+ "install", "-y", "apt-clone"])
65+ assert ret == 0
66+ print "Restoring clone from %s" % aptclone
67+ ret = self._runInImage(['DEBIAN_FRONTEND=noninteractive',
68+ 'apt-clone', 'restore', dst_clonename])
69+ # FIXME: what action should be taken when a package failed
70+ # to restore?
71+ if ret != 0:
72+ print "WARNING: Some packages failed to restore. Continuing anyway!"
73+ #assert ret == 0
74
75 CMAX = 4000
76 pkgs = self.config.getListFromFile("NonInteractive","AdditionalPkgs")
77
78=== modified file 'AutoUpgradeTester/auto-upgrade-tester'
79--- AutoUpgradeTester/auto-upgrade-tester 2011-11-07 12:20:29 +0000
80+++ AutoUpgradeTester/auto-upgrade-tester 2012-01-05 08:39:03 +0000
81@@ -13,6 +13,8 @@
82 import shutil
83 import sys
84 import time
85+import subprocess
86+from ConfigParser import SafeConfigParser
87
88 # check if we run from a bzr checkout
89 if os.path.exists("./UpgradeTestBackend.py"):
90@@ -209,6 +211,52 @@
91 os.dup2(old_stderr, 2)
92 return result
93
94+def profileFromAptClone(aptclonefile):
95+ """ Create a profile from an apt-clone archive
96+
97+ :param aptclonefile: Path to an apt-clone archive
98+ :return: path to profile or None if it fails to recognize the clone file
99+ """
100+ profile = None
101+ try:
102+ cmd = ('apt-clone', 'info', aptclonefile)
103+ output = subprocess.check_output(cmd)
104+ clone_properties = {}
105+ for k, v in [ line.split(': ') for line in output.split('\n') if ': ' in line]:
106+ clone_properties[k] = v
107+ try:
108+ clone_date = datetime.datetime.strptime(clone_properties['Date'], '%c').strftime('_%Y%m%d-%H%M%S')
109+ except:
110+ clone_date = ''
111+ profilename = "%s_%s_%s%s" % (
112+ clone_properties['Distro'],
113+ clone_properties['Arch'],
114+ clone_properties['Hostname'],
115+ clone_date)
116+
117+ # Generate configuration file for this profile
118+ # FIXME:
119+ # update packaging to grant write access on base for upgrade-tester user
120+ ppath = 'profile' if os.path.exists("./UpgradeTestBackend.py") else base
121+ profile = os.path.join(ppath, profilename)
122+ profilecfg = SafeConfigParser()
123+ if not os.path.exists(profile):
124+ os.makedirs(profile)
125+
126+ profilecfg.set('DEFAULT', 'SourceRelease', clone_properties['Distro'])
127+ profilecfg.add_section('NonInteractive')
128+ profilecfg.set('NonInteractive', 'ProfileName', profilename)
129+ profilecfg.set('NonInteractive', 'AptcloneFile', os.path.abspath(aptclonefile))
130+ profilecfg.add_section('KVM')
131+ profilecfg.set('KVM', 'Arch', clone_properties['Arch'])
132+ with open(os.path.join(profile, 'DistUpgrade.cfg'), 'wb') as profilefile:
133+ profilecfg.write(profilefile)
134+
135+ except subprocess.CalledProcessError:
136+ return None
137+
138+ return profile
139+
140 if __name__ == "__main__":
141 logging.basicConfig(level=logging.INFO)
142
143@@ -279,6 +327,16 @@
144 html_output = HtmlOutputStream(options.html_output_dir)
145 html_output.write_html_header(time_started)
146 for profile in profiles:
147+
148+ # case of an apt-clone archive
149+ if os.path.isfile(profile):
150+ profilename = profileFromAptClone(profile)
151+ if not profilename:
152+ print "File is not a valid apt-clone image: %s" % profilename
153+ continue
154+ profile = profilename
155+ print "Using generated profile: %s" % profile
156+
157 if not "/" in profile:
158 profile = base + profile
159 try:
160
161=== modified file 'AutoUpgradeTester/post_upgrade_tests/python_import_test.py'
162--- AutoUpgradeTester/post_upgrade_tests/python_import_test.py 2011-11-08 08:23:45 +0000
163+++ AutoUpgradeTester/post_upgrade_tests/python_import_test.py 2012-01-05 08:39:03 +0000
164@@ -29,6 +29,7 @@
165 "keyring",
166 "invest",
167 "Onboard",
168+ "goocanvasmodule.so",
169 ]
170
171 def get_module_from_path(path):
172@@ -82,10 +83,13 @@
173 if __name__ == "__main__":
174 #logging.basicConfig(level=logging.DEBUG)
175
176- old_modules = set(filter(py_module_filter, os.listdir(OLD_BASEPATH)))
177- new_modules = set(filter(py_module_filter, os.listdir(NEW_BASEPATH)))
178- print "Available for the old version, but *not* the new: %s\n" % (
179- ", ".join(old_modules - new_modules))
180+ # Only compare if old and new paths exists
181+ # When previous version of python is dropped then only new exists
182+ if os.path.exists(OLD_BASEPATH) and os.path.exists(NEW_BASEPATH):
183+ old_modules = set(filter(py_module_filter, os.listdir(OLD_BASEPATH)))
184+ new_modules = set(filter(py_module_filter, os.listdir(NEW_BASEPATH)))
185+ print "Available for the old version, but *not* the new: %s\n" % (
186+ ", ".join(old_modules - new_modules))
187
188 res = True
189 # FIXME: instead os os.listdir() use os.walk() to catch subdirs
190
191=== modified file 'AutoUpgradeTester/profile/defaults.cfg.d/defaults.cfg'
192--- AutoUpgradeTester/profile/defaults.cfg.d/defaults.cfg 2011-11-07 14:29:56 +0000
193+++ AutoUpgradeTester/profile/defaults.cfg.d/defaults.cfg 2012-01-05 08:39:03 +0000
194@@ -40,6 +40,8 @@
195 CacheBaseImage=yes
196 VncNum=1
197 SshPort=54322
198+VirtualRam=1536
199+RootSize=80000
200
201 [EC2]
202 ; Ubuntu official images:
203
204=== added directory 'AutoUpgradeTester/profile/lts-main-all-amd64'
205=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg'
206--- AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg 1970-01-01 00:00:00 +0000
207+++ AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg 2012-01-05 08:39:03 +0000
208@@ -0,0 +1,12 @@
209+[DEFAULT]
210+SourceRelease=lucid
211+
212+[NonInteractive]
213+ProfileName = lts-main-all-amd64
214+AdditionalPkgs = pkgs.cfg
215+PostBootstrapScript=/usr/share/pyshared/AutoUpgradeTester/install_all.py
216+;PostBootstrapScript=/home/upgrade-tester/update-manager/AutoUpgradeTester/install_all.py
217+
218+[KVM]
219+Arch=amd64
220+
221
222=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg.dapper'
223--- AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg.dapper 1970-01-01 00:00:00 +0000
224+++ AutoUpgradeTester/profile/lts-main-all-amd64/DistUpgrade.cfg.dapper 2012-01-05 08:39:03 +0000
225@@ -0,0 +1,65 @@
226+[View]
227+#View=DistUpgradeViewGtk
228+View=DistUpgradeViewNonInteractive
229+
230+# Distro contains global information about the upgrade
231+[Distro]
232+# the meta-pkgs we support
233+MetaPkgs=ubuntu-desktop, kubuntu-desktop, edubuntu-desktop, xubuntu-desktop
234+BaseMetaPkgs=ubuntu-minimal, ubuntu-standard
235+PostUpgradePurge=xorg-common, libgl1-mesa
236+Demotions=demoted.cfg
237+RemoveEssentialOk=sysvinit
238+RemovalBlacklistFile=removal_blacklist.cfg
239+
240+# information about the individual meta-pkgs
241+[ubuntu-desktop]
242+KeyDependencies=gdm, gnome-panel, ubuntu-artwork
243+# those pkgs will be marked remove right after the distUpgrade in the cache
244+PostUpgradeRemove=xchat, xscreensaver
245+
246+[kubuntu-desktop]
247+KeyDependencies=kdm, kicker, kubuntu-artwork-usplash
248+# those packages are marked as obsolete right after the upgrade
249+ForcedObsoletes=ivman
250+
251+[edubuntu-desktop]
252+KeyDependencies=edubuntu-artwork, tuxpaint
253+
254+[xubuntu-desktop]
255+KeyDependencies=xubuntu-artwork-usplash, xubuntu-default-settings, xfce4
256+
257+
258+[Files]
259+BackupExt=distUpgrade
260+
261+[Sources]
262+From=dapper
263+To=hardy
264+ValidOrigin=Ubuntu
265+ValidMirrors = mirrors.cfg
266+
267+[Network]
268+MaxRetries=3
269+
270+[PreRequists]
271+Packages=release-upgrader-apt,release-upgrader-dpkg
272+SourcesList=prerequists-sources.list
273+
274+[NonInteractive]
275+ProfileName = main-all
276+BasePkg = ubuntu-standard
277+AdditionalPkgs = pkgs.cfg
278+Mirror = http://archive.ubuntu.com/ubuntu
279+Proxy=http://192.168.1.1:3128/
280+ForceOverwrite=yes
281+CacheTarball=yes
282+PostBootstrapScript=install_all.py
283+Components=main,restricted
284+Pockets=security,updates
285+BaseImage=jeos/dapper-i386.qcow2
286+CacheBaseImage=yes
287+SwapImage=jeos/swap.qcow2
288+UpgradeFromDistOnBootstrap=true
289+SSHKey=ssh-key
290+ReadReboot=yes
291\ No newline at end of file
292
293=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/demoted.cfg'
294=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/install_blacklist.cfg'
295--- AutoUpgradeTester/profile/lts-main-all-amd64/install_blacklist.cfg 1970-01-01 00:00:00 +0000
296+++ AutoUpgradeTester/profile/lts-main-all-amd64/install_blacklist.cfg 2012-01-05 08:39:03 +0000
297@@ -0,0 +1,46 @@
298+# jaunty: endless loop with DEBIAN_FRONTEND=noninteractive
299+moodle
300+# has a funny "can not be upgraded automatically" policy
301+# see debian #368226
302+quagga
303+# not installable on a regular machine (preinst error)
304+ltsp-client
305+# gwenview-i18n has some file conflicts
306+gwenview-i18n
307+# ipppd needs MAKEDEV
308+ipppd
309+# cmake has incorrect emacs dependencies
310+cmake
311+# cluster manager hangs on shutdown
312+cman
313+
314+# Conflicts/uninstallable packages in Oneiric
315+libgladeui-doc
316+mythes-it
317+amavisd-new
318+grub-legacy-ec2
319+
320+# LP:#901638
321+tdsodbc
322+
323+# Only useful on livecd
324+casper
325+ubiquity
326+
327+# No need for so many kernels
328+linux-image-.*
329+
330+# Failed to install
331+bacula-director-mysql
332+dovecot-common
333+rabbitmq-server
334+
335+# cloud/ec2 no fun
336+cloud-init
337+ec2-init
338+linux-image-ec2
339+linux-image-2.6.31-302-ec2
340+
341+# not installable on a regular machine
342+ltsp-client
343+ltsp-client-core
344
345=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/pkgs.cfg'
346--- AutoUpgradeTester/profile/lts-main-all-amd64/pkgs.cfg 1970-01-01 00:00:00 +0000
347+++ AutoUpgradeTester/profile/lts-main-all-amd64/pkgs.cfg 2012-01-05 08:39:03 +0000
348@@ -0,0 +1,3 @@
349+python-apt
350+python-gnupginterface
351+grub-pc
352
353=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/prerequists-sources.list'
354--- AutoUpgradeTester/profile/lts-main-all-amd64/prerequists-sources.list 1970-01-01 00:00:00 +0000
355+++ AutoUpgradeTester/profile/lts-main-all-amd64/prerequists-sources.list 2012-01-05 08:39:03 +0000
356@@ -0,0 +1,5 @@
357+# sources.list fragment for pre-requists (one with countrymirror, one fallback)
358+deb http://archive.ubuntu.com/ubuntu dapper-backports main/debian-installer
359+#deb http://archive.ubuntu.com/ubuntu feisty-backports main/debian-installer
360+# below is just for testing
361+#deb http://archive.dogfood.launchpad.net/ubuntu feisty-backports main/debian-installer
362
363=== added file 'AutoUpgradeTester/profile/lts-main-all-amd64/removal_blacklist.cfg'
364--- AutoUpgradeTester/profile/lts-main-all-amd64/removal_blacklist.cfg 1970-01-01 00:00:00 +0000
365+++ AutoUpgradeTester/profile/lts-main-all-amd64/removal_blacklist.cfg 2012-01-05 08:39:03 +0000
366@@ -0,0 +1,11 @@
367+# blacklist of packages that should never be removed
368+ubuntu-standard
369+ubuntu-minimal
370+ubuntu-desktop
371+kubuntu-desktop
372+edubuntu-desktop
373+gobuntu-desktop
374+# never remove nvidia-glx and friends
375+^nvidia-glx$
376+^nvidia-glx-new$
377+^nvidia-glx-legacy$
378
379=== modified file 'AutoUpgradeTester/profile/lts-main-all/DistUpgrade.cfg'
380--- AutoUpgradeTester/profile/lts-main-all/DistUpgrade.cfg 2011-12-11 22:39:17 +0000
381+++ AutoUpgradeTester/profile/lts-main-all/DistUpgrade.cfg 2012-01-05 08:39:03 +0000
382@@ -5,4 +5,4 @@
383 ProfileName = lts-main-all
384 AdditionalPkgs = pkgs.cfg
385 PostBootstrapScript=/usr/share/pyshared/AutoUpgradeTester/install_all.py
386-
387+;PostBootstrapScript=/home/upgrade-tester/update-manager/AutoUpgradeTester/install_all.py
388
389=== added file 'AutoUpgradeTester/profile/lts-main-all/install_blacklist.cfg'
390--- AutoUpgradeTester/profile/lts-main-all/install_blacklist.cfg 1970-01-01 00:00:00 +0000
391+++ AutoUpgradeTester/profile/lts-main-all/install_blacklist.cfg 2012-01-05 08:39:03 +0000
392@@ -0,0 +1,46 @@
393+# jaunty: endless loop with DEBIAN_FRONTEND=noninteractive
394+moodle
395+# has a funny "can not be upgraded automatically" policy
396+# see debian #368226
397+quagga
398+# not installable on a regular machine (preinst error)
399+ltsp-client
400+# gwenview-i18n has some file conflicts
401+gwenview-i18n
402+# ipppd needs MAKEDEV
403+ipppd
404+# cmake has incorrect emacs dependencies
405+cmake
406+# cluster manager hangs on shutdown
407+cman
408+
409+# Conflicts/uninstallable packages in Oneiric
410+libgladeui-doc
411+mythes-it
412+amavisd-new
413+grub-legacy-ec2
414+
415+# LP:#901638
416+tdsodbc
417+
418+# Only useful on livecd
419+casper
420+ubiquity
421+
422+# No need for so many kernels
423+linux-image-.*
424+
425+# Failed to install
426+bacula-director-mysql
427+dovecot-common
428+rabbitmq-server
429+
430+# cloud/ec2 no fun
431+cloud-init
432+ec2-init
433+linux-image-ec2
434+linux-image-2.6.31-302-ec2
435+
436+# not installable on a regular machine
437+ltsp-client
438+ltsp-client-core
439
440=== modified file 'AutoUpgradeTester/profile/lts-main-all/pkgs.cfg'
441--- AutoUpgradeTester/profile/lts-main-all/pkgs.cfg 2007-12-17 10:44:16 +0000
442+++ AutoUpgradeTester/profile/lts-main-all/pkgs.cfg 2012-01-05 08:39:03 +0000
443@@ -1,2 +1,3 @@
444 python-apt
445 python-gnupginterface
446+grub-pc
447
448=== modified file 'AutoUpgradeTester/profile/lts-ubuntu/pkgs.cfg'
449--- AutoUpgradeTester/profile/lts-ubuntu/pkgs.cfg 2008-02-01 14:13:41 +0000
450+++ AutoUpgradeTester/profile/lts-ubuntu/pkgs.cfg 2012-01-05 08:39:03 +0000
451@@ -1,2 +1,3 @@
452 ubuntu-minimal
453-ubuntu-standard
454\ No newline at end of file
455+ubuntu-standard
456+grub-pc
457
458=== modified file 'AutoUpgradeTester/profile/main-all-amd64/DistUpgrade.cfg'
459--- AutoUpgradeTester/profile/main-all-amd64/DistUpgrade.cfg 2011-12-11 22:39:17 +0000
460+++ AutoUpgradeTester/profile/main-all-amd64/DistUpgrade.cfg 2012-01-05 08:39:03 +0000
461@@ -2,6 +2,7 @@
462 ProfileName = main-all-amd64
463 AdditionalPkgs = pkgs.cfg
464 PostBootstrapScript=/usr/share/pyshared/AutoUpgradeTester/install_all.py
465+;PostBootstrapScript=/home/upgrade-tester/update-manager/AutoUpgradeTester/install_all.py
466
467 [KVM]
468 Arch=amd64
469
470=== modified file 'AutoUpgradeTester/profile/main-all-amd64/install_blacklist.cfg'
471--- AutoUpgradeTester/profile/main-all-amd64/install_blacklist.cfg 2011-12-03 23:30:58 +0000
472+++ AutoUpgradeTester/profile/main-all-amd64/install_blacklist.cfg 2012-01-05 08:39:03 +0000
473@@ -19,3 +19,11 @@
474 mythes-it
475 amavisd-new
476 grub-legacy-ec2
477+
478+# LP:#901638
479+tdsodbc
480+
481+# Only useful on livecd
482+casper
483+ubiquity
484+
485
486=== modified file 'AutoUpgradeTester/profile/main-all/DistUpgrade.cfg'
487--- AutoUpgradeTester/profile/main-all/DistUpgrade.cfg 2011-12-11 22:39:17 +0000
488+++ AutoUpgradeTester/profile/main-all/DistUpgrade.cfg 2012-01-05 08:39:03 +0000
489@@ -2,3 +2,4 @@
490 ProfileName = main-all
491 AdditionalPkgs = pkgs.cfg
492 PostBootstrapScript=/usr/share/pyshared/AutoUpgradeTester/install_all.py
493+;PostBootstrapScript=/home/upgrade-tester/update-manager/AutoUpgradeTester/install_all.py
494
495=== modified file 'AutoUpgradeTester/profile/main-all/install_blacklist.cfg'
496--- AutoUpgradeTester/profile/main-all/install_blacklist.cfg 2011-12-03 23:30:58 +0000
497+++ AutoUpgradeTester/profile/main-all/install_blacklist.cfg 2012-01-05 08:39:03 +0000
498@@ -19,3 +19,10 @@
499 mythes-it
500 amavisd-new
501 grub-legacy-ec2
502+
503+# LP:#901638
504+tdsodbc
505+
506+# Only useful on livecd
507+casper
508+ubiquity

Subscribers

People subscribed via source and target branches

to status/vote changes: