Nova
Contents
Projects
Nova
Official name | OpenStack Compute |
Source code | https://github.com/openstack/nova |
Bug tracker | https://bugs.launchpad.net/nova |
Feature tracker | https://blueprints.launchpad.net/nova |
Developer doc | http://docs.openstack.org/developer/nova/ |
We align with what was the integrated release schedule, with three milestones.
But we do have some Nova specific process deadlines, please see Nova/Rocky_Release_Schedule and Nova Process
Python Nova client
Source code | https://github.com/openstack/python-novaclient |
Bug tracker | https://bugs.launchpad.net/python-novaclient |
Feature tracker | https://blueprints.launchpad.net/python-novaclient |
People
- PTL
- Melanie Witt (melwitt)
- Feature Drivers
- Code Reviewers
- Blueprint Czar (responsible for maintenance of Nova's blueprint lists)
- Same as PTL.
- Bug Czar (responsible for organizing Nova's bug team that maintains Nova's bug list)
- n/a
- Stable Branch Czar (works with stable maintenance team around Nova things)
- Matt Riedemann (mriedem)
- Security Czar (responsible for working with VMT and leading nova-coresec)
- n/a
- Gate Czar (on top of the status of Nova in the CI gate)
- Matt Riedemann (mriedem)
- API Working Group Liaisons
- Alex Xu (alex_xu)
- Ironic Liaison
- Jim Rollenhagen (jroll)
- python-novaclient Czar
- Andrey Kurilin (andreykurilin)
- Mentoring Czar
- n/a
- Answers (ask.openstack.org) Czar
- n/a
- Release Czar
- Sylvain Bauza (bauzas)
- Docs Czar
- Notifications
- Balazs Gibizer (gibi)
- Catering Czar
- Chet Burgess (cburgess)
For bug tag owners, please see: Nova Bug Triage
For other folks, please see: Cross Project Liaisons (CPLs)
General Resources
Documentation
Release Process
- nova (and other projects under the compute program in governance) are released through the standard openstack release process: https://github.com/openstack/releases/blob/master/README.rst
- Server side release checklist is found in Nova/ReleaseChecklist
Code Review Dashboards
- Many Nova reviewers use dashboards to help them decide what to review. Nova/GerritDashboards tracks some of our favorites.
Other resources
- Details about the hypervisor support matrix
Resources for Contributors
Contributor Documentation
- General Developer's Guide
- Nova Architecture and long term plan Docs
- When you need a spec vs a blueprint
- nova-spec process
- Bug Triage Process and Bug tag owners
- Nova/ReleaseChecklist
Nova subteams
The Nova team meets weekly: Meetings/Nova.
In addition to a project-wide Nova gathering each week, there are some sub-teams. These sub-teams get together to discuss work going on in a focused area of Nova.
Code Review Subteam
Sub-teams don't need permission. They can be around for short or long periods of time.
A common pattern is an ad-hoc group of people, focusing on a sub set of reviews. They generally co-ordinate on here: https://etherpad.openstack.org/p/pike-nova-priorities-tracking
For each sub-team, the etherpad usually includes:
- list of people in the group (IRC nicks)
- list of patches the sub-team have reviewed, and think are ready for nova-core to approve
- list of patches the sub-team are focusing their reviews on
- May link to a regular meeting, but that is strictly optional
Over time, it is hoped, some sub-teams may become trusted enough to count as a +2. Even without counting as a +2, the review focus and implied prioritisation is still very valuable.
Sub-team Meetings
Some subteams are more formal, with a regular meeting and a wiki page.
- The linked wiki page should include:
- The mission of the team
- A regular meeting time
- A coordinator / point of contact
- Meeting Agenda
- Links to logs from previous meetings
- A sub-team representative should regularly attend the main Nova meeting to provide a sub-team status report.
- A sub-team is *not* exclusively responsible for an area of code. Anyone is welcome to contribute anywhere. However, you are encouraged to communicate regularly with others working in the same area as you and sub-teams help encourage that.
- A sub-team is about organizing development efforts, but not necessarily setting direction for the project in a given area. Approval of patches is still done by the nova-core team and it is beneficial to publish designs to the openstack-dev mailing list for vetting in advance.
Active Sub-teams:
TODO - this list is very out of date, need a better approach.
- EC2 API
- Hyper-V
- Nova Bugs
- Scheduler
- VMwareAPI
- XenAPI
- Libvirt
- Containers
- Docker
- Cellsv2
- Virtuozzo
- SR-IOV - meeting times
- NovaAPI
- NovaNotification
- NovaLiveMigration
History
- Previous PTLs
- Vish Ishaya (vishy), project beginning until Grizzly release
- Russell Bryant (russellb), Havana and Icehouse releases
- Michael Still (mikal), Juno and Kilo releases
- John Garbutt (johnthetubaguy), Liberty and Mitaka releases
- Matt Riedemann (mriedem), Newton, Ocata, Pike, and Queens releases
- Previous or current core reviewers:
- Alex Xu
- Andrew Laski
- Brian D. Elliott
- Brian Lamar
- Brian Waldon
- Chris Behrens
- Chris Yeoh
- Dan Prince
- Dan Smith
- Daniel Berrange
- Devananda van der Veen
- Jay Pipes
- Joe Gordon
- Johannes Erdfelt
- John Garbutt
- Ken'ichi Ohmichi
- Kevin L. Mitchell
- Lorin Hochstein
- Mark McLoughlin
- Matt Dietz
- Matt Riedemann
- Melanie Witt
- Michael Still
- Nikola Dipanov
- Pádraig Brady
- Paul Voccio
- Rick Harris
- Russell Bryant
- Sandy Walsh
- Sean Dague
- Soren Hansen
- Stephen Finucane
- Sylvain Bauza
- Trey Morris
- Vishvananda Ishaya
- Yun Mao
Developer Contacts
The following is a list of major subsystems within Nova and people that you can approach on IRC or email if you have questions about that particular subsystem. IRC nicks are in parentheses.
Nova Objects Framework
- Dan Smith (dansmith) - Jay Pipes (jaypipes)
libvirt virt driver
- ?
Hyper-V virt driver
- Claudiu Belu (claudiub)
VMWare/vCenter virt driver
- Eric Brown (browne) - Radoslav Gerganov (rgerganov)
XenAPI virt driver
- Bob Ball (BobBall) - John Garbutt (johnthetubaguy)
Ironic/bare metal
- Jim Rollenhagen (jroll)
Scheduling and resource tracking
- Sylvain Bauza (bauzas) - Jay Pipes (jaypipes)
Block device mapping and volume attachments
- Matthew Booth (mdbooth) - Feodor Tersin (ftersin) - Lee Yarwood (lyarwood)
REST API
- Sean Dague (sdague) - Alex Xu (alex_xu)
Database
- Jay Pipes (jaypipes)
Cells (v1 and v2)
- Dan Smith (dansmith) - Melanie Witt (melwitt)
nova-network
- Dan Smith (dansmith)
Neutron
- Matt Riedemann (mriedem)
RPC
- Dan Smith (dansmith)
Notification system
- Balázs Gibizer (gibi)
PCI Devices / SRIOV
- Moshe Levi (moshele) - Stephen Finucane (sfinucan)
Placement / Resource Providers
- Jay Pipes (jaypipes) - Chris Dent (cdent) - Ed Leafe (edleafe)
So, you want to learn more about Nova?
To learn more about Nova, please read out about Nova Mentoring