Add tags for OpenStack resources

Registered by huangtianhua on 2014-04-22

Currently, the EC2 API of OpenStack only has tags support (metadata) for instances. And there has already a blueprint about to add support for volumes and volume snapshots using “metadata”.
In OpenStack, generally, the choice was made to use maps of key/value pairs instead of lists of strings(tags) to annotate objects exposed in the REST APIs. OpenStack REST APIs inconsistently call these maps of key/value pairs:
  * "properties" (Glance, Cinder Image, Volume,respectively)
  * "extra_specs" (Nova InstanceType)
  * "metadata" (Nova Instance, Aggregate and InstanceGroup, Neutron)
  * "metadetails" (Nova Aggregate and InstanceGroup)
  * "system_metadata" (Nova Instance -- differs from "normal" metadata in that the key/value pairs are 'owned' by Nova, not a user...)
Tags are a cleaner way of annotating objects when the annotation is coming from a normal user. Tags represent by far the most common way for REST APIs to enable user-facing annotation of objects in a way that is easy to search on. We should support for tags added to any searchable/queryable object in all of the OpenStack APIs.
And the key/value pairs can only be changed by users with elevated privileged system-controlled, the normal users should use tags.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
huangtianhua
Direction:
Needs approval
Assignee:
huangtianhua
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-tags-for-os-resources,n,z

Addressed by: https://review.openstack.org/90276
    Add spec for "Add tags for OpenStack resources"

Seems related to this: https://blueprints.launchpad.net/nova/+spec/tag-instances
Spec abandoned, un-targeting blueprint from juno-1 --johnthetubaguy (28th May 2014)
Please mark this as obsolete if you no longer want to do this blueprint.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.