Jump to: navigation, search

Difference between revisions of "Nova"

(Active Sub-teams:)
(Developer Contacts)
(46 intermediate revisions by 15 users not shown)
Line 23: Line 23:
  
  
We align with what was the integrated release schedule, with three milestones. For liberty this means: [[Liberty_Release_Schedule]]
+
We align with what was the integrated release schedule, with three milestones.
  
But we do have some Nova specific process deadlines, please see [[Nova/Liberty_Release_Schedule]]
+
But we do have some Nova specific process deadlines, please see [[Nova/Rocky_Release_Schedule]] and [http://docs.openstack.org/developer/nova/process.html Nova Process]
  
 
=== Python Nova client ===
 
=== Python Nova client ===
Line 42: Line 42:
  
 
* PTL
 
* PTL
** John Garbutt (johnthetubaguy)
+
** Melanie Witt (melwitt)
 
* [[Blueprints|Feature Drivers]]
 
* [[Blueprints|Feature Drivers]]
 
** [https://launchpad.net/~nova-drivers/+members#active nova-drivers team]
 
** [https://launchpad.net/~nova-drivers/+members#active nova-drivers team]
Line 48: Line 48:
 
** [https://review.openstack.org/#/admin/groups/25,members nova-core team]
 
** [https://review.openstack.org/#/admin/groups/25,members nova-core team]
 
* Blueprint Czar (responsible for maintenance of Nova's blueprint lists)
 
* Blueprint Czar (responsible for maintenance of Nova's blueprint lists)
** TBC
+
** Same as PTL.
 
* Bug Czar (responsible for organizing Nova's bug team that maintains Nova's bug list)
 
* Bug Czar (responsible for organizing Nova's bug team that maintains Nova's bug list)
** Markus Zoeller (markus_z)
+
** n/a
 
* Stable Branch Czar (works with stable maintenance team around Nova things)
 
* Stable Branch Czar (works with stable maintenance team around Nova things)
 
** Matt Riedemann (mriedem)
 
** Matt Riedemann (mriedem)
 
* Security Czar (responsible for working with VMT and leading nova-coresec)
 
* Security Czar (responsible for working with VMT and leading nova-coresec)
** Michael Still (mikal)
+
** n/a
 
* Gate Czar (on top of the status of Nova in the CI gate)
 
* Gate Czar (on top of the status of Nova in the CI gate)
 
** Matt Riedemann (mriedem)
 
** Matt Riedemann (mriedem)
* APAC/US Meeting Czar (runs the 2100 UTC Nova meeting)
 
** Michael Still (mikal)
 
 
* [[Nova/APIWGLiaisons|API Working Group Liaisons]]
 
* [[Nova/APIWGLiaisons|API Working Group Liaisons]]
** Matthew Gilliard (gilliard) and Alex Xu (alex_xu)
+
** Alex Xu (alex_xu)
 
* [[Nova-Ironic|Ironic Liaison]]
 
* [[Nova-Ironic|Ironic Liaison]]
** John Villalovos (jlvillal)
+
** Jim Rollenhagen (jroll)
** Michael Davies (mrda) (backup)
 
 
* python-novaclient Czar
 
* python-novaclient Czar
** TBC
+
** Andrey Kurilin (andreykurilin)
 
* [[Nova/Mentoring|Mentoring]] Czar
 
* [[Nova/Mentoring|Mentoring]] Czar
**  John Garbutt (johnthetubaguy)
+
**  n/a
* Answers Czar
+
* Answers (ask.openstack.org) Czar
**
+
** n/a
 
* Release Czar
 
* Release Czar
** TBC
+
** Sylvain Bauza (bauzas)
 
* Docs Czar
 
* Docs Czar
** TBC
+
** https://wiki.openstack.org/wiki/CrossProjectLiaisons#Documentation
 +
* Notifications
 +
** Balazs Gibizer (gibi)
 +
* Catering Czar
 +
** Chet Burgess (cburgess)
  
  
Line 83: Line 84:
  
 
=== Documentation ===
 
=== Documentation ===
* [http://docs.openstack.org/api/openstack-compute/2/content/ Compute API (v2) specification]
+
* [https://developer.openstack.org/api-ref/compute/ Compute API reference]
* [http://docs.openstack.org/trunk/openstack-compute/admin/content/ Administration Guide]
+
* [https://docs.openstack.org/nova/latest/admin/ Administration Guide]
  
 
=== Release Process ===
 
=== Release Process ===
* Nova releases are now done by providing the Release Manager with a git SHA to tag
+
* nova (and other projects under the [https://governance.openstack.org/tc/reference/projects/nova.html compute program in governance]) are released through the standard openstack release process: https://github.com/openstack/releases/blob/master/README.rst
* Client releases are done by following [[Nova/Client Release Process]]
+
* 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 ===
 
=== Other resources ===
Line 99: Line 103:
 
* [http://docs.openstack.org/infra/manual/developers.html General Developer's Guide]
 
* [http://docs.openstack.org/infra/manual/developers.html General Developer's Guide]
 
* [http://docs.openstack.org/developer/nova/devref/index.html Nova Architecture and long term plan Docs]
 
* [http://docs.openstack.org/developer/nova/devref/index.html Nova Architecture and long term plan Docs]
* [http://docs.openstack.org/developer/nova/devref/kilo.blueprints.html#when-is-a-blueprint-needed When you need a spec vs a blueprint]
+
* [http://docs.openstack.org/developer/nova/blueprints.html When you need a spec vs a blueprint]
 
* [http://specs.openstack.org/openstack/nova-specs/readme.html nova-spec process]
 
* [http://specs.openstack.org/openstack/nova-specs/readme.html nova-spec process]
 
* [https://wiki.openstack.org/wiki/Nova/BugTriage Bug Triage Process and Bug tag owners]
 
* [https://wiki.openstack.org/wiki/Nova/BugTriage Bug Triage Process and Bug tag owners]
* [[Nova/ReleaseChecklist]]
 
  
 
=== Nova subteams ===
 
=== 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.
 
  
===== Notes on Sub-teams: =====
+
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 linked wiki page should include:
Line 117: Line 141:
 
* A sub-team representative should regularly attend the main Nova meeting to provide a sub-team status report.
 
* 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 *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.  Review 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.
+
* 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: =====
 
===== Active Sub-teams: =====
 +
 +
TODO - this list is very out of date, need a better approach.
  
 
* [[Meetings/EC2API|EC2 API]]
 
* [[Meetings/EC2API|EC2 API]]
Line 132: Line 158:
 
* [[Meetings/NovaCellsv2|Cellsv2]]
 
* [[Meetings/NovaCellsv2|Cellsv2]]
 
* Virtuozzo
 
* Virtuozzo
 +
* SR-IOV - [http://eavesdrop.openstack.org/#SR-IOV/PCI_Passthrough_Meeting meeting times]
 +
* [[Meetings/NovaAPI|NovaAPI]]
 +
* [[Meetings/NovaNotification|NovaNotification]]
 +
* [[Meetings/NovaLiveMigration|NovaLiveMigration]]
  
 
== History ==
 
== History ==
Line 139: Line 169:
 
** Russell Bryant (russellb), Havana and Icehouse releases
 
** Russell Bryant (russellb), Havana and Icehouse releases
 
** Michael Still (mikal), Juno and Kilo releases
 
** Michael Still (mikal), Juno and Kilo releases
 +
** John Garbutt (johnthetubaguy), Liberty and Mitaka releases
 +
** Matt Riedemann (mriedem), Newton, Ocata, Pike, and Queens releases
 +
** Melanie Witt (melwitt), Rocky release
  
 
* Previous or current core reviewers:
 
* Previous or current core reviewers:
 +
** Alex Xu
 
** Andrew Laski
 
** Andrew Laski
 +
** Balazs Gibizer
 
** Brian D. Elliott
 
** Brian D. Elliott
 
** Brian Lamar
 
** Brian Lamar
Line 171: Line 206:
 
** Sean Dague
 
** Sean Dague
 
** Soren Hansen
 
** Soren Hansen
 +
** Stephen Finucane
 +
** Sylvain Bauza
 
** Trey Morris
 
** Trey Morris
 
** Vishvananda Ishaya
 
** Vishvananda Ishaya
Line 176: Line 213:
  
 
== Developer Contacts ==
 
== Developer Contacts ==
'''Work In Progress'''
 
 
The following is a list of major subsystems within Nova and people that you
 
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
 
can approach on IRC or email if you have questions about that particular
Line 186: Line 222:
  
 
libvirt virt driver
 
libvirt virt driver
  - Dan Berrange (danpb)
+
  - ?
  
 
Hyper-V virt driver
 
Hyper-V virt driver
Line 193: Line 229:
 
VMWare/vCenter virt driver
 
VMWare/vCenter virt driver
  
  - Gary Kotton (garyk)  
+
  - Eric Brown (browne)
 
  - Radoslav Gerganov (rgerganov)
 
  - Radoslav Gerganov (rgerganov)
  
Line 203: Line 239:
 
Ironic/bare metal
 
Ironic/bare metal
  
  - Devananda van der Veen (devananda)  
+
  - Jim Rollenhagen (jroll)  
  
 
Scheduling and resource tracking
 
Scheduling and resource tracking
Line 211: Line 247:
  
 
Block device mapping and volume attachments
 
Block device mapping and volume attachments
  - Nikola Dipanov (ndipanov)  
+
 
 +
  - Matthew Booth (mdbooth)
 +
- Feodor Tersin (ftersin)
 +
- Lee Yarwood (lyarwood)
  
 
REST API
 
REST API
Line 219: Line 258:
  
 
Database
 
Database
  - Andrew Laski (alaski)  
+
  - Jay Pipes (jaypipes)
  
 
Cells (v1 and v2)
 
Cells (v1 and v2)
  
  - Andrew Laski (alaski)
+
  - Dan Smith (dansmith)
 
  - Melanie Witt (melwitt)
 
  - Melanie Witt (melwitt)
  
 
nova-network
 
nova-network
  - ?
+
  - Dan Smith (dansmith)
  
 
Neutron
 
Neutron
  - Brent Eagles (beagles)
+
  - Matt Riedemann (mriedem)
  
RPC and notification system
+
RPC
 
  - Dan Smith (dansmith)
 
  - 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)
 +
- Eric Fried (efried)
  
 
== So, you want to learn more about Nova? ==
 
== So, you want to learn more about Nova? ==
  
To learn more about Nova, please read out about [[Nova/Mentoring|Nova Mentoring]]
+
To learn more about Nova, please read out about [https://docs.openstack.org/nova/latest/contributor/how-to-get-involved.html Nova Mentoring]
  
 
----
 
----
 
[[Category:Nova]]
 
[[Category:Nova]]

Revision as of 00:15, 15 February 2018


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

Code Review Dashboards

  • Many Nova reviewers use dashboards to help them decide what to review. Nova/GerritDashboards tracks some of our favorites.

Other resources

Resources for Contributors

Contributor Documentation

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.

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
    • Melanie Witt (melwitt), Rocky release
  • Previous or current core reviewers:
    • Alex Xu
    • Andrew Laski
    • Balazs Gibizer
    • 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)
- Eric Fried (efried)

So, you want to learn more about Nova?

To learn more about Nova, please read out about Nova Mentoring