MAINTAINERS
===========


Overview
--------

The following is a list of people known to have interests in
particular areas or sub-systems of devstack.

It is a rather general guide intended to help seed the initial
reviewers list of a change.  A +1 on a review from someone identified
as being a maintainer of its affected area is a very positive flag to
the core team for the veracity of the change.

The ``devstack-core`` group can still be added to all reviews.


Format
~~~~~~

The format of the file is the name of the maintainer and their
gerrit-registered email.


Maintainers
-----------

.. contents:: :local:


Ceph
~~~~

* Sebastien Han <sebastien.han@enovance.com>

Cinder
~~~~~~

Fedora/CentOS/RHEL
~~~~~~~~~~~~~~~~~~

* Ian Wienand <iwienand@redhat.com>

Neutron
~~~~~~~

MidoNet
~~~~~~~

* Jaume Devesa <devvesa@gmail.com>
* Ryu Ishimoto <ryu@midokura.com>
* YAMAMOTO Takashi <yamamoto@midokura.com>

OpenDaylight
~~~~~~~~~~~~

* Kyle Mestery <mestery@mestery.com>

OpenFlow Agent (ofagent)
~~~~~~~~~~~~~~~~~~~~~~~~

* YAMAMOTO Takashi <yamamoto@valinux.co.jp>
* Fumihiko Kakuma <kakuma@valinux.co.jp>

Swift
~~~~~

* Chmouel Boudjnah <chmouel@enovance.com>

SUSE
~~~~

* Ralf Haferkamp <rhafer@suse.de>
* Vincent Untz <vuntz@suse.com>

Tempest
~~~~~~~

Xen
~~~
* Bob Ball <bob.ball@citrix.com>

Zaqar (Marconi)
~~~~~~~~~~~~~~~

* Flavio Percoco <flaper87@gmail.com>
* Malini Kamalambal <malini.kamalambal@rackspace.com>

Oracle Linux
~~~~~~~~~~~~
* Wiekus Beukes <wiekus.beukes@oracle.com>
