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, orStoppedstate. - Permission to update server tags
(
os_compute_api:os-server-tags:update_all). This is granted to project members by default.
Tag Rules
| Rule | Limit |
|---|---|
| Maximum tags per instance | 50 |
| Maximum characters per tag | 60 |
| Forbidden characters | / (forward slash), , (comma) |
| Case sensitivity | Not case sensitive — Prod and prod are the same tag |
| Duplicates | Not allowed (case-insensitive comparison) |
| Whitespace | Allowed inside a tag, trimmed at the edges |
Where Tags Appear in the Dashboard
| Location | Behaviour |
|---|---|
| Compute > Instances list | A 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 page | The Tags Info card on the BaseDetail tab lists every tag attached to the VM. Empty state shows a dash. |
| More menu on the instance row | Contains 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
- Dashboard
- CLI
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.
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.
Edit Tags
Editing a tag means removing the old value and adding the new value — there is no in-place rename.- Dashboard
- CLI
Open Modify Instance Tags
From Compute > Instances, open the More menu on the row and
click Modify Instance Tags.
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.
Delete Tags
You can remove a single tag or clear every tag from a VM.- Dashboard
- CLI
Open Modify Instance Tags
From Compute > Instances, open the More menu on the row and
click Modify Instance Tags.
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.
Key-Value Pairs
Tags in the Dashboard are plain strings (one label per pill). Some teams need truekey=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:
| Path | What 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. |
| CLI | True 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
key='value' pair on its own line.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.| Resource | Tags supported | Where in the Dashboard | CLI |
|---|---|---|---|
| Instance (Compute) | Yes — string tags | Compute > Instances > More > Modify Instance Tags | openstack server set --tag |
| Image (Image Service) | Yes — string tags | Compute > Images (CLI is the primary path today) | openstack image set --tag |
| Project (Identity) | Yes — string tags | Identity > Projects > Modify Project Tags | openstack project set --tag |
| Network (Networking) | Yes — string tags | Networking views (CLI is the primary path today) | openstack network set --tag |
| Subnet, Router, Port, Floating IP, Security Group (Networking) | Yes — string tags | CLI is the primary path today | openstack <resource> set --tag |
| Stack (Orchestration) | Yes — string tags at create time | Set in the Heat template’s tags parameter | openstack stack create --tags |
| Flavor (Compute) | No native tags — use metadata / extra_specs instead | Compute > Flavors > Manage Metadata (admin) | openstack flavor set --property |
| Volume (Block Storage) | No native tags — use metadata instead | Storage > Volumes > Manage Metadata | openstack volume set --property |
| Host Aggregate (Compute, admin) | No native tags — use metadata instead | Compute > Host Aggregates > Manage Metadata | openstack 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. Theopenstack CLI
exposes them as flags on openstack server list.
| Flag | Meaning |
|---|---|
--tag X | Return instances that have all of these tags. Repeat the flag for AND semantics. |
--tag-any X | Return instances that have any of these tags. Repeat the flag for OR semantics. |
--not-tag X | Return instances that do not have all of these tags. |
--not-tag-any X | Return instances that do not have any of these tags. |
Drive Automation From Tags
Most infrastructure tools can read instance tags directly and use them as the grouping key.| Tool | Pattern |
|---|---|
| Terraform | data "openstack_compute_instance_v2" filters by tag; outputs feed downstream resources. |
| Ansible Dynamic Inventory | The 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 scheduling | Tag 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 pattern | Operator behaviour |
|---|---|
temporary, disposable | Automation deletes after N days. |
do-not-delete, protected | Automation refuses to touch these regardless of other rules. |
expires-2026-12-31 | A scheduled job parses the date and stops the VM on expiry. |
owner:alice@example.com | Notifications go to the tagged owner before any maintenance. |
Common Tagging Patterns
| Tag Category | Example Tags | Purpose |
|---|---|---|
| Environment | production, staging, development, testing | Identify deployment stage |
| Team | team-platform, team-data, team-security | Track ownership |
| Application | web-frontend, api-gateway, database, cache | Group by application tier |
| Cost Center | dept-engineering, project-alpha | Budget tracking and chargeback |
| Lifecycle | temporary, persistent, protected, do-not-delete | Cleanup automation |
| Compliance | pci-dss, hipaa, internal | Drive policy and access reviews |
| Backup | backup-daily, backup-weekly, no-backup | Backup scheduler input |
Troubleshooting
Modify Instance Tags is greyed out
Modify Instance Tags is greyed out
Invalid Tag Value error in the dialog
Invalid Tag Value error in the dialog
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.Duplicate tag name error
Duplicate tag name error
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.Tag changes do not appear in the list view
Tag changes do not appear in the list view
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.Permission denied when modifying tags
Permission denied when modifying tags
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.