Guide: OpenStack CLI – Basic Usage
This guide provides a quick introduction to managing your bwCloud-OS project using the OpenStack CLI. It covers the most common operations for compute, storage, and networking.
Compute
Images
List available images:
openstack image list
Upload a new image:
openstack image create ubuntu-24.04 \ --file=/path/to/images/ubuntu-24.04-server-cloudimg-amd64.img \ --disk-format=qcow2 \ --container-format=bare
Show image details:
openstack image show <IMAGE_ID>
Delete an image:
openstack image delete <IMAGE_ID_OR_NAME>
Key Pairs (SSH Access)
Create a key pair:
openstack keypair create myKey > myKey.pem chmod 600 myKey.pem
List key pairs:
openstack keypair list
Delete a key pair:
openstack keypair delete myKey
Instances
List instances:
openstack server list
Create an instance:
openstack server create \ --image ubuntu-24.04 \ --flavor p1.tiny \ --key-name myKey \ myVM
Show details of an instance:
openstack server show myVM
Delete an instance:
openstack server delete myVM
Storage
Volumes
List volumes:
openstack volume list
Create a volume:
openstack volume create --size 10 myVolume
Delete a volume:
openstack volume delete myVolume
Volume Management for Instances
Attach a volume to an instance:
openstack server add volume myVM myVolume
Detach a volume:
openstack server remove volume myVM myVolume
Networking
Networks
List networks:
openstack network list
Create a network:
openstack network create myNet
Subnets, Routers
Create a subnet:
openstack subnet create mySubnet \ --network myNet \ --subnet-range 192.168.1.0/24
Create a router:
openstack router create myRouter
Attach subnet to router:
openstack router add subnet myRouter mySubnet
Set external gateway:
openstack router set myRouter --external-gateway provider_default_net
Floating IPs
Create a floating IP:
openstack floating ip create provider_default_net
List floating IPs:
openstack floating ip list
Associate floating IP with instance:
openstack server add floating ip myVM <FLOATING_IP>
Remove floating IP:
openstack server remove floating ip myVM <FLOATING_IP>
Security Groups
List security groups:
openstack security group list
Create a security group:
openstack security group create mySecGroup
Add HTTP access (port 80):
openstack security group rule create \ --proto tcp \ --dst-port 80 \ mySecGroup
Assign security group to instance:
openstack server add security group myVM mySecGroup
Remove security group from instance:
openstack server remove security group myVM mySecGroup