74515cdafacb6280a514d99b463f381c4962e293
1 things to do for piuparts
2 =========================
4 Please also check the BTS, especially the bugs with a severity higher than
5 wishlist!
8 for 0.5x:
10 - make piuparts-master + piuparts-slave packages work out-of-the-box:
11 - piuparts-slave.postrm purge: clean up /var/cache/piuparts/tmp/
12 - conf/piuparts.sudoers is only needed for slave package.
13 - ship sane minimal sudoers in p-s.deb than can be enabled by default do we
14 really need anything else than running piuparts and piuparts_slave_*
15 as root? No, we don't.
16 - the shipped crontabs are not suitable from cron.d/ due to missing user
17 column - discuss this with DSA
18 - verify that all scripts in $user/bin/ also work from master-slave packages
19 eventually enable some conjobs in the packages
20 - slave.postinst should setup ~piupartsm/.ssh/authorized_keys using triggers
21 dpkg-trigger piuparts-master-please-install-the-slave-key
22 + the current method only works if -slave is configured after -master
23 - split /etc/piuparts/piuparts.conf in /etc/piuparts/master.conf and
24 /etc/piuparts/slave.conf
26 - in maintainer view: sort buggy states up again
28 - more stats and graphs:
29 - packages processed per day (in total and per slave)
30 - master writes submissions.txt per section since 0.45
31 - # of open bugs with tag piuparts
32 - generate http://piuparts.debian.org/stable/states.png + testing.png from
33 existing data
35 - check whether #660350 is really gone with a wheezy base system.
37 - add a sample config with all possible keys set to some useful value
38 (like /usr/share/doc/apt/examples/configure-index.gz)
40 - look for a solution to use the global debian mirror for debian-backports,
41 too, to avoid hardcoding a specific mirror in distros.conf
43 - maybe compress all logfiles
45 - notes from pejacevic setup:
46 - the need for the symlink from /srv/piuparts.debian.org/etc/piuparts to
47 /etc/piuparts is awkward when everything else is in
48 /srv/piuparts.debian.org
49 - (likewise that the slave logins as master, even with a restricted key...)
50 - use mirror via nfs (faster)
51 - do not use eatmydata (we're using tmpfs in RAM anyway, so installing it
52 just slows things down)
54 - re-read all documentation carefully and update were needed.
56 - move counts.txt from htdocs to master
59 for 0.6x:
61 - generate piuparts.1.txt automatically from piuparts.py - see this blog post
62 for a nice howto:
63 http://andialbrecht.wordpress.com/2009/03/17/creating-a-man-page-with-distutils-and-optparse/
64 - though this seems pretty complicated... maybe rather grep for
65 parser.add_option and help= in piuparts.py ?!
66 - requires merging all the additional infomation in piuparts.1.txt into piuarts.py
67 - parsing piuparts --help output may be easier than parsing piuparts.py
69 - rework known_problems:
70 - split detect_well_known_errors
71 - parsing the logfiles should stay there
72 - generating the html should be integrated into piuparts-report
73 - use a number prefix for sorting
74 - add title information
75 - piuparts-report: "discover" the available known_problems, dont hardcode the
76 list
77 - drop _issue/_error duplication, have flags inside to indicate thether to
78 generate _issues.tpl (pass/) and/or _error.tpl (fail/ bugged/ affected/)
79 - rework known problems to a python-friendlier format
81 - accept a PIUPARTS_CONF environment variable everywhere to point to a different
82 piuparts.conf
84 - write reportbug-like wrapper for mass bug filing (start simple, make it more
85 sophisticated later).
87 - rewrite piuparts-analyze to run over all sections and cache BTS responses
89 - "decorate" (strike-through) bug links generated by piuparts-analyze to
90 indicate resolved state (take package version into account!)
92 * verify that find_default_debian_mirrors does something sane
93 - find_default_debian_mirrors: if parts[2] contains a / (think stable/updates
94 for security.d.o), you can't ignore this, it will break later...
95 - with distros.conf this may no longer be needed
96 - check whether find_default_debian_mirrors produces something useful if
97 sources.list does not exist (and sources.list.d/*.list is there instead)
98 - maybe parse 'apt-cache policy' to get the mirror list instead
100 - make it possible to call aptitude (or similar) instead of apt-get and allow to
101 override the commandline arguments.
103 - the templates used by update-reports.py and detect_well_known_errors should
104 be taken from /etc/piuparts/templates/ and not be included in the python source
106 - check the logfiles (especially pass/) for
107 - "Exception in thread"
108 - java stacktraces
109 - "Can't locate .* in @INC"
111 - test main without contrib/non-free in sources.list
114 for 0.7x and later:
116 - mounting /proc and perhaps others (usbfs, sysfs, /dev/pts, etc.) in the chroot
117 might be a good idea because some packages might need this.
119 - report:
120 - write stats about the reasons for failures, as its done with shell scripts
121 now (piuparts-analyze.py is an existing "fragment".)
122 - RSS feeds of logs
123 - do more fancy R graphs, eg. also per state
124 - sort packages on maintainer pages alphabetically (states first though)
125 - link (and target) to piuparts.d.o configuration is static to pejacevic. should
126 refer to the actual hosts configuration if running somewhere else
128 - a redirect of http://piuparts.d.o/foo to http://p.d.o/source/f/foo.html would
129 be nice
131 - monitor: master.log grows to fast and there is no mechanism to stop it
132 - use logrotate
134 - really support multiple architectures:
135 - piuparts-report should have a list of available arch and list packages only
136 available on untested archs in a new state
137 "(depends-)not-available-on-tested-archs"
138 - master should (per default) only schedule packages which are not available
139 on the master arch to slaves of different archs ->
140 "schedule-evenly-to-slaves = no"
142 - piuparts-master: keep track of to whom a reservation was given
144 - piuparts can't currently test upgrades of required packages. (Because they
145 cannot be removed, it assumes these are untestable, which is only true for
146 removal tests...
147 - all distupgrade tests implicitly tests these upgrades, although not
148 individually per package
150 - not sure if it's a sensible thing to to, but provide a way to turn off
151 debugging output for piuparts.py - see
152 http://docs.python.org/library/logging.html
154 - commandline-switches for all programms
156 - move shell cronjobs functionality into master, slave & report
159 1.0 should really have automated testing of piuparts itself...
160 -----------------------------------------------------------------
162 - create archive of broken packages to provide test cases for piuparts testing.
164 - create emacspeak-broken-dpkg-preconfigure package for broken repo. (then later
165 put more broken packages in there and use that for testing piuparts)
