OpenStack Private Cloud›Modules · Cheat sheet & self-check
Learning Hub / Cloud — OpenStack, AWS & EKS / OpenStack Private Cloud

Modules · wrap-up

Cheat sheet & self-check

Every command from this section on one page.

01 · OpenStack architecture

First commands

source admin-openrc.sh (or export OS_CLOUD=mycloud)Load credentials (openrc file or clouds.yaml)
openstack token issueCan I authenticate?
openstack catalog listServices and their endpoints
openstack compute service listNova services and their state per host
openstack network agent listNeutron agents per host (OVS-based deployments)

Launch a VM

openstack server create --flavor m1.small --image ubuntu-24.04 --network private --key-name mykey vm1Create an instance
openstack server show vm1 -c status -c addresses -c faultStatus, IPs, and the error if it failed

02 · Keystone: identity & projects

Tenancy

openstack domain create acmeA domain (a namespace for projects and users)
openstack project create --domain acme shop-prodA project (tenant)
openstack role add --project shop-prod --group shop-devs memberGrant a role to a group on a project
openstack role assignment list --project shop-prod --namesWho has what on a project

Credentials

openstack application credential create ci-deployer --role memberA credential for automation, scoped to the current project
export OS_CLOUD=shop-prodUse a named cloud from clouds.yaml
openstack token issue -f value -c expiresToken expiry

03 · Nova: compute & scheduling

Flavors & hosts

openstack flavor create --vcpus 4 --ram 8192 --disk 40 m1.largeA flavor
openstack flavor set m1.large --property hw:cpu_policy=dedicatedExtra spec: pinned CPUs
openstack hypervisor list --longHypervisors with usage
openstack aggregate create --zone az1 rack-aHost aggregate exposed as an availability zone

Placement & moves

openstack resource provider listPlacement resource providers (osc-placement plugin)
openstack resource provider inventory list <rp-uuid>Capacity and allocation ratios
openstack server migrate --live-migration vm1Live-migrate an instance
openstack server evacuate vm1Rebuild an instance from a failed host (admin; recent client syntax)

04 · Neutron: networking

Tenant networking

openstack network create private && openstack subnet create --network private --subnet-range 10.0.0.0/24 private-subnetA self-service network
openstack router create r1 && openstack router set r1 --external-gateway public && openstack router add subnet r1 private-subnetRoute it to the external network
openstack floating ip create public && openstack server add floating ip vm1 <ip>Public access for one instance
openstack security group rule create --proto tcp --dst-port 22 --remote-ip 203.0.113.0/24 defaultAllow SSH from one range

Troubleshooting

openstack port list --server vm1 --longThe instance's ports, IPs and status
ip netns (network node, OVS)qrouter-… and qdhcp-… namespaces
ovn-nbctl show / ovn-sbctl showOVN logical topology / chassis bindings

05 · Storage: Glance, Cinder & Ceph

Glance

openstack image create --disk-format qcow2 --container-format bare --file noble.img ubuntu-24.04Upload an image
openstack image set --property hw_disk_bus=scsi --property hw_scsi_model=virtio-scsi ubuntu-24.04Image properties that affect instances
qemu-img convert -f qcow2 -O raw noble.img noble.rawConvert to raw (preferred with Ceph)

Cinder

openstack volume create --size 50 --type ssd data-01Create a volume of a type
openstack server add volume vm1 data-01Attach it
openstack volume snapshot create --volume data-01 data-01-snapSnapshot (same backend)
openstack volume backup create --name data-01-bkp data-01Backup (to the backup target)
openstack volume service listcinder-volume/scheduler/backup service health

06 · Orchestration

Heat

openstack stack create -t web.yaml --parameter key_name=mykey webCreate a stack from a template
openstack stack list / openstack stack show webStacks and their status
openstack stack event list webWhat happened, step by step (debug failures here)
openstack stack output show web web_ipRead an output
openstack stack delete webDelete everything the stack created

Terraform

required_providers { openstack = { source = "terraform-provider-openstack/openstack" } }The provider
export OS_CLOUD=shop-prodCredentials from clouds.yaml

07 · Deploying with Kolla-Ansible

Workflow

kolla-genpwdFill /etc/kolla/passwords.yml with random secrets
kolla-ansible install-depsInstall the Ansible Galaxy dependencies
kolla-ansible bootstrap-servers -i multinodePrepare hosts (container engine, users, packages)
kolla-ansible prechecks -i multinodeValidate before deploying
kolla-ansible deploy -i multinodeDeploy / converge the cloud
kolla-ansible post-deploy -i multinodeWrite admin credentials (admin-openrc.sh, clouds.yaml)

Day 2

kolla-ansible reconfigure -i multinode --tags novaApply config changes to one service
kolla-ansible pull -i multinodePre-pull images before an upgrade
kolla-ansible upgrade -i multinodeUpgrade to the new openstack_release
/etc/kolla/config/<service>/<file>.confConfig overrides merged into the generated config
/var/log/kolla/<service>/Service logs on each host

08 · Operations & troubleshooting

Health

openstack compute service listnova-compute/scheduler/conductor state (up/down, enabled)
openstack network agent listNeutron agents alive? (OVS/agent-based deployments)
openstack volume service listcinder-volume/scheduler/backup state
rabbitmqctl cluster_statusRabbitMQ cluster members and partitions
rabbitmqctl list_queues name messages consumersQueues backing up / queues with no consumers
mysql -e "SHOW STATUS LIKE 'wsrep_cluster_size'"Galera members (expect 3)

Stuck resources (after verifying reality)

openstack server show vm1 -c status -c OS-EXT-STS:task_state -c faultStatus, task state and last fault
openstack server set --state active vm1Reset an instance's state (admin)
openstack volume set --state available vol1Reset a volume's state (admin)
grep <req-id> /var/log/kolla/*/*.logFollow one request across services

09 · OpenStack, Kubernetes & public cloud

Kubernetes on OpenStack

openstack-cloud-controller-managerNode lifecycle + Services of type LoadBalancer via Octavia
cinder-csi-plugin (provisioner: cinder.csi.openstack.org)PersistentVolumes as Cinder volumes
openstack coe cluster create …Magnum-managed cluster (if Magnum is deployed)
clusterctl init --infrastructure openstackCluster API provider for OpenStack (CAPO)
openstack loadbalancer listOctavia load balancers created for Services