Jump to: navigation, search


Revision as of 22:13, 24 May 2012 by Launchpad (talk)

Starter Bugs

These are bugs that folks new to Quantum might want to pick off as an introduction:


If you're new to Quantum, just assign the bug to yourself on launchpad, and feel free to use the bug (or the mailing list) to ask questions about how to fix it.

Starter/Community Projects

Note: if you're interested in taking on one of these starter projects, create a blueprint and send email to the netstack list with thoughts and to get feedback from the team. Send email will also help you identify the right people on the Quantum team to help you complete this project.

  • API to query extensions supported by currently running plugin: current approach only tells what extensions are loaded, but some loaded extensions may not be supported by the plugin, and thus, should not be used.
  • quantum client improvements, particularly making it act more like other openstack clients. Quantum client currently doesn't using standard arg parsing, so all args are positional, and there isn't good support for optional arguments. It also isn't possible to put things like your credentials and tenant-id into environment variables (as is the case with other openstack clients). The output also is not in a standard table format like other clients, which can be confusing, and makes the output harder to parse with scripts. The commands should also use dashes, not underscores. Finally, figuring out how people should be able to extend the CLI to take advantage of extensions is another major area for improvement. ayoung also mentioned the important of specifying the endpoint as a URL, not as a host + port. This matches other clients. (Yong is working on this)
  • System/Integration testing. We need system/integration testing that exercises much more functionality than the basic excercise.sh script. We'd also like to explore integration with Tempest and working with the openstack CI team to make sure that both unit tests and system/integration testing is a gate to Quantum commits in Folsom. (interested parties: debo, davelaps)
  • Developer documentation. Core openstack projects have develop documentation generated using sphinx and available at <project-name>.openstack.org (e.g., http://keystone.openstack.org/). Quantum currently only has a basic wiki page for developers: http://wiki.openstack.org/QuantumDevelopment . We'll need to improve this significantly in Folsom.
  • Quantum + Horizon Integration: letting tenants drive Quantum configuration via the Horizon web gui will be important for widespread adoption + use of Quantum. An early version of the Quantum + Horizon integration no longer works with the current Nova + Quantum integration, so we need to redo it (it is currently disabled). We have folks from the Horizon team willing to help, but we need people familiar with Quantum to help them out.
  • Audit existing code coverage report and identify additional unit tests that should be written to improve those numbers.
  • Improve pylint score
  • Openstack Common Make Quantum leverage the "openstack common" library whenever possible. See QuantumOpenstackCommon for a list of files that would be great candidates. If those files contain code that is not specific to Quantum, consider adding it to Openstack common. See: https://github.com/openstack/openstack-common
  • Scale Testing We need to be testing Quantum operations at large scale to identify any bottlenecks. There are three likely divisions for this work. 1) Nova Quantum Integration 2) Quantum API Layer and 3) Plugin Layer. Each plugin will have to be evaluated for scale independently, but it should be pretty easy to use the SamplePlugin just to test scale in the first two layers.
  • Common Code for Quantum Agents Some Quantum plugins have agents that run on the hypervisor and configure the virtual switch. These agents tend to need to do similar things, but currently the quantum code structure does not make it easy for these agents to share code. We also want these agents to act in a common way in terms of configuration and command line operations, so that life is easier for distros packaging the agents.