Skip to content

Server Groups CLI Reference

Reference · Updated Sep 2026

Coming from another cloud?

▸AWS·Placement Groups

Placement Groupshigh

  • Policies: cluster/partition/spread vs affinity/anti-affinity.
  • AZ-scoped, no instance moves/merges.
  • Specified at launch via PlacementGroupName.
  • Max 7 partitions per AZ for partition type.
AWS docs ↗
▸Azure·Availability sets

Availability setshigh

  • Uses fault/update domains (max 3/20) for HA, fixed at creation, vs flexible OpenStack server group policies (affinity/anti-affinity).
  • ARM resource (Microsoft.Compute/availabilitySets), VMs assigned at create, no dynamic move.
  • No extra cost, but requires 2+ VMs for SLA; prefers zones/scale sets.
  • Lower latency between VMs in set vs zones, hardware-specific isolation.
Azure docs ↗
▸DigitalOcean·Tags (for grouping Droplets)

Tags (for grouping Droplets)medium

  • DigitalOcean uses tags as a grouping/selection mechanism (filtering, bulk actions, auto-inclusion in firewall/LB configs) rather than OpenStack Nova server groups that implement affinity/anti-affinity placement policies.
  • No documented user-facing placement policy (affinity/anti-affinity) is exposed via tags; tags are for organization and targeting actions, unlike OpenStack server groups which influence scheduling decisions.
  • DigitalOcean’s tags API requires canonical capitalization in the URL (e.g., /v2/tags/PROD/resources), which is a platform-specific behavior not typically present in OpenStack resource tagging.
  • Bulk actions on Droplets can be initiated across resources sharing a tag via DigitalOcean API endpoints, whereas OpenStack server groups are separate resources with policies and memberships managed via Nova.
DigitalOcean docs ↗
▸Google Cloud·Sole-Tenant Nodes / Instance Groups

Sole-Tenant Nodes / Instance Groupshigh

  • MIGs offer autoscaling, autohealing, rolling updates via templates; OpenStack only scheduling policies (affinity etc.).
  • Zonal/regional with HA/load balancing integration; no management in OpenStack groups.
  • App health checks trigger recreation; requires external orchestration in OpenStack.
Google Cloud docs ↗
▸Hetzner·Placement Groups

Placement Groupshigh

  • Only 'spread' type (anti-affinity: servers on different physical hosts); no 'affinity' or policy-based like OpenStack.
  • Max 10 servers/group (spread), 50 groups/project, 1 group/server.
  • Free; add servers via API action (must be off for existing).
  • No rack/host-level control; protects against single host failure only.
Hetzner docs ↗

Server groups CLI reference

See the OpenStackClient server group command reference for subcommands, arguments, and examples.

Use these commands to create, list, show, and delete server groups in your cloud projects. Replace SERVER_GROUP with the ID or name of an existing group, and SERVER_GROUP_NAME with a name for a new group. The policy you set at creation determines how the scheduler places instances in the group relative to each other across the compute hosts.

List server groups#

bash
openstack server group list

Show server group details#

bash
openstack server group show SERVER_GROUP

Create a server group#

bash
openstack server group create --policy POLICY SERVER_GROUP_NAME
  • POLICY: The placement policy (affinity, anti-affinity, soft-affinity, or soft-anti-affinity).

Create with a placement rule (soft policies)#

bash
openstack server group create --policy soft-anti-affinity \
  --rule max_server_per_host=2 SERVER_GROUP_NAME

Use --rule to constrain soft-affinity and soft-anti-affinity placement. The only supported rule key is max_server_per_host, which takes an integer.

Delete a server group#

bash
openstack server group delete SERVER_GROUP

Output columns#

Select specific columns with --column COL1 --column COL2 or change the output format with -f json, -f csv, or -f table (default).

openstack server group list#

ColumnDescription
IDServer group UUID
NameServer group name
PolicyScheduler policy (affinity, anti-affinity, soft-affinity, or soft-anti-affinity)

openstack server group show#

ColumnDescription
idServer group UUID
membersComma-separated instance UUIDs currently in the group
nameServer group name
policyScheduler policy
project_idOwning project UUID
rulesPlacement rules (for example, max_server_per_host=2)
user_idKeystone user UUID that created the group
Was this page helpful?