Bug 1041258

Summary: [RFE][nova]: Implement EC2 API for Tags
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/ec2-tags-api
Whiteboard: upstream_milestone_none upstream_status_implemented upstream_definition_approved
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 16:59:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 14:06:15 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/ec2-tags-api.

Description:

The EC2 API allows end users to 'tag' resources with arbitrary key-value pairs.  This facility is also used by internal AWS tools such as autoscaling and cloudformation to group resources spawned by them.  The openstack EC2 API implementation does not offer the tags related API calls DescribeTags, CreateTags, DeleteTags or the ability to filter resource searches by tags ("filter": [{ "tag:key": "value"}]} and {"filter": [{"tag-key": "value"}]}.

The difficulty I see is that tags can be applied to many resource types, including ones handled by Quantum and Glance and so on.  It is not clear to me if reusing the instance-metadata table (and creating a 'security-group-metadata and so on tables) is the best way, or if this should be done with a new table 'tags' that stores all tags and a reference to the resource.

Specification URL (additional information):

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateTags.html