OpenStack

OpenStack is an open-source cloud computing platform for building and managing public and private clouds. It provides a set of tools for deploying, managing, and scaling cloud infrastructure.

First choose the installation method.




You can now access OpenStack.

OpenStack Dashboard




Lets configure the OpenStack.

1. Create a New Project

  • Project (formerly “Tenant”): Logical container for users and resources.
  • Multi-tenancy: Isolates compute, storage, and network from other projects.
  • Identity & Access: Keystone enforces per-project roles and RBAC.
  • Resource Quotas: Set limits on vCPUs, RAM, volumes, floating IPs.
  • Networking Isolation: Neutron networks, routers, and security groups scoped per project.
  • Policy Scope: All services (Compute, Block Storage, Images, Orchestration) tag resources with the project as owner.

How to reach the project creation screen?

  1. Identity (in the sidebar menu)
  2. Projects
  3. + Create Project
Create OpenStack Project

2. Now create a user

  1. Identity (in the sidebar menu)
  2. Users
  3. When creating the user, set Primary Project to the project you created earlier.
  4. Assign the admin role to the user.
Create OpenStack Project

3. Now create an image

  1. Download an image. In this example, we use Debian 12 in qcow2 (QEMU) format.
  2. Go to your Project.
  3. Navigate to ComputeImages.
  4. Click + Create Image.
Create OpenStack Project




Log out and log in with the new user




4. Networking

  1. Go to - Project - Network topology - Create network.
  2. Set the name of the network name.
  3. Set the subnet name.
  4. Set the subnet Network Address 10.0.0.0/24.
  5. Set the gateway IP 10.0.0.1.
  6. Enable DHCP.
Create OpenStack Project

4. Create virtual machine

  1. Go to - Project - Instances - Launch Instance.
  2. Set the name of the instance.
  3. Set the Count (in this screenshot 2).
  4. Click on the arrow to select ubuntu 22.04.
Create OpenStack Project
  1. Click on the arrow to select the flavor (Ram, Cpu, Disk).
  2. Create OpenStack Project
  3. Click on the arrow to select the network we created before.
  4. Click on the arrow to select the key pair (here import your ssh public key).
  5. In Configuration we can uploud custom scripts for animation, like installing package, create users, etc.
  6. click on launch instance.
Create OpenStack Project




5. Create a router

  1. Go to - Project - Network topology - routers, create router.
  2. Router name.
  3. External network name to public.
  4. click on the router created and click on add interface.
  5. Click on subnet and select the subnet we created before.
  6. Submit
We should have a router connected like this:
Create OpenStack Project

6. Allocate floating ip

  1. Go to - Project - Network topology - floating ips.
  2. click on allocate floating ip.
  3. Dont click anything else, just click on allocate floating ip.
  4. Create OpenStack Project
    Create OpenStack Project
  5. Now we can assign the floating ip to the instance.
  6. Go to - Project - Compute - Instances - Instances.
  7. Click on the instance and click on the floating ip.
  8. Create OpenStack Project
  9. Click on Ip address and select the Ip address we allocated before.
  10. Click on associate




7. Security groups

  1. Go to - Project - Network topology - security groups.
  2. Click on manage rules to visualize the rules.
  3. Lets go back to security groups and click on create security group.
  4. Set the name of the security group. (ssh)
  5. click on create security group.
  6. in the new menu, click on add rule.
  7. Create OpenStack Project
  8. here just set the Port to 22 and the remote ip to CIDR0.0.0.0/0 (all ips).
  9. click on add rule.
  10. go to proyect - compute -instances and click on edit security groups.
  11. Create OpenStack Project
  12. remove the default security group and add the one we created before.
  13. Create OpenStack Project
  14. You can do the same with the other vm, also allocate floating ip to the other vm. same steps from before.
  15. Create OpenStack Project




6. Access throught console via virsh

  1. Install virsh.
  2. Run virsh list --all
  3. Run virsh console
Screenshot shows the virsh console and one script I created to manage vms with virsh, call virs (available here github.com/4rji)
Create OpenStack Project