This simple metadata system is great way to navigate OpenStack. Here’s how they work and how to contribute new ones.

Let’s say you are on a mission to set up a virtual compute layer. You’re new to OpenStack and need to know which services to implement to get the job done.

OpenStack’s “vast and wonderful” array of choices has led some newbies to “paralysis of choice” with a side helping of confusion and frustration, but the Technical Committee (TC) has launched a system for tags to break the impasse.

hk3bg9uobfpvuakd6uqv

In this case, you’d look for the “compute starter kit” tag from the governance page; tags are also included in the projects.yaml file. Other useful tags for newcomers will help pinpoint projects with stable releases and those following the six-month development cycle.

As of this writing there are 12, but new tags are added all the time. These handy labels are part of the new order for OpenStack projects and teams.

“There are a lot of things we produce in the upstream open-source community that we call ‘OpenStack,’ we used to artificially reduce the set of things we communicate about (with the “integrated release" concept), but that only worked for so long. We no longer artificially reduce the set, and instead we more precisely describe the attributes of what we produce, using simple labels,” says Thierry Carrez, director of engineering at the OpenStack Foundation and chair of the TC. “Those let you know, for example, the release model, if the team producing it is coming from diverse affiliations, or what the ‘starter kit’ of projects should be for projects wanting to do compute infrastructure-as-a-service (IaaS).”

hifyrn7br7qo4q1y3ksn
Tags in the .yaml file for Glance

In response to a request to break down the tag system to a 5-year-old, there was a good explanation on the OpenStack developer’s mailing list recently. Side note: if you’re new to OpenStack, the developer mailing list is an essential tool for successful OpenStack contributors.

“You need to think of ‘tags’ as the labels on the boxes containing your toys: you’ll have a box with Legos, one box with dolls, one box with bicycle parts, one with Star Wars figurines etc.,” wrote Stefano Maffulli, former OpenStack Foundation developer advocate now at DreamHost.

tzr5q3c7egreg6boo2mv

“Each box has a label outside so you know what is in the box before you open it. You may think that the tags are to identify the toys you like the most, but that’s not the purpose. You may like your Luke Skywalker figurine but dislike Yoda, but they’re both going to be in the Star Wars box. Star Wars is an objective way for Dad and your friends to understand which toys go in which bucket," he explained. "Since you may like something today and not tomorrow, and since Dad can’t read your mind, we don’t use labels such as ‘things I like a lot’ or ‘things I hate’ because those are subjective valuations.”

These labels come from the larger community — and your input counts.

“Tags are just one type of metadata that the Foundation needs to collect and publish about OpenStack projects,” Carrez says. “We also expect project metadata to come from other sources, like the User committee, the Product Work Group or the marketing community.”

If there’s a tag you think would be useful, pitch it. Anyone can propose tags, the OpenStack community discusses and votes on them via Gerrit. The proposed tags need to be as objective as possible and there is a working group (https://wiki.openstack.org/wiki/Operations/Tags) for operators trying to define tags.

You can find the list of currently-defined tags, their definitions and
the projects they apply to at:

http://governance.openstack.org/reference/tags/index.html

Cover Photo by lethacolleen // Lego photo Kristina Alexanderson CC BY NC