Differences between revisions 31 and 32
Revision 31 as of 2007-12-06 14:18:40
Size: 5075
Editor: HolgerLevsen
Comment:
Revision 32 as of 2007-12-23 12:48:52
Size: 5739
Editor: HolgerLevsen
Comment: add general description, capitalize headers
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= general info = = General info =

{{{
Description: .deb package installation, upgrading, and removal testing tool
 piuparts tests that .deb packages (as used by Debian) handle
 installation, upgrading, and removal correctly. It does this by
 creating a minimal Debian installation in a chroot, and installing,
 upgrading, and removing packages in that environment, and comparing the
 state of the directory tree before and after. piuparts reports any
 files that have been added, removed, or modified during this process.
 .
 piuparts is meant as a quality assurance tool for people who create .deb
 packages to test them before they upload them to the Debian package archive.
}}}
Line 11: Line 24:
== machine info == == Machine info ==
Line 28: Line 41:
== how to run piuparts on piatti == == How to run piuparts on piatti ==
Line 40: Line 53:
== troubleshouting/maintainance == == Troubleshouting / maintainance ==
Line 46: Line 59:
= developing piuparts = = Developing piuparts =
Line 51: Line 64:
= todo = = Todo =
Line 53: Line 66:
== machine related == == Machine related ==
Line 80: Line 93:
== codebase related == == Codebase related ==
Line 87: Line 100:
== piuparts and pts integration suggestion == == Piuparts and pts integration suggestion ==
Line 113: Line 126:
== documentation == == Documentation ==

?TableOfContents(2)

General info

Description: .deb package installation, upgrading, and removal testing tool
 piuparts tests that .deb packages (as used by Debian) handle
 installation, upgrading, and removal correctly. It does this by
 creating a minimal Debian installation in a chroot, and installing,
 upgrading, and removing packages in that environment, and comparing the
 state of the directory tree before and after. piuparts reports any
 files that have been added, removed, or modified during this process.
 . 
 piuparts is meant as a quality assurance tool for people who create .deb
 packages to test them before they upload them to the Debian package archive.

piuparts runs on piuparts.cs.helsinki.fi aka piatti.debian.org and just like lintian and linda should be run on every developer machine before uploading :)

piuparts logs (currently outdated) are available at [http://piatti.debian.org http://piatti.debian.org]

#debian-qa is the irc-channel to coordinate work on irc, piuparts-devel is the project name on alioth.

Machine info

  • piuparts.cs.helsinki.fi aka piatti.debian.org
  • hosted at [http://cs.helsinki.fi/index.en.html Department of Computer Science, University of Helsinki]

  • donated by [http://hp.com/go/debian/ HP]

  • dual AMD Opteron(tm) Processor 275, 2.2 Ghz
  • 4GB RAM
  • 465 GB physical volume for data
    • 50 GB for /home for piatti
    • 90 GB for mirror
    • 10 GB for xenu1 (testdomain)
    • 4 GB and 128 MB swap for test.my.piuparts (testdomain2 :)

    • X GB piuparts slave
    • Y GB developer test environtments
    • planned: 50 GB for svn-buildstat
  • 2 IPs

How to run piuparts on piatti

the piuparts stuff is partly in the piupartsm account (master end, including debmirroring), and partly in the piuartss account (the slave, which actually runs piuparts)

run piuparts-slave.py as piupartss and watch it run via screen. the slave starts the master when it needs it, you don't need to start it manually

also read http://liw.iki.fi/liw/debian/piuparts-logfile-processing-howto

If you want to help, please don't bother liw, h01ger has access too and you should bother him.

... to be continued! ...

Troubleshouting / maintainance

Sometimes the chroot tarballs in /home/piupartss/ need to be removed, currently there are sid.tar.gz and sarge.tar.gz

see /etc/piuparts/piuparts-slave.conf

Developing piuparts

Todo

  • install xen-shell & tools

  • put all scripts and configs into svn
  • set up xenu domains with fai
    • use the same documentation for fai as for debian-community
    • IMO every member of the piuparts alioth group should have the right to commit configuration for the XENU domains (no extra repo/access control)
      • only a few people can commit that config to a machine (sudoers)
    • root access for XENU domains for DDs and non-DDs (like goneri if needed, or other qa members), via debian ud-ldap (for DDs) or local accounts (for non-DDs)
      • discuss this with DSA
  • XENU domain for svn-buildstat (min 30gb hd space, he'll get 50)
  • mirror proposed updates and security updates too
  • run two piuparts slaves to make use of the two cpus
  • finish aide configuration - http://wiki.debian.org/Teams/DSA/MachineSetup (but: <buxy> h01ger: AFAIK, aide is not consistently used (and is known to break on merkel currently), so you can probably skip that part for now)

  • drop Joey a note so that all users are replicated via ldap
  • backup /etc and /org via http://wiki.debian.org/Teams/DSA/DaBackup

  • also use the machine to run svnbuildstat.debian.net
  • also use the machine to run vlosuts

done:

  • apt-get install debian.org aide nagios-nrpe-server lvm2
  • apt-get install -t etch-backports xen-shell xen-tools

  • split /fails/ into more directories
  • <liw> (at some point) you may want to run the bin/mirror-debian script as user piupartsm

  • look at the irssi_away script to see how to monitor screen sessions, to notify when piuparts is hanging

Piuparts and pts integration suggestion

In order for the PTS to be able to display piuparts testing status for a package, and link to its log file, Piuparts could generate a set of static files that will be visible via http:

%s = source package name
%v = source package version
%p = piuparts version

/source/%s -> index page
/source/%s/%v -> a particular log
/source/%s/latest -> log for latest version
/source/%s/piuparts-%p/%v -> a particular log from a version of piuparts

similar for /binary-$ARCH/

/%s -> /source/%s

For PTS integration: one file with results for all source packages:
/results-per-source.txt
    %s pass $MATCHINGLOG
    %s fail $MATCHINGLOG

Documentation

split this wiki page into subpages, so that the piuparts documentation can be mainained in the wiki, by exporting as docbook.

suggested structure:

  • /piuparts - index page, just a table of contents
  • /piuparts/about - what is piuparts
  • /piuparts/devel - information how to participate in piuparts development
  • /piuparts/doc/software - piuparts documentation
  • /piuparts/doc/piatti - documenation about piuparts.cs.helsinki.fi
  • /piuparts/todo - todo list