1 / 31

A Tour of Roundup

A Tour of Roundup. Paul F. Dubois AX-Division Contributing Editor, IEEE Computing in Science and Engineering. This talk is in increasing order of geekiness. What is Roundup, and why is it useful? A demo Some technical / managerial details and suggestions

sorley
Download Presentation

A Tour of Roundup

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Tour of Roundup Paul F. Dubois AX-Division Contributing Editor, IEEE Computing in Science and Engineering

  2. This talk is in increasing order of geekiness. • What is Roundup, and why is it useful? • A demo • Some technical / managerial details and suggestions • Special guest appearance: real geeks from NIF “Wait for it” – Radar O’Reilly If your question is more geeky than my current level, wait and see.

  3. Roundup is a versatile issue tracker. “Issues” may represent: • Bug reports, • Wishes and features, • FAQs, • Reports, • Handy files / examples, • Notices to users or project members.

  4. Issues have many parts. An issue • Is classified by a priority, • Annotated by a status and keywords, • Can be assigned to someone, • Can have attached files, • Has an email mini-list of “nosy” people. • Has a time-stamped audit trail.

  5. Users submit issues and follow ups by web or email. • Users can send mail about issues to a support address, or reply to mail received from the tracker. • Users can log on to the website to see / search / modify issues.

  6. Users manage their own details. • Using the tracker, a user can change their password, email, phone number, name, etc. • Registration can have email confirmation. • Anonymous bug reports can be allowed, or not. Not.

  7. Choose your attitude toward the unwashed public. • Allow anonymous users, or not, or with restrictions. • Give different users different abilities. • Show users with different privileges different views of the data. Even public sites like Python’s tracker have found that anonymous bug reports are a bad idea.

  8. Nosy lists are Roundup’s big advantage. • New comments about an issue generate mail to the issue’s “nosy list”. • These custom mini-lists balance the amount of email each person gets. • Artificial ‘mail list’ users can be added.

  9. The nosy lists are user managed. • Starts with the issue’s author and anyone he adds. • Those who comment on the issue are added. • Anyone who gets “nosy” can add themselves. • Anyone disinterested can remove themselves.

  10. You can email new issues to a “triage team”. • This ensures that every new issue is seen by someone. • The small reactor for this is in the customization manual, but just ask me and I’ll mail you mine.

  11. Roundup is easy to install and use. • Download / install Python • Download Roundup and install runtime. No compiling required, it is in pure Python. • Any platform

  12. A tracker is created in two steps. • Creation: roundup-admin init • This populates the tracker with database and html templates. • Edit the configuration file to state your url and email, choose some options. • Initialize: roundup-admin initialise. • Note the s, it is Australian • Edit and install server-ctl script. • Set up desired email gateway. Execute server-ctl start • Set up “keep-alive” cron job: server-ctl condstart

  13. You have choices*. • A tracker has: • A database* (change what kind of db) • A database schema* (add more fields) • A set of html templates* (look and feel) • Detectors* (audit/react) • Extensions* (new, I don’t know them) • All defaults are reasonable, but within very wide limits you can change almost everything.

  14. One server can manage many trackers. • An organization can run one server that serves several different trackers. • This makes the most sense if the different projects can agree on most customizations so that a base customization is then branched to the separate projects.

  15. You can add Python scripts that screen and react to changes. • “Detectors” come in two flavors: • Auditor: called when something is about to change, and gives you a chance to veto or modify it. • Reactor: called after something has changed, gives you a chance to do something in response. • The “nosy reactor” handles the nosy email, for example.

  16. Here are some of our customizations. • Project name in corner of each page. • Restricting assignment of issues to developers not users. • Adding due dates for issues. • Added priorities for FAQ, Notices. • Special treatment of status reports. • Customized (remembered) searches. • Link to “news” synchronized with source control. • Link to project documentation.

  17. We use our tracker for more than bugs and wishes. • FAQ • An issue when it is closed can often become an FAQ. We just give the issues priority and status of “faq”. • Status reports • Status reports have a keyword “Status Report” and their nosy lists don’t email. • Each contributes their report to the current “issue” • Instant archive of progress reports.

  18. Non-bug issues include features and wishes. • Features • Explanations of “how it is”, arguments about how it should be. • Wishes • User / developer requests for enhancement

  19. We have additional scripts that run periodically to enhance Roundup. • Email users a list of open issues assigned to them. • Email users a list of unassigned bugs. • Transfer comments made in source code submissions to the Roundup issues they pertain to, and close those issues if desired.

  20. A link to “project news” on the first page shows you our main-line news directory in the project source. • HTML link from main page to a “news” subdirectory. • The news subdirectory is updated periodically with the source control system’s “sync” to copy the “main/news” directory from source control. • This news directory has documentation of the latest changes submitted by the author along with their source changes.

  21. Demo • This is the demo that comes with Roundup. After installing Roundup, run it to be sure your installation works.

  22. The email sent can be replied to, and has a link to the issue. Support address From: "Michael R. Zika Kull Tracker" <kullsupport@llnl.gov>To: brantley1@llnl.gov, dubois1@llnl.gov, tbyang@llnl.govSubject: [issue925] Can we stop the code based on some conditional?Date: 26 Jul 2006 20:53:00 +0000Michael R. Zika <zika@llnl.gov> added the comment:<snip> contents omitted _________________________________________Kull Issue Tracker <kullsupport@llnl.gov><https://bugzi.llnl.gov/kull/issue925> Link to issue

  23. There are 3 ways to deploy the server. • Stand-alone server on a blocked port, with proxy-pass from (possibly secure) web server. (See next slide) • Stand-alone server on a public port. • As a CGI in the web server.

  24. I like putting Roundup “behind” the web server. • User logs into https://myplace.llnl.gov/mytracker • Web server is configured with “proxy pass” to redirect this traffic tohttp://myplace.llnl.gov:8070/mytracker • Roundup server runs on blocked port 8070. Root must configure the web server by adding two lines; everything else can be done as a “normal” user.

  25. An artificial user that owns roundup is a good idea. • User “roundup” runs the server. • Maintainers login as themselves, then sudo su roundup to “become” this user. This is thus a shared account without a shared password. • User “roundup” runs the cron jobs for server-keep-alive, mail gateway, etc.

  26. There are two¹ ways to configure the email access. • Get ‘mysupport@llnl.gov’ POP account. • Run roundup-mailgw every few minutes using a cron job to fetch mail from mail.llnl.gov. • Use a mail alias on server’s machine that pipes mail into roundup-mailgw. • For classified servers, use this one. User “mail” and user “roundup” must be in a group. ¹I lied, there is a third way I can’t explain.

  27. Manage customizations with your source-control system. • Main line: Roundup as shipped • Branch to: Ours • Modify Ours as desired and install tracker. • When a new version of Roundup arrives, install it as changes to main line, then integrate main to “Ours”. • Use merge tools to resolve conflicts

  28. The effort is proportional to the amount of customization. • No backup needed except as normally done on the machine. • Moving to a new machine is a small effort. • The database can export / import csv files. • Users do not seem to need much if any training.

  29. Customizing is probably a 200-level job. • HTML -> TAL -> METAL languages just for the html area. • Understanding of database basics. • Python for the detectors.

  30. We love Roundup. • Just the right amount of communication. • For many developers, Roundup is their todo list. • We think the email interface / nosy lists are the key. The first page displays the bug list without further action. • History is captured, everything is searchable.

More Related