OpenStack CLI Commands
OpenStack provides both unified and service-specific command-line clients. The openstack unified client is recommended
for most operations, though legacy service-specific clients (nova, neutron, etc.) are still available.
Authentication: Commands require authentication via environment variables or command-line options. Source your
openrc file or use clouds.yaml configuration before running commands.
Authentication & Environment
Source credentials from openrc file
source openrc
Example openrc file content
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=secret
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
Test authentication
openstack token issue
Compute (Nova) Commands
Instance Management
List instances
openstack server list
Launch a new instance
openstack server create --flavor m1.small --image ubuntu-20.04 --network private --key-name mykey my-instance
Show instance details
openstack server show my-instance
Start an instance
openstack server start my-instance
Stop an instance
openstack server stop my-instance
Reboot an instance
openstack server reboot my-instance
Delete an instance
openstack server delete my-instance
Access instance console
openstack console url show my-instance
View console log
openstack console log show my-instance
Resize instance
openstack server resize --flavor m1.medium my-instance
Confirm resize
openstack server resize confirm my-instance
Create instance snapshot
openstack server image create --name my-snapshot my-instance
Flavors
List flavors
openstack flavor list
Create flavor
openstack flavor create --ram 2048 --disk 20 --vcpus 2 m1.small
Delete flavor
openstack flavor delete m1.small
Key Pairs
List key pairs
openstack keypair list
Create key pair
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
Delete key pair
openstack keypair delete mykey
Networking (Neutron) Commands
Networks
List networks
openstack network list
Create network
openstack network create private-net
Create external network
openstack network create --external --provider-network-type flat --provider-physical-network provider public
Delete network
openstack network delete private-net
Subnets
List subnets
openstack subnet list
Create subnet
openstack subnet create --network private-net --subnet-range 192.168.1.0/24 --gateway 192.168.1.1 private-subnet
Delete subnet
openstack subnet delete private-subnet
Routers
List routers
openstack router list
Create router
openstack router create router1
Set router gateway
openstack router set --external-gateway public router1
Add subnet to router
openstack router add subnet router1 private-subnet
Remove subnet from router
openstack router remove subnet router1 private-subnet
Floating IPs
List floating IPs
openstack floating ip list
Create floating IP
openstack floating ip create public
Associate floating IP to instance
openstack server add floating ip my-instance 192.168.100.10
Disassociate floating IP
openstack server remove floating ip my-instance 192.168.100.10
Delete floating IP
openstack floating ip delete 192.168.100.10
Security Groups
List security groups
openstack security group list
Create security group
openstack security group create web-servers --description "Security group for web servers"
Add rule to allow SSH
openstack security group rule create --proto tcp --dst-port 22 web-servers
Add rule to allow HTTP
openstack security group rule create --proto tcp --dst-port 80 web-servers
Add rule to allow HTTPS
openstack security group rule create --proto tcp --dst-port 443 web-servers
List security group rules
openstack security group rule list web-servers
Images (Glance) Commands
List images
openstack image list
Upload image
openstack image create "Ubuntu 20.04" --file ubuntu-20.04.qcow2 --disk-format qcow2 --container-format bare --public
Show image details
openstack image show ubuntu-20.04
Set image properties
openstack image set --property os_type=linux --min-disk 10 ubuntu-20.04
Delete image
openstack image delete ubuntu-20.04
Download image
openstack image save --file downloaded.qcow2 ubuntu-20.04
Block Storage (Cinder) Commands
Volumes
List volumes
openstack volume list
Create volume
openstack volume create --size 10 my-volume
Create volume from image
openstack volume create --size 20 --image ubuntu-20.04 bootable-volume
Show volume details
openstack volume show my-volume
Attach volume to instance
openstack server add volume my-instance my-volume
Detach volume
openstack server remove volume my-instance my-volume
Extend volume size
openstack volume set --size 20 my-volume
Delete volume
openstack volume delete my-volume
Volume Snapshots
Create volume snapshot
openstack volume snapshot create --volume my-volume my-snapshot
List snapshots
openstack volume snapshot list
Create volume from snapshot
openstack volume create --snapshot my-snapshot --size 10 restored-volume
Delete snapshot
openstack volume snapshot delete my-snapshot
Identity (Keystone) Commands
Projects
List projects
openstack project list
Create project
openstack project create --domain default --description "Development Project" dev-project
Delete project
openstack project delete dev-project
Users
List users
openstack user list
Create user
openstack user create --domain default --password-prompt john
Set user password
openstack user set --password-prompt john
Delete user
openstack user delete john
Roles
List roles
openstack role list
Create role
openstack role create developer
Assign role to user on project
openstack role add --project dev-project --user john developer
Remove role from user
openstack role remove --project dev-project --user john developer
Object Storage (Swift) Commands
List containers
openstack container list
Create container
openstack container create my-container
List objects in container
openstack object list my-container
Upload object
openstack object create my-container file.txt
Download object
openstack object save my-container file.txt
Delete object
openstack object delete my-container file.txt
Orchestration (Heat) Commands
List stacks
openstack stack list
Create stack from template
openstack stack create -t template.yaml my-stack
Show stack details
openstack stack show my-stack
Update stack
openstack stack update -t template-v2.yaml my-stack
Delete stack
openstack stack delete my-stack
Show stack events
openstack stack event list my-stack
Quota Management
Show compute quotas
openstack quota show
Set project quotas
openstack quota set --instances 50 --cores 100 --ram 204800 dev-project
Show usage statistics
openstack usage show
Admin Commands
List compute services
openstack compute service list
List network agents
openstack network agent list
List hypervisors
openstack hypervisor list
Show hypervisor details
openstack hypervisor show compute-01
List availability zones
openstack availability zone list
Migrate instance
openstack server migrate my-instance
Live migrate instance
openstack server migrate --live compute-02 my-instance
Note: Replace instance names, project names, and other placeholders with your actual values. Use
openstack help or openstack COMMAND --help for detailed information about specific commands and options.