Fighting Institutional Memory Loss Integrated Issue and Solution Tracking with Trackle Dan Crosta
15-Nov The SCCS Swarthmore College Computer Society Public Linux/OS X multimedia lab UNIX shell accts Web space, Wikis Mailing lists Video & still cams
15-Nov Student Sysadmins SCCS: unique needs as UNIX admins –Lots of us –Kind of clueless –Few regular hours –Always other or better things to do –Self-reporting stinks: rm –rf ~/bin vs. rm –rf /bin
15-Nov Partial Solutions: Do some work Get distracted by something shiny Maybe remember what you did Maybe staff to say what you did
15-Nov Partial Solution: Wiki Do some work Write it down as you go Get distracted by something shiny Maybe staff to say you did something and here’s a link to it
15-Nov Partial Solution: Ticket System Create a ticket Do some work Record your changes as a ticket annotation Get distracted by something shiny Maybe remember to staff to say you did something and here’s a link
15-Nov We Need More Record all sysadminly actions: –Who, exactly what and how, when Records accessible from the web –Because we do everything on the web –Allow arbitrary annotation to improve clarity to future generations Not ugly –Get distracted by something shiny and useful
15-Nov Trackle Web- and console-facing tools Automatic recording of system changes Minimalistic approach stays out of the way Integrated Wiki Automatic notification to staff Users may subscribe to ticket updates Appropriate support for staff and end-users
15-Nov Trackle Architecture Database Web Interface Console Tools System Shell Tracking
15-Nov Web Interface Supports 2 user classes: anonymous “users” and authenticated “staff” –Both: ticket creation, viewing –Staff only: ticket editing, shell sessions Integrated Wiki, Timeline, Milestones
15-Nov Web Interface: Tickets
15-Nov Web Interface: Tickets
15-Nov Web Interface: Shell Sessions
15-Nov Web Interface Wiki pages: public & private Wiki areas in all web components Milestones for ticket organization Timeline for tracking actions
15-Nov Console Tools GUI-like interface for creation, viewing, editing Start shell tracking session Provides subset of web functionality
15-Nov Shell Session Tracking Shell / trackle-cli Program Code System Libraries fopen() chmod()... libtrackle Session State To db via trackle-cli
15-Nov Shell Session Tracking trackle-cli records cmds, environment trackle-cli loads libtrackle with LD_PRELOAD libtrackle tracks file-related system calls: fopen, chmod, unlink, etc State directory used for IPC from libtrackle to parent trackle-cli process
15-Nov Shell Session Tracking
15-Nov System confirmation for user creation Staff notified when a ticket is confirmed Users may add selves to watcher list –With confirmation Staff, watchers notified of status changes Cron script for periodic staff reminders
15-Nov Future Plans Private tickets Ticket due dates Ticket relationships (parent/child, “depends on”, etc) Incremental file diffs & version tracking Multiple machine support High-level abstractions: free tagging LISA ’06 Paper
15-Nov Thanks! Currently in use at the SCCS Open Source (BSD License) Currently under active development (you can help!) Thanks to Ben Kuperman, Mustafa Paksoy for Audlib Thanks to Edgwall Software & contributors for Trac Previous names: wicket, twiki