Guide: OpenStack CLI – Basic Usage: Difference between revisions

From bwCloud-OS
Jump to navigation Jump to search
Created page with " = 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 instances, storage, networking, and security. == General Information about Cloud, Project, and User == Before working with resources, you can inspect your current configuration and context:<pre> openstack configuration show openstack project list openstack token issue openstack region lis..."
 
No edit summary
Line 1: Line 1:
= 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.


= 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 instances, storage, networking, and security.


== General Information about Cloud, Project, and User ==
== General Information about Cloud, Project, and User ==
Before working with resources, you can inspect your current configuration and context:<pre>
 
Before working with resources, you can inspect your current configuration and context:
 
<pre>
openstack configuration show
openstack configuration show
openstack project list
openstack project list
Line 11: Line 15:
</pre>
</pre>


== Instances (Compute) ==
 
Create an instance:<pre>
== Compute (Instances, Images) ==
 
Create an instance:
 
<pre>
openstack server create \
openstack server create \
   --image ubuntu-24.04 \
   --image ubuntu-24.04 \
Line 19: Line 27:
   --key-name myKey \
   --key-name myKey \
   myVM
   myVM
</pre>List instances:<pre>
</pre>
 
List instances:
 
<pre>
openstack server list
openstack server list
</pre>Show details of an instance:<pre>
</pre>
 
Show details of an instance:
 
<pre>
openstack server show myVM
openstack server show myVM
</pre>Delete an instance:<pre>
</pre>
 
Delete an instance:
 
<pre>
openstack server delete myVM
openstack server delete myVM
</pre>
</pre>
List available images:
<pre>
openstack image list
</pre>
Show image details:
<pre>
openstack image show &lt;IMAGE_ID&gt;
</pre>


== Storage (Volumes) ==
== Storage (Volumes) ==
Create a volume:<pre>
 
Create a volume:
 
<pre>
openstack volume create --size 10 myVolume
openstack volume create --size 10 myVolume
</pre>List volumes:<pre>
</pre>
 
List volumes:
 
<pre>
openstack volume list
openstack volume list
</pre>Attach a volume to an instance:<pre>
</pre>
 
Attach a volume to an instance:
 
<pre>
openstack server add volume myVM myVolume
openstack server add volume myVM myVolume
</pre>Detach a volume:<pre>
</pre>
 
Detach a volume:
 
<pre>
openstack server remove volume myVM myVolume
openstack server remove volume myVM myVolume
</pre>Delete a volume:<pre>
</pre>
 
Delete a volume:
 
<pre>
openstack volume delete myVolume
openstack volume delete myVolume
</pre>
</pre>


== Networking ==
== Networking ==
Create a network:<pre>
 
Create a network:
 
<pre>
openstack network create myNet
openstack network create myNet
</pre>Create a subnet:<pre>
</pre>
 
Create a subnet:
 
<pre>
openstack subnet create mySubnet \
openstack subnet create mySubnet \
   --network myNet \
   --network myNet \
   --subnet-range 192.168.1.0/24
   --subnet-range 192.168.1.0/24
</pre>Create a router:<pre>
</pre>
 
Create a router:
 
<pre>
openstack router create myRouter
openstack router create myRouter
</pre>Attach subnet to router:<pre>
</pre>
 
Attach subnet to router:
 
<pre>
openstack router add subnet myRouter mySubnet
openstack router add subnet myRouter mySubnet
</pre>Set external gateway:<pre>
</pre>
 
Set external gateway:
 
<pre>
openstack router set myRouter --external-gateway provider_net
openstack router set myRouter --external-gateway provider_net
</pre>List networks:<pre>
</pre>
 
List networks:
 
<pre>
openstack network list
openstack network list
</pre>
</pre>


== Security (Security Groups & Rules) ==
 
List security groups:<pre>
=== Floating IPs (Public Access) ===
 
Create a floating IP:
 
<pre>
openstack floating ip create provider_net
</pre>
 
List floating IPs:
 
<pre>
openstack floating ip list
</pre>
 
Associate floating IP with instance:
 
<pre>
openstack server add floating ip myVM &lt;FLOATING_IP&gt;
</pre>
 
Remove floating IP:
 
<pre>
openstack server remove floating ip myVM &lt;FLOATING_IP&gt;
</pre>
 
 
=== Security (Security Groups & Rules) ===
 
List security groups:
 
<pre>
openstack security group list
openstack security group list
</pre>Create a security group:<pre>
</pre>
 
Create a security group:
 
<pre>
openstack security group create mySecGroup
openstack security group create mySecGroup
</pre>Add SSH access (port 22):<pre>
</pre>
 
Add SSH access (port 22):
 
<pre>
openstack security group rule create \
openstack security group rule create \
   --proto tcp \
   --proto tcp \
   --dst-port 22 \
   --dst-port 22 \
   mySecGroup
   mySecGroup
</pre>Add HTTP access (port 80):<pre>
</pre>
 
Add HTTP access (port 80):
 
<pre>
openstack security group rule create \
openstack security group rule create \
   --proto tcp \
   --proto tcp \
   --dst-port 80 \
   --dst-port 80 \
   mySecGroup
   mySecGroup
</pre>Assign security group to instance:<pre>
</pre>
 
Assign security group to instance:
 
<pre>
openstack server add security group myVM mySecGroup
openstack server add security group myVM mySecGroup
</pre>
</pre>


== Floating IPs (Public Access) ==
Create a floating IP:<pre>
openstack floating ip create provider_net
</pre>List floating IPs:<pre>
openstack floating ip list
</pre>Associate floating IP with instance:<pre>
openstack server add floating ip myVM &lt;FLOATING_IP&gt;
</pre>Remove floating IP:<pre>
openstack server remove floating ip myVM &lt;FLOATING_IP&gt;
</pre>


== Images ==
=== Key Pairs (SSH Access) ===
List available images:<pre>
 
openstack image list
Create a key pair:
</pre>Show image details:<pre>
openstack image show &lt;IMAGE_ID&gt;
</pre>


== Key Pairs (SSH Access) ==
<pre>
Create a key pair:<pre>
openstack keypair create myKey > myKey.pem
openstack keypair create myKey > myKey.pem
chmod 600 myKey.pem
chmod 600 myKey.pem
</pre>List key pairs:<pre>
</pre>
 
List key pairs:
 
<pre>
openstack keypair list
openstack keypair list
</pre>Delete a key pair:<pre>
openstack keypair delete myKey
</pre>
</pre>


== Automation & Scripting ==
Delete a key pair:
You can combine commands and variables to automate workflows:<pre>
FIP=$(openstack floating ip create provider_net -f value -c floating_ip_address)


openstack server create \
<pre>
  --image ubuntu-24.04 \
openstack keypair delete myKey
  --flavor m1.small \
  --network myNet \
  --key-name myKey \
  myVM
 
openstack server add floating ip myVM $FIP
</pre>
</pre>

Revision as of 22:00, 24 April 2026

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.


General Information about Cloud, Project, and User

Before working with resources, you can inspect your current configuration and context:

openstack configuration show
openstack project list
openstack token issue
openstack region list


Compute (Instances, Images)

Create an instance:

openstack server create \
  --image ubuntu-24.04 \
  --flavor m1.small \
  --network myNet \
  --key-name myKey \
  myVM

List instances:

openstack server list

Show details of an instance:

openstack server show myVM

Delete an instance:

openstack server delete myVM

List available images:

openstack image list

Show image details:

openstack image show <IMAGE_ID>


Storage (Volumes)

Create a volume:

openstack volume create --size 10 myVolume

List volumes:

openstack volume list

Attach a volume to an instance:

openstack server add volume myVM myVolume

Detach a volume:

openstack server remove volume myVM myVolume

Delete a volume:

openstack volume delete myVolume


Networking

Create a network:

openstack network create myNet

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_net

List networks:

openstack network list


Floating IPs (Public Access)

Create a floating IP:

openstack floating ip create provider_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 (Security Groups & Rules)

List security groups:

openstack security group list

Create a security group:

openstack security group create mySecGroup

Add SSH access (port 22):

openstack security group rule create \
  --proto tcp \
  --dst-port 22 \
  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


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