Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.xloud.tech/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Instance tags are short, user-defined labels you attach to a virtual machine. They are free-form strings you can use to mark environment, owner, application tier, cost center, lifecycle stage, or any custom taxonomy your team needs. Tags are stored on the instance record itself, so they travel with the VM across reboots, snapshots, migrations, and ownership changes.
Prerequisites
  • An instance in Active, Paused, Suspended, or Stopped state.
  • Permission to update server tags (os_compute_api:os-server-tags:update_all). This is granted to project members by default.

Tag Rules

RuleLimit
Maximum tags per instance50
Maximum characters per tag60
Forbidden characters/ (forward slash), , (comma)
Case sensitivityNot case sensitive — Prod and prod are the same tag
DuplicatesNot allowed (case-insensitive comparison)
WhitespaceAllowed inside a tag, trimmed at the edges
Establish a tagging convention before you scale. Decide upfront whether to use env:prod or prod, whether to use team-platform or platform, and publish the convention internally. Consistent tags pay off when filtering hundreds of VMs from the CLI or driving Terraform/Ansible from tags.

Where Tags Appear in the Dashboard

LocationBehaviour
Compute > Instances listA Tags column shows each tag as a colored pill. The column is hideable from the column-picker if you do not need it.
Instance detail pageThe Tags Info card on the BaseDetail tab lists every tag attached to the VM. Empty state shows a dash.
More menu on the instance rowContains Modify Instance Tags, the single dialog for all add/edit/delete actions.
The Dashboard list page does not currently expose a tag-based search filter. To filter by tag, use the CLI procedures below — the API supports tag filtering and is the recommended path for inventory queries.

Add, Edit, and Delete Tags

All three actions — adding a new tag, replacing existing tags, and removing tags — happen inside a single dialog called Modify Instance Tags. The dialog shows the current tags as pills; you mutate the set and click Confirm, and the platform applies the new set in one operation.

Add Tags

1

Open the Modify Instance Tags dialog

Navigate to Compute > Instances. On the row of the instance you want to tag, open the More menu and click Modify Instance Tags.
2

Type a tag and press Enter

In the tag input field, type the tag value and press Enter. The tag becomes a pill in the list. Repeat for each tag you want to add.The dialog enforces:
  • Maximum 50 tags per instance.
  • Maximum 60 characters per tag.
  • No forward slash / or comma ,.
  • No duplicate (case-insensitive) tags.
Invalid tags are rejected immediately with an inline error message.
3

Save the changes

Click Confirm. The platform updates the VM’s tag set and the dialog closes.
The new tags appear in the Tags column and on the instance detail page within a few seconds.

Edit Tags

Editing a tag means removing the old value and adding the new value — there is no in-place rename.
1

Open Modify Instance Tags

From Compute > Instances, open the More menu on the row and click Modify Instance Tags.
2

Remove the old value

Click the X on the tag you want to rename. The pill is removed from the list. The change is not saved until you click Confirm.
3

Type the new value

Type the new tag value and press Enter.
4

Save

Click Confirm. Both changes — the removal and the addition — apply in one update.
The instance’s Tags column shows the new value and no longer shows the old one.

Delete Tags

You can remove a single tag or clear every tag from a VM.
1

Open Modify Instance Tags

From Compute > Instances, open the More menu on the row and click Modify Instance Tags.
2

Remove tags

  • To remove a single tag, click the X on its pill.
  • To remove every tag, click X on each pill until the list is empty.
3

Save

Click Confirm. The selected tags are deleted from the VM.
The instance no longer shows the removed tags.
Tag changes apply immediately. There is no undo. Removing a tag that is used by an automation system (Terraform, Ansible inventory, monitoring rules) can cause that automation to lose track of the VM. Verify your downstream tooling before bulk-removing tags in production.

Key-Value Pairs

Tags in the Dashboard are plain strings (one label per pill). Some teams need true key=value pairs — for example, env=production, team=payments, cost-center=R&D-12 — so they can branch automation, dashboards, or RBAC rules on the value of a key rather than scanning a flat list. Today on Xloud:
PathWhat you get
Dashboard (Modify Instance Tags)Plain strings only. By convention you can write env=production as a single string and split on = in your tooling, but the platform stores it as one opaque label.
CLITrue key-value pairs are supported via the --property flag, which writes server metadata. Available today.
Dashboard (XCONNECT v2)A dedicated Custom Metadata editor for instances is on the roadmap for XCONNECT v2 — the next-generation Xloud Dashboard. It will surface the same key-value metadata as a first-class form on every instance row, so you will not need the CLI for this.
Server metadata and instance tags are two different stores under the hood. Tags are unordered string labels; metadata is a key-value dictionary. They can coexist on the same VM and serve complementary purposes.

Add Key-Value Pairs from the CLI

Source credentials
source openrc.sh
openstack server set \
  --property env=production \
  --property team=payments \
  --property cost-center=R\&D-12 \
  <INSTANCE_ID>
openstack server show <INSTANCE_ID> -c properties
Output prints each key='value' pair on its own line.
Use tags for fast yes/no filtering — “is this VM in the production group?”. Use key-value metadata when the value matters — “which environment is this VM in?” or “who owns this VM?”. Many teams use both: a coarse production tag for filtering and env=production metadata for display.

Where You Can Use Tags

Tags are not exclusive to instances. The Xloud Platform attaches the same flat-string tag concept to several resource types so you can apply the same naming convention across the whole cluster.
ResourceTags supportedWhere in the DashboardCLI
Instance (Compute)Yes — string tagsCompute > Instances > More > Modify Instance Tagsopenstack server set --tag
Image (Image Service)Yes — string tagsCompute > Images (CLI is the primary path today)openstack image set --tag
Project (Identity)Yes — string tagsIdentity > Projects > Modify Project Tagsopenstack project set --tag
Network (Networking)Yes — string tagsNetworking views (CLI is the primary path today)openstack network set --tag
Subnet, Router, Port, Floating IP, Security Group (Networking)Yes — string tagsCLI is the primary path todayopenstack <resource> set --tag
Stack (Orchestration)Yes — string tags at create timeSet in the Heat template’s tags parameteropenstack stack create --tags
Flavor (Compute)No native tags — use metadata / extra_specs insteadCompute > Flavors > Manage Metadata (admin)openstack flavor set --property
Volume (Block Storage)No native tags — use metadata insteadStorage > Volumes > Manage Metadataopenstack volume set --property
Host Aggregate (Compute, admin)No native tags — use metadata insteadCompute > Host Aggregates > Manage Metadataopenstack aggregate set --property
Resources marked “use metadata instead” never had a string-tag concept on this platform — their key-value metadata is the only labelling mechanism. Resources with native tags also support metadata if you need both.

Actions You Can Perform Using Tags

Tags become powerful when you use them as a key for filtering, automation, and reporting. The same tag set drives multiple workflows.

Filter the Instance Inventory by Tag

The Compute API understands four tag filter parameters. The openstack CLI exposes them as flags on openstack server list.
FlagMeaning
--tag XReturn instances that have all of these tags. Repeat the flag for AND semantics.
--tag-any XReturn instances that have any of these tags. Repeat the flag for OR semantics.
--not-tag XReturn instances that do not have all of these tags.
--not-tag-any XReturn instances that do not have any of these tags.
openstack server list --tag production --tag web-tier
Combine --tag and --not-tag-any to get clean inventory slices — for example “production but not deprecated”. The same combination via the API drives audit reports and automation triggers.

Drive Automation From Tags

Most infrastructure tools can read instance tags directly and use them as the grouping key.
ToolPattern
Terraformdata "openstack_compute_instance_v2" filters by tag; outputs feed downstream resources.
Ansible Dynamic InventoryThe openstack inventory plugin supports keyed_groups from tags, so a VM tagged web-tier lands in an Ansible group called web-tier automatically.
Monitoring (Prometheus + node_exporter)Service discovery picks up tags as labels, so a Grafana dashboard or alert rule can scope by environment="production".
Backup schedulingTag a VM with backup-daily or backup-weekly; the backup runner targets the tag.
The Xloud Dashboard does not currently expose a tag filter in its instance search bar. For ad-hoc filtering inside the Dashboard, use the column-picker to display the Tags column and search by name, then visually scan the tags. For programmatic inventory queries, use the CLI flags above.

Use Tags as Lifecycle Markers

A common pattern is to tag VMs with their intended lifetime, then run a periodic job that lists VMs with the relevant tag and acts on them.
Tag patternOperator behaviour
temporary, disposableAutomation deletes after N days.
do-not-delete, protectedAutomation refuses to touch these regardless of other rules.
expires-2026-12-31A scheduled job parses the date and stops the VM on expiry.
owner:alice@example.comNotifications go to the tagged owner before any maintenance.

Common Tagging Patterns

Tag CategoryExample TagsPurpose
Environmentproduction, staging, development, testingIdentify deployment stage
Teamteam-platform, team-data, team-securityTrack ownership
Applicationweb-frontend, api-gateway, database, cacheGroup by application tier
Cost Centerdept-engineering, project-alphaBudget tracking and chargeback
Lifecycletemporary, persistent, protected, do-not-deleteCleanup automation
Compliancepci-dss, hipaa, internalDrive policy and access reviews
Backupbackup-daily, backup-weekly, no-backupBackup scheduler input

Troubleshooting

The action is only available when the VM is in Active, Paused, Suspended, or Stopped state. If the instance is Building, Error, Resizing, or in any other transient state, wait for it to settle and try again.
The tag contains a forbidden character. Forward slash / and comma , are not allowed because they conflict with the API’s list separator. Use a hyphen, underscore, or colon instead — for example env-prod or env_prod instead of env/prod.
Tags are case-insensitive. Production and production are considered the same tag. The dialog rejects the second entry. Pick a single canonical casing and stick with it.
The list view caches results for a few seconds. Refresh the page or re-run openstack server list to pick up the latest values. If the delay persists for more than a minute, contact your administrator — the cache layer may need to be cleared.
Your project role does not include os_compute_api:os-server-tags:update_all. Ask your administrator to grant the member role on the project that owns the VM.

Next Steps

Launch an Instance

Create new instances and tag them at boot time.

Server Groups

Group instances by placement policy.

Instance Snapshots

Snapshot tagged instances for backup and rollback.

Resource Optimizer

Use tags to scope optimization actions to specific workloads.