Merge "Update team structure and add council"
This commit is contained in:
commit
497bfb09f6
@ -58,44 +58,6 @@ presentations team members have given about the infrastructure.
|
||||
|
||||
And if you have any questions, please ask.
|
||||
|
||||
Team
|
||||
====
|
||||
|
||||
The infrastructure team is open, meaning anyone may join and begin
|
||||
contributing with no formal process. As an individual's contributions
|
||||
and involvement grow, there are more formal roles in the team:
|
||||
|
||||
Core Members
|
||||
Core team members are able to approve or reject proposed changes to
|
||||
any of the infrastructure projects. If an individual shows
|
||||
commitment and aptitude in code reviews, the current core team
|
||||
membership will take notice and propose that person for inclusion in
|
||||
the core team, and hold a vote to make the final determination.
|
||||
|
||||
In addition to the project-wide infrastructure group, individual
|
||||
infrastructure projects (such as Jenkins Job Builder or Reviewday)
|
||||
may also have their own core teams as necessary.
|
||||
|
||||
Root Members
|
||||
While core membership is directly analogous to the same system in
|
||||
other OpenStack projects, because the infrastructure team operates
|
||||
production servers, there is another sub-group of the infrastructure
|
||||
team that has root access to all servers. Root membership is
|
||||
handled in the same way as core membership. Root members must also
|
||||
be core members, but core members may not necessarily be root
|
||||
members.
|
||||
|
||||
Root access is generally only necessary to launch new servers,
|
||||
perform low-level maintenance, manage DNS, or fix problems. In
|
||||
general it is not needed for day-to-day system administration and
|
||||
configuration which is done in puppet (where anyone may propose
|
||||
changes). Therefore it is generally reserved for people who are
|
||||
well versed in infrastructure operations and can commit to spending
|
||||
a significant amount of time troubleshooting on servers.
|
||||
|
||||
Some individuals may need root access to individual servers; in
|
||||
these cases the core group may grant root access on a limited basis.
|
||||
|
||||
Bugs
|
||||
====
|
||||
|
||||
@ -109,3 +71,129 @@ There is also a low-hanging-fruit tag associated with bugs that should
|
||||
provide a gentle introduction to working on the infrastructure project
|
||||
without needing too much in-depth knowledge or access.
|
||||
|
||||
Priority Efforts
|
||||
================
|
||||
|
||||
The infrastructure project designates a small number of efforts
|
||||
underway at any time as priority efforts. These are areas where the
|
||||
project has decided to focus resources to achieve major initiatives.
|
||||
These help reviewers prioritize their review workload and help to
|
||||
ensure the project accomplishes important tasks. Priority efforts are
|
||||
a great way to get involved in the project as they will generally
|
||||
provide the most interaction with experienced contributors.
|
||||
|
||||
Priority efforts are documented in the infra-specs repo. Each
|
||||
priority effort has one entry in infra-specs, though that may link to
|
||||
multiple smaller specifications for individual units of work if the
|
||||
effort is sufficiently large. Each priority effort also has a single
|
||||
person designated as the driver of that effort. That person is
|
||||
responsible for ensuring that anything blocking progress of the effort
|
||||
is discussed at team meetings and may be a good point of contact for
|
||||
someone who wants to get involved.
|
||||
|
||||
Changes not related to priority efforts will be reviewed by the core
|
||||
review team as time permits. This may mean that they spend
|
||||
considerable time in review, but they will be reviewed eventually. If
|
||||
a change is urgent, you might consider contacting someone in
|
||||
#openstack-infra on Freenode.
|
||||
|
||||
Teams
|
||||
=====
|
||||
|
||||
The infrastructure project is open, meaning anyone may join and begin
|
||||
contributing with no formal process. As an individual's contributions
|
||||
and involvement grow, there are more formal roles. These roles are
|
||||
designed to empower groups of people to get work done in their area of
|
||||
expertise and interest, as well as supply a strong sense of direction
|
||||
for the infrastructure project as a whole. Everyone participating in
|
||||
the project is encouraged to expand their own knowledge while helping
|
||||
to support and mentor others as they progress.
|
||||
|
||||
Core Teams
|
||||
The infrastructure project is composed of a large number of
|
||||
subprojects. Every source code repository has its own core team
|
||||
which is responsible for maintenance of that subproject, with some
|
||||
groups of repositories sharing a core team. These core teams are
|
||||
empowered to approve changes that reflect the currently understood
|
||||
project direction. Changes in project direction or major new
|
||||
initiatives must be approved by the infrastructure council.
|
||||
|
||||
Any existing core team member may nominate someone for addition to
|
||||
that core team by private communication with the infrastructure PTL.
|
||||
The PTL will consider the opinions of the existing core team members
|
||||
and the review history of the person in question, but final
|
||||
determination of core team membership (additions and removals) rests
|
||||
with the PTL. This process is private to enable honest evaluations
|
||||
in a safe environment.
|
||||
|
||||
Infrastructure Core Team
|
||||
Individuals who show an interest in a wide range of areas of the
|
||||
infrastructure project may be asked to join the infra-core team. To
|
||||
provide a baseline level of support to all of our subprojects and to
|
||||
ensure that important efforts may move forward, this team has
|
||||
approval rights in all infrastructure repositories. Members of this
|
||||
team may not be experts in all areas, but know their limits, and
|
||||
will not exceed those limits when reviewing changes outside of their
|
||||
area of expertise.
|
||||
|
||||
They are expected to have a wide general knowledge of what is going
|
||||
on in the infrastructure project and to help guide overall project
|
||||
direction. To that end, they are able to veto specs proposed to the
|
||||
infrastructure council.
|
||||
|
||||
Infrastructure Council
|
||||
The infrastructure council is the technical design body for the
|
||||
infrastructure project. While individuals and groups are empowered
|
||||
to execute the designs from the concil, major technical designs are
|
||||
agreed upon as a group to ensure that our large set of projects are
|
||||
all working together to the same end. The council need not delve
|
||||
too deeply into technical detail -- just enough so that development
|
||||
efforts may happen in parallel and work toward a common goal.
|
||||
|
||||
All members of any infrastructure project core team have a seat on
|
||||
the Council. The Council is responsible for approving changes in
|
||||
project direction, major new initiatives, setting priority efforts,
|
||||
and addition or removal of projects.
|
||||
|
||||
Any such changes should be proposed to the infra-specs repository.
|
||||
Anyone is welcome to review specs and they are expected to evolve
|
||||
during the review process. When a change to infra-specs is ready
|
||||
for final approval, the author will add the change to the infra team
|
||||
meeting agenda so that the entire team is notified that the spec is
|
||||
ready. Members of the council will vote by leaving reviews on the
|
||||
spec to approve or reject the change. The determination will be
|
||||
based on a majority vote, with members of the infra-core team able
|
||||
to veto, and in the case of a tie, the PTL will cast the deciding
|
||||
vote. The PTL will execute the workflow action on the change after
|
||||
the vote.
|
||||
|
||||
Specs are living documents, and once approved, should be maintained
|
||||
for the duration of the effort they describe. Substantial changes
|
||||
in direction should go through the same process described above.
|
||||
The PTL may chose to approve insubstantial changes without the
|
||||
formal council voting process.
|
||||
|
||||
Infrastructure Root Team
|
||||
While core membership is analogous to the same system in other
|
||||
OpenStack projects, because the infrastructure team operates
|
||||
production servers there is another sub-group of the infrastructure
|
||||
team that has root access to all servers. Root membership is
|
||||
handled in the same way as core membership. Root members must also
|
||||
be infra-core members, but infra-core members may not necessarily be
|
||||
root members. This is because primary system administration is
|
||||
performed through code review, so anyone able to log into a machine
|
||||
to execute commands must be able to approve those same commands in
|
||||
configuration management; otherwise it would be easier for a person
|
||||
to bypass puppet than use it in the intended fashion.
|
||||
|
||||
Root access is generally only necessary to launch new servers,
|
||||
perform low-level maintenance, manage DNS, or fix problems. In
|
||||
general it is not needed for day-to-day system administration and
|
||||
configuration which is done in puppet (where anyone may propose
|
||||
changes). Therefore it is generally reserved for people who are
|
||||
well versed in infrastructure operations and can commit to spending
|
||||
a significant amount of time troubleshooting on servers.
|
||||
|
||||
Some individuals may need root access to individual servers; in
|
||||
these cases the infra-core group may grant root access on a limited
|
||||
basis.
|
||||
|
Loading…
Reference in New Issue
Block a user