Orca TODO List

Essential

  • Change the build to use a maven repository at RENCI
  • Move the continuous build system from DUKE to RENCI
  • Move the orca web site to RENCI
  • Reorganize the continuous build system to have multiple sub-projects
  • Improve and update the documentation
    • First step: describe how to set the dev environment
    • JAVADOC
    • Web site howto-s and case studies
  • Add unit tests at every possible level
  • Add functional tests at every possible level
  • Determine the license and text to use as header in source files. The current text is Duke-specific. The license is Eclipse. I would like to keep Eclipse as the license.
  • Simpler policies both for brokers and sites: no slivering
  • Templates for writing a new policy, controller, handler, etc
  • Go through the different properties list and see what we can get rid of. There seem to be too many properties lists...

Code-level items

  • Add support for Amazon and Eucalyptus
  • Keymaster
  • Make cross-actor calls asynchronous (should not hold the master lock)
  • Move database and guid configuration from the xml file to the container.properties. Move the globals section from config.xml to container.properties
  • Move the image library into cod
  • Cleanup cod: there is some dead/must be better code
  • Index actors using guid instead of actor name (avoid name collisions)
  • Change management API to use actor guid instead of actor name
  • Audit the management API and check how we handle authentication and authorization
  • Review the management API and determine what needs to be pulled down to the core and what should stay in the standard management package
  • Decide if there are missing management API and add them
  • Audit all security checks
  • Revisit exception handling: make sure we catch, log, and handle correctly all exceptions. If needed specialize exceptions: use ExceptionXXX instead of Exception.
  • Atomicity of operations: some management operations are not very tolerant to failure in the middle of a sequence of actions. Such failures can cause inconsistent state.
  • Cleanup and make the boot package more robust
  • Cleanup the logs. Make sure we have sufficient information on debug level to diagnose common problems. Make sure that release builds do not overflow the log
  • Move log4.properties into container.properties
  • How do we manage images when using Eucalyptus?
  • How do we manage machines when using Eucalyptus?
  • Need a way to configure what functionality is available at the Orca web portal. For example, functionality that depends on ZFS should not be available when using Eucalyptus.

Would be nice to have

  • Orca command line management tools
  • Simplify installation (wizard)