OpenStack — Commands & Recipes
Authentication
# Source credentials
source openrc.sh
# or use clouds.yaml
export OS_CLOUD=mycloud
# Verify authentication
openstack token issue
Compute (Nova)
# List instances
openstack server list --long
# Create instance
openstack server create myvm \
--image ubuntu-24.04 \
--flavor m1.large \
--network private-net \
--key-name mykey \
--security-group default \
--availability-zone az1
# Live migrate
openstack server migrate --live target-host myvm
# Resize
openstack server resize myvm m1.xlarge
openstack server resize confirm myvm
# Console access
openstack console url show myvm
openstack console log show myvm --lines 50
Networking (Neutron)
# Create network + subnet
openstack network create private-net
openstack subnet create private-sub \
--network private-net \
--subnet-range 10.0.0.0/24 \
--gateway 10.0.0.1 \
--dns-nameserver 8.8.8.8
# Create router + connect
openstack router create main-router
openstack router set main-router --external-gateway public-net
openstack router add subnet main-router private-sub
# Floating IP
openstack floating ip create public-net
openstack server add floating ip myvm 203.0.113.10
# Security groups
openstack security group rule create default \
--protocol tcp --dst-port 22 --remote-ip 0.0.0.0/0
Storage (Cinder)
# Create and attach volume
openstack volume create --size 100 --type ssd data-vol
openstack server add volume myvm data-vol
# Snapshot
openstack volume snapshot create --volume data-vol snap-01
# Backup
openstack volume backup create --name backup-01 data-vol
Images (Glance)
# Upload image
openstack image create ubuntu-24.04 \
--file ubuntu-24.04-server-cloudimg-amd64.img \
--disk-format qcow2 --container-format bare \
--public
# List images
openstack image list --long
Orchestration (Heat)
# stack.yaml
heat_template_version: 2021-04-16
parameters:
image:
type: string
default: ubuntu-24.04
resources:
server:
type: OS::Nova::Server
properties:
image: { get_param: image }
flavor: m1.large
networks:
- network: private-net
openstack stack create mystack -t stack.yaml
openstack stack list
openstack stack delete mystack
Troubleshooting
# Check service status
openstack compute service list
openstack network agent list
openstack volume service list
# Hypervisor stats
openstack hypervisor stats show
openstack hypervisor list --long
# Quota check
openstack quota show --project myproject
Sources