Skip to content

Instances CLI Reference

Reference · Updated Sep 2026

Coming from another cloud?

▸AWS·Elastic IP addresses

Elastic IP addresseshigh

  • AWS charges idle EIPs.
  • OpenStack floating IPs free/pool-limited.
  • AWS regional instance/ENI.
  • OpenStack project port.
AWS docs ↗
▸Azure·Public IP addresses

Public IP addresseshigh

  • Public IP is a dedicated ARM resource with SKUs (Basic/Standard); IPv4 billed, IPv6 free ().
  • Static/dynamic allocation (Standard static only); zone-redundant option (Standard v2).
  • Associated directly to NIC/LB/gateway vs via router DNAT in OpenStack.
  • Dynamic outbound uses ephemeral IPs even without assoc; no pool allocation like Neutron external nets.
Azure docs ↗
▸DigitalOcean·Reserved IPs (formerly Floating IPs)

Reserved IPs (formerly Floating IPs)medium

  • Naming/API surface: DigitalOcean renamed Floating IPs to Reserved IPs; endpoints and fields change from `floating_ips` to `reserved_ips` (while legacy endpoints existed until a stated deprecation window), whereas OpenStack retains the “floatingip” resource in Neutron APIs ().
  • Identity model: DigitalOcean’s resource identifier in the API path is the IP address itself (`/v2/reserved_ips/{reserved_ip}` where `{reserved_ip}` is an IPv4 address), whereas OpenStack commonly uses UUID identifiers for Neutron resources like floating IPs and ports ().
  • Attachment model: creation requires either `droplet_id` or `region` and reassignment is conceptually “map to a Droplet”; OpenStack associates floating IPs to Neutron ports (and thus can be used with more complex networking constructs like routers), which is a different mental model for migrating users ().
  • Region binding: DigitalOcean Reserved IPs are explicitly bound to a region, while OpenStack floating IP pools are usually defined per external network and can be consumed wherever that external network is reachable (implementation-specific) ().
DigitalOcean docs ↗
▸Google Cloud·Static External IP

Static External IPhigh

  • GCP static IPs are regional or global resources, with unassociated IPs metered per-hour; OpenStack floating IPs are pool-based. See the GCP pricing page for current rates.
  • GCP supports both ephemeral (auto-released on stop) and static IPs; OpenStack floating IPs are always explicit.
  • GCP global static IPs used with global load balancers only; no direct OpenStack equivalent.
Google Cloud docs ↗
▸Hetzner·Floating IPs

Floating IPshigh

  • Flat monthly billing €3/IPv4 or hourly equivalent, not usage-based per hour ().
  • Locked to specific location/zone, cannot move across datacenters unlike global pools in OpenStack ().
  • Hot-reassign without server reboot but requires manual OS config (e.g., ifupdown/netplan) post-change ().
  • Limits: 10/account default, 20/server max; single assignment at a time ().
Hetzner docs ↗

Instances CLI reference

See https://docs.openstack.org/nova/2023.1/cli/index.html.

These commands allow you to perform operations related to instance management, such as creating, listing, showing details of, starting, stopping, and deleting instances, as well as managing instance sizes, snapshots, volumes, and floating IPs. The <server_id_or_name>, <flavor_id_or_name>, <image_id_or_name>, <network_id_or_name>, <snapshot_name>, <volume_id_or_name>, and <floating_ip_address> in the commands are placeholders that should be replaced with the actual IDs or names of the resources.

List instances#

bash
openstack server list

Show instance details#

bash
openstack server show <server_id_or_name>

Create an instance#

Quake AI flavors are boot-from-volume only (disk=0), so you request a root volume at create time with --boot-from-volume ROOT_DISK_GB. The CLI creates a Flash_Premium volume from the image and boots the instance from it.

bash
openstack server create \
  --flavor FLAVOR_ID_OR_NAME \
  --image IMAGE_ID_OR_NAME \
  --boot-from-volume ROOT_DISK_GB \
  --network NETWORK_ID_OR_NAME \
  --wait \
  SERVER_NAME
  • FLAVOR_ID_OR_NAME: ID or name of the flavor.
  • IMAGE_ID_OR_NAME: ID or name of the image used to seed the root volume.
  • ROOT_DISK_GB: Size of the root volume in GB (minimum 1, and at least the image size).
  • NETWORK_ID_OR_NAME: ID or name of the network.
  • SERVER_NAME: Name of the new instance.

When you boot from a volume created from an image, Quake AI keeps the root volume after you delete the server; it persists and keeps billing until you delete it. To delete the root volume together with the server, create the boot volume through --block-device with delete_on_termination=true instead of --boot-from-volume.

Delete an instance#

bash
openstack server delete <server_id_or_name>

Start an instance#

bash
openstack server start <server_id_or_name>

Stop an instance#

bash
openstack server stop <server_id_or_name>

Reboot an instance#

bash
openstack server reboot --hard <server_id_or_name>
  • Use --soft for a soft reboot.

Resize an instance#

bash
openstack server resize --flavor <new_flavor_id_or_name> <server_id_or_name>

Confirm resize#

bash
openstack server resize confirm <server_id_or_name>

Revert resize#

bash
openstack server resize revert <server_id_or_name>

Create an image snapshot of an instance#

bash
openstack server image create --name <snapshot_name> <server_id_or_name>

Attach a volume to an instance#

bash
openstack server add volume <server_id_or_name> <volume_id_or_name>

Detach a volume from an instance#

bash
openstack server remove volume <server_id_or_name> <volume_id_or_name>

Associate a floating IP with an instance#

bash
openstack server add floating ip <server_id_or_name> <floating_ip_address>

Disassociate a floating IP from an instance#

bash
openstack server remove floating ip <server_id_or_name> <floating_ip_address>

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 list#

ColumnDescription
IDInstance UUID
NameInstance name
StatusCurrent state (ACTIVE, SHUTOFF, BUILD, ERROR)
NetworksAttached networks and IP addresses
ImageSource image name or ID
FlavorFlavor name or ID

openstack server list --long#

ColumnDescription
IDInstance UUID
NameInstance name
StatusCurrent state
Task StateIn-progress operation (spawning, deleting, resizing) or None
Power StateHypervisor power state (Running, Shutdown, No State)
NetworksAttached networks and IP addresses
Image NameSource image name
Image IDSource image UUID
FlavorFlavor name or ID
Availability ZoneAZ where the instance runs
HostCompute host (visible to admins only)
PropertiesInstance metadata key-value pairs

Quick answers

Was this page helpful?