Home > Guides > RightScale 101 > Advanced Concepts > Tagging

MindTouch
Copyright (c) 2006-2014 MindTouch Inc.
http://mindtouch.com

This file and accompanying files are licensed under the MindTouch Master Subscription Agreement (MSA).

At any time, you shall not, directly or indirectly: (i) sublicense, resell, rent, lease, distribute, market, commercialize or otherwise transfer rights or usage to: (a) the Software, (b) any modified version or derivative work of the Software created by you or for you, or (c) MindTouch Open Source (which includes all non-supported versions of MindTouch-developed software), for any purpose including timesharing or service bureau purposes; (ii) remove or alter any copyright, trademark or proprietary notice in the Software; (iii) transfer, use or export the Software in violation of any applicable laws or regulations of any government or governmental agency; (iv) use or run on any of your hardware, or have deployed for use, any production version of MindTouch Open Source; (v) use any of the Support Services, Error corrections, Updates or Upgrades, for the MindTouch Open Source software or for any Server for which Support Services are not then purchased as provided hereunder; or (vi) reverse engineer, decompile or modify any encrypted or encoded portion of the Software.

A complete copy of the MSA is available at http://www.mindtouch.com/msa

Tagging

What is a tag?

A tag or machine tag is a useful way of attaching useful metadata to an object/resource.  Tags are commonly used as an extra label or identifier.  For example, you might want to add a tag to an EBS Snapshot or AMI so that you can find it more quickly.  However, a tag's advanced functionality can be unlocked when it's comprised of three main parts: namespace, predicate and value.  Colons [:] are used to separate namespaces and predicates whereas equal signs [=] separate predicates and values. 

Example:  loadbalancer:lb=www  (a load balancer server for the 'www' vhost)

  • namespace - Namespaces must begin with any character between a-z; remaining characters may be a-z, 0-9 and underscores. Upper-case letters are invalid in the namespace.
  • predicate - Predicates must begin with any character between a-z or A-Z; remaining characters may be a-z, A-Z, 0-9 and underscores. Predicates are case-insensitive.
  • value - Values may contain most standard characters including spaces. Values do not have to be wrapped in quotes. (e.g. "rs_backup:lineage=somevalue")

 

Example Syntax:

namespace:predicate=value

Machine Tags vs. Raw Tags

Tags can fail because of incorrect syntax. This can occur when an instance attempts to run a script or recipe to add a tag to the instance using the "rs_tag" command line tool or the 'RightLinkTag' Chef resource, for example. These tools do not report errors (they are asynchronous, that is they send the request but do not wait for a response so they cannot know whether the tag was successfully added or not), and incorrect tags will not appear. So it is important to know the differences in syntax between machine tags and raw tags.

Machine Tags 

Valid machine tags must be in the form of <namespace>:<predicate>=<value>. For example 'it8n:enabled=true'. If you don't use this syntax, for example 'it8n:enabled', the tag will not be created and you will receive an error. You can use the "rs_tag" command line tool or the RightLinkTag Chef recipes on instances to create tags. For more information on machine tags, see Machine Tags.

Raw Tags

Raw tags can be created using any character a-z and 0-9, but must not contain the characters ":" or "=". For example, a valid raw tag is "it8nenabled". An invalid example is 'it8n:enabled', the reason being that on the backend, it looks like you're trying to create an invalid machine tag, and we will give you an error.

RightScale's Tagging System

RightScale uses Flickr-style machine tagging inside the RightScale platform.  Tags are specific to a RightScale account.  They are not user-specific.  Tags are also global, so if you add tags to a private MultiCloud Image and later publish that image, everyone will see the tags.  In order to add/edit/delete tags, you will need 'actor' privileges for that RightScale account.

Currently, you can create tags for the following objects/resources:

  • Servers
  • Server Arrays
  • Instances
  • ServerTemplates
  • Deployments
  • EBS Spapshots
  • EBS Volumes
  • MultiCloud Images*
  • Reports

* Tags can only be added to a MultiCloud Image by the owner of the MultiCloud Image. The owner of an EC2 Image is based on the AWS Account Number, not a RightScale account.

How does RightScale use tags?

We use tagging in our ServerTemplates by using the RightLink agent to facilitate communication between related servers.  For example, instead of using DNS lookup and SSH to establish communication between application servers and load balancers, we can use tags to quickly resolve this information internally without having to make any requests to third parties.

How can I use tagging inside the RightScale platform?

The support for tagging and its implementations will continue to evolve over time.  Currently, the primary use of tags is for filtering purposes.  You can then use the Dashboard GUI or RightScale API to filter and search through tagged items. 

  • RightScale Dashboard - Add/Remove tags to RightScale objects and cloud resources under their respective show pages or Info tabs.  You can add multiple tags per object/resource.  You can then filter by 'tag' to quickly find all of your tagged resources.
  • RightScale API - Similar to the Dashboard, you can use the Rightscale API to add/remove tags to a resource.  You can also search tags for a resource and search for all resources (within a particular type) matching given tags. 

 

Note: Tag searches are case sensitive.

Sync EC2 Instance Tags with RightScale

RightScale automatically syncs your EC2 instance tags with RightScale Unified Cloud Platform accounts. To sync RightScale tags with an EC2 account, just create the tag with 'ec2' as the namespace, such as 'ec2:<key>=<value>'. The discovery happens continuously and automatically. Note that EC2 does have a 10 tag limit that applies here, so keep that in mind when syncing your tags.

For more information, see Use EC2 Tags in RightScale.

AWS Name Sync with Instance Name

RightScale will sync EC2 instance names to RightScale Server or Instance nicknames bi-directionally with instances provisioned on AWS. When a new server is provisioned then launched from the RightScale dashboard, the server or instance nickname you entered in RightScale is over-written by the instance tag name (ec3:Name) from EC2 if one exists. Similarly, if you add a tag of the form 'ec2:Name=<my-instance-name>' and then launch the server, the server/instance name displayed in the Dashboard will be synched with the tag value. Once the server instance is terminated, the original server/instance nickname you created in RightScale is re-established. Finally, if you begin managing a previously existing EC2 instance in RightScale, the server/instance name displayed in RightScale will be initially set to the value of the existing instance tag name (ec2:Name) in EC2.

You must to post a comment.
Last Modified
11:50, 14 Jul 2014

Tags

Classifications

This page has no classifications.

Announcements

None

Glossary | 用語용어 Site Map | Site Help Community Corporate Site Get Support Dashboard Login
Doc Feedback Product Feedback Resources MultiCloud Marketplace Forums

Dashboard Status


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.