Many of these proposals do not have a corresponding ticket. Tasks will be taken out of here and made into tickets when appropriate. **Student Project Ideas** This page contains an unsorted list of brainstorm ideas that could be good candidates for student hourly work. {link: http://condor-wiki.cs.wisc.edu/index.cgi/search?s=STUDENTTASK&t=1 This search may turn up other tasks} *: I think it will be useful to start a document that records wisdom/insight about the context in which expressions are evaluated in Condor. A good assignment for a student would be to go through the expressions we have and record the context in which they are evaluated. _-Miron 9/21/09_ *: #173 Have a vanilla job "flavor" for running Excel as a job on Win32. (talk to Todd or Ben if you don't understand this) ({wiki: ExcelJobs Current Status}). *: #617 Use getopt() everywhere to parse creepy command line options consistently! Whoot! *: Go through all the Coverity bugs and fix them (roughly 1200 bugs at last count) *: Add support for standard universe to the new starter/shadow, then dump the old one. This will remove all kinds of inconsistencies between vanilla and standard universe, and speed up future development, as we won't have to add code in multiple places. (*NOTE*: perhaps this isn't such a great idea anymore if DMTCP adoption goes as hoped) *: There's a number of cases where condor_q -analyze doesn't know why jobs can't run. (negotiation cycle hasn't happened yet, job retirement in progress, parallel universe jobs, etc.) It would be nice to add smarts to -analyze to catch these cases. *: Add stress tests to the Condor test suite. It would be great if we had tests that stressed the individual daemons, without trying to run jobs through the system. This way, we'd find memory leaks and other embarrassing problems before out users did. *: #596, #597 Currently, {quote: CondorView} is difficult to install and maintain. This is because it is written in perl, java, javascript and C++. I believe we could implement something much better in javascript + SOAP to the collector, and have it installed by default with Condor. This would just work without any tinkering around, installing apache, downloading jar files or anything other than just a normal Condor install. *: Make metronome scalable. There's been a bunch of times where a test fails intermittently. We've got plenty of machines. I'd love to be able to submit 100 test runs overnight and look at the results in the morning. Currently, metronome can't do this. *: Add more effort to writing tests, incl unit tests. I.e. more than just Bill. *: Cool/interesting Job Sandbox transfer plugins: {quote: BitTorrent}, gridftp, ... *: Work on the Stork supplement work. *: Help wrapping new classads w/ old classad API, and/or make a shared library. *: Add private-to-private proxying in the CCB broker. *: Explore use of Parrot w/ Condor. *: Explore a secure Condor setup by default, with use of {quote: MiniCA} and/or online CA. *: Super CHTC turnkey package for installation on Windoze machines around campus, using combo of VirtualBox + Condor, in collaboration with Marquette Univ and/or Purdue. *: Quill to MySQL (or SQLite?) *: Test Condor w/ out of disk space. *: Get a distcc setup going, put some abstractions into Metronome so you can automatically use it *: There are some memory-testing scripts running on GLOW using Hawkeye/startd cron. Include those in the default install of Condor *: Do a clipped port to Solaris 10/x86 *: Prototype a 'condor_job_backup' command (not sure you can finish this in a few weeks) *: a .NET/Managed code universe. Run the same job on the CLR on Win32 or on Mono (or, think real hard about how to abstract the Java universe, .Net universe, Python universe, etc) *: Replace the checkpoint server protocol with HTTP GETs and PUTs *: Create a couple of "Condor Technical Articles", in the 5-10 page range. Some ideas: 1:: A document exploring all of the issues involved in running Condor in a root squash environment. Document all of the different user ids Condor uses and what it does while it is in each of those UIDs 2:: A document that explores Condor and DNS - figure out all of the places Condor requires a working DNS, look at where it doesn't need it, and what you can override. Don't be afraid to start at square one with these documents, and explain what root squash is or what reverse DNS is. *: #152 move git to pinguino *: #653: Report operating system, distribution, and version in world ads - Lots of straightforward work detecting different distributions. *: #789: Grind into Coverity defect reports - Lots of straightforward work reaching for low-hanging fruit. *: Whenever a user reports a problem or a bug, there's a standard bunch of questions we have: what are your log files, configuration, condor_q -analze, etc. The VDT has a nice script which automatically discovers a bunch of stuff about a system, and generates a report the user can mail in with their bug report. We should do something similar for Condor, and ask the VDT people if we can integrate our script into their, or if we can share parts of their script. *: Remove code related to CVS and the defunct git repositories (CONDOR_EXT, CONDOR_TEST_LRG, CONDOR_TEST_CNFDTL) from Condor's NMI build scripts.