Jump to: navigation, search

Difference between revisions of "NeutronStarterBugs"

Line 19: Line 19:
 
Note: if you're interested in taking on one of these community 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.   
 
Note: if you're interested in taking on one of these community 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.   
  
* '''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 argumentsIt 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 underscoresFinally, figuring out how people should be able to extend the CLI to take advantage of extensions is another major area for improvementayoung also mentioned the important of specifying the endpoint as a URL, not as a host + portThis matches other clients.  (Yong is working on this)
+
* '''Quantum + Horizon Integration''':  letting tenants drive Quantum configuration via the Horizon web gui will be important for widespread adoption + use of Quantum.  Arvind is working on the base integration of Horizon and Quantum, but we will need a lot more help to get advanced Quantum features (e.g., security groups, L3, port-status, admin-state, port-statistics) expose. 
 +
* '''API Quotas'''.  Service providers need to be able to limit the set of resources a tenant can consume in a flexible way.  For example, it might limit each tenant to creating 10 networks by default, with the ability to increase this quota for select tenants who request itNova has a framework for Quotas, which we can leverage, ideally using code that is in openstack-common. 
 +
* '''Notifications API'''.  Other openstack projects like Nova have a notifications API for external tools to listen to event (e.g., network created/destroyed, floating ip allocated/deallocated)Quantum should leverage that code (ideally as code from openstack-common) for its own notifications infrastructureOne example of an external system that would like to consume that information is Ceiliometer (https://launchpad.net/ceilometer)
 +
* '''Integration with Orchestration/PaaS Layers'''.  While some people will interact with Quantum + Nova APIs directly or via Horizon, others will want to use a mechanism that define a complete topology of servers and network connectivity as a single templateOne possibility for this is the new [[OpenStack]] Heat project (http://wiki.openstack.org/Heat)Heat is an open source implementation of the Amazon Cloudformation APIs (http://aws.amazon.com/cloudformation/)
 
* '''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, hua)
 
* '''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, hua)
 
* '''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.  
 
* '''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.  (arvind is working on this, but others can definitely help)
 
 
* '''Audit existing code coverage''' report and identify additional unit tests that should be written to improve those numbers.   
 
* '''Audit existing code coverage''' report and identify additional unit tests that should be written to improve those numbers.   
 
* '''Improve pylint score'''   
 
* '''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
 
* '''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.
 
* '''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.

Revision as of 01:37, 30 June 2012


Code Reviews

Before you even start fixing bugs, a good way to familiarize yourself with the Quantum codebase and development practices is to participate in code reviews.

Starter Bugs

These are bugs that folks new to Quantum might want to pick off as an introduction: [ https://bugs.launchpad.net/quantum/+bugs?field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.tag=low-hanging-fruit&assignee_option=none&field.assignee= | low-hanging-fruit bugs ]

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.

Community Projects

Note: if you're interested in taking on one of these community 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.

  • Quantum + Horizon Integration: letting tenants drive Quantum configuration via the Horizon web gui will be important for widespread adoption + use of Quantum. Arvind is working on the base integration of Horizon and Quantum, but we will need a lot more help to get advanced Quantum features (e.g., security groups, L3, port-status, admin-state, port-statistics) expose.
  • API Quotas. Service providers need to be able to limit the set of resources a tenant can consume in a flexible way. For example, it might limit each tenant to creating 10 networks by default, with the ability to increase this quota for select tenants who request it. Nova has a framework for Quotas, which we can leverage, ideally using code that is in openstack-common.
  • Notifications API. Other openstack projects like Nova have a notifications API for external tools to listen to event (e.g., network created/destroyed, floating ip allocated/deallocated). Quantum should leverage that code (ideally as code from openstack-common) for its own notifications infrastructure. One example of an external system that would like to consume that information is Ceiliometer (https://launchpad.net/ceilometer)
  • Integration with Orchestration/PaaS Layers. While some people will interact with Quantum + Nova APIs directly or via Horizon, others will want to use a mechanism that define a complete topology of servers and network connectivity as a single template. One possibility for this is the new OpenStack Heat project (http://wiki.openstack.org/Heat). Heat is an open source implementation of the Amazon Cloudformation APIs (http://aws.amazon.com/cloudformation/).
  • 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, hua)
  • 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.
  • 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.