The OpenStack Technical Committee (TC) meets weekly. During the meeting on 2014-06-03, one of the topics we discussed was the relatively low turnout for the TC election as compared to the PTL elections. The most productive thing to come out of that discussion was that we needed to do a better job of communicating what the TC is working on and why it is important. As a result, we will be posting regular updates about the TC to the OpenStack blog. This first post will likely be a bit longer as it’s important to set up some of the context for the things we are currently discussing.
How the TC was formed is described in the history of OpenStack open source project governance by the current chair of the TC, Thierry Carrez.
Open governance is an important value held by OpenStack and the TC wants to be as open as possible. In addition to these regular updates, you can find the details of everything we do in a few other places. The archives of the openstack-tc mailing list are open. Our weekly IRC meetings are public and logged.
All project governance work is managed in a git repository and changes are reviewed in gerrit in the same way that we review code. Everyone that is interested is invited to comment on proposed governance changes. You can find a list of changes under review here. You can find a list of previously approved changes and the discussions that happened on their reviews here.
Project Incubation and Graduation Requirements
One of the responsibilities of the TC is to manage the set of projects that are included in the OpenStack integrated release. New projects may apply to be incubated. Incubated projects will later be reviewed for graduation from incubation. A graduated project is a part of the integrated release.
As OpenStack has grown, it became clear that we needed to be much more clear around our expectations of projects for incubation and graduation. Over the last year we worked to formalize these expectations in a document in the governance repository. We approved the first version of this document on December 2, 2013. We have been updating it ever since as more issues need to be clarified. You can find the latest version of that document in the Governance git repository.
Toward the end of the Icehouse development cycle, we started a process of going through all projects already in the integrated release and evaluating them against this criteria. For any project that has gaps against these expectations, we require that the PTL present a plan for addressing these gaps during the Juno cycle.
The latest project review was for Glance, during the TC meeting on 2014-06-10. The only gap found for Glance was around tempest test coverage. Specifically, Tempest does not cover uploading a real binary image to Glance. The Glance PTL will now come up with a plan to address this gap and the TC will review progress against this plan throughout the Juno cycle.
We actually spent quite a bit of this meeting talking about Glance. The most controversial topic is around the proposal to increase its scope. Glance is currently focused on disk images. There is a proposal against the governance repository to expand its scope to cover a more general definition of artifacts. The particular use cases that inspired this direction for Glance is the desire to store things like Heat or Murano templates. In the end, there seems to be broad support for the general direction proposed. We still have some work to do to get the wording of the mission statement in a form that everyone is comfortable with.
Finally, the Glance project brought an important cross-project API consistency question to the TC. Specifically, they have an alternative method for how they would like to expose actions through their API which is different from how Nova does it currently, for example. There was support for the specific proposal. However, it raises the larger question about how we go about best working toward cross project API consistency. We would love to have someone lead an effort to create a cross-project API style guide for OpenStack, but it’s unclear who will do it and exactly who would review and approve the content. I expect this to be an ongoing discussion.
Another project that has received a lot of attention recently is Designate, which provides DNS as a Service for OpenStack. This is a sorely needed feature for OpenStack deployments so I’m very happy to see the progress made in this area.
The project recently applied for incubation. This is actually the second time that Designate has applied for incubation. The first time was one year ago, in June of 2013. After the first application, the TC concluded that it was a bit too early to incubate the project. There were various concerns, but the primary one was the level of involvement in the project, in terms of individuals and separate companies.
Designate has matured a good bit over the last year and I’m proud to announce that the application has been approved. Designate is now an incubated project!
The earliest Designate will be included in the integrated release would be the K release. Given that we’re already well into the Juno cycle, the L release seems more realistic. This is a topic that the TC would revisit at the end of the Juno development cycle.
We want to make these updates from the TC as useful as possible. If you have any comments or suggestions, please let us know!