Jump to: navigation, search

Difference between revisions of "Nova"

(Active Sub-teams:)
m
(42 intermediate revisions by 14 users not shown)
Line 23: Line 23:
  
  
We align with what was the integrated release schedule, with three milestones. For Mitaka this means: [[Mitaka_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/Mitaka_Release_Schedule]] and [[Nova/Process]]
+
But we do have some Nova specific process deadlines, please see [[Nova/Stein_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)
+
** Eric Fried (efried)
 
* [[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 ===
Line 112: Line 115:
 
==== Code Review Subteam ====
 
==== Code Review Subteam ====
  
Subteams don't need permission. They can be around for short or long periods of time.
+
Sub-teams don't need permission. They can be around for short or long periods of time.
  
A common patter is an adhoc group of people, focusing on a sub set of reviews. They generally co-ordinate on here:
+
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/mitaka-nova-priorities-tracking
+
https://etherpad.openstack.org/p/stein-nova-subteam-tracking
  
For each subteam, the etherpad usually includes:
+
For each sub-team, the etherpad usually includes:
* list of people in the group (IRC nics)
+
* 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 have reviewed, and think are ready for nova-core to approve
* list of patches the sub team are focusing their reviews on
+
* list of patches the sub-team are focusing their reviews on
 
* May link to a regular meeting, but that is strictly optional
 
* May link to a regular meeting, but that is strictly optional
  
  
Over time, it is hoped, some subteams may become trusted enough to could as a +2. Even without counting as a +2, the review focus, and implied prioritisation is still very valuable.
+
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 ====
 
==== Sub-team Meetings ====
Line 140: Line 143:
 
* 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.
 
* 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.
+
TODO - this list can get out-of-date, need a better approach.
  
* [[Meetings/EC2API|EC2 API]]
 
* [[Meetings/Hyper-V|Hyper-V]]
 
* [[Meetings/NovaBugScrub|Nova Bugs]]
 
 
* [[Meetings/Scheduler|Scheduler]]
 
* [[Meetings/Scheduler|Scheduler]]
* [[Meetings/VMwareAPI|VMwareAPI]]
 
* [[Meetings/XenAPI|XenAPI]]
 
* [[Meetings/Libvirt|Libvirt]]
 
* [[Meetings/Containers|Containers]]
 
* Docker
 
 
* [[Meetings/NovaCellsv2|Cellsv2]]
 
* [[Meetings/NovaCellsv2|Cellsv2]]
* Virtuozzo
 
* SR-IOV (meeting times coming soon)
 
 
* [[Meetings/NovaAPI|NovaAPI]]
 
* [[Meetings/NovaAPI|NovaAPI]]
* [[Meetings/NovaNotification|NovaNotification]]
 
  
 
== History ==
 
== History ==
Line 166: Line 158:
 
** Michael Still (mikal), Juno and Kilo releases
 
** Michael Still (mikal), Juno and Kilo releases
 
** John Garbutt (johnthetubaguy), Liberty and Mitaka releases
 
** John Garbutt (johnthetubaguy), Liberty and Mitaka releases
 +
** Matt Riedemann (mriedem), Newton, Ocata, Pike, and Queens releases
 +
** Melanie Witt (melwitt), Rocky and Stein releases
 +
** Eric Fried (efried), Train 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 178: Line 175:
 
** Daniel Berrange
 
** Daniel Berrange
 
** Devananda van der Veen
 
** Devananda van der Veen
 +
** Eric Fried
 
** Jay Pipes
 
** Jay Pipes
 
** Joe Gordon
 
** Joe Gordon
Line 198: Line 196:
 
** Sean Dague
 
** Sean Dague
 
** Soren Hansen
 
** Soren Hansen
 +
** Stephen Finucane
 +
** Sylvain Bauza
 
** Trey Morris
 
** Trey Morris
 
** Vishvananda Ishaya
 
** Vishvananda Ishaya
Line 203: Line 203:
  
 
== 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 213: Line 212:
  
 
libvirt virt driver
 
libvirt virt driver
  - Dan Berrange (danpb)
+
  - ?
  
 
Hyper-V virt driver
 
Hyper-V virt driver
Line 220: Line 219:
 
VMWare/vCenter virt driver
 
VMWare/vCenter virt driver
  
  - Gary Kotton (garyk)  
+
  - Eric Brown (browne)
 
  - Radoslav Gerganov (rgerganov)
 
  - Radoslav Gerganov (rgerganov)
  
Line 230: Line 229:
 
Ironic/bare metal
 
Ironic/bare metal
  
  - Devananda van der Veen (devananda)  
+
  - Jim Rollenhagen (jroll)  
  
 
Scheduling and resource tracking
 
Scheduling and resource tracking
Line 238: Line 237:
  
 
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
  
- Sean Dague (sdague)
 
 
  - Alex Xu (alex_xu)  
 
  - Alex Xu (alex_xu)  
  
 
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
  - Matt Riedemann (mriedem)
+
  - 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 19:31, 26 March 2019


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/Stein_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
    • Eric Fried (efried)
  • 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/stein-nova-subteam-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 can get 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 and Stein releases
    • Eric Fried (efried), Train 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
    • Eric Fried
    • 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

- 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