π― Audience: Cloud Engineers β’ DevOps Professionals β’ System Administrators β’ IT Students β’ OpenStack Enthusiasts
π Last Updated: April 2025
π§βπ» Author: Sumon Paul β’ Cloud Engineer YouTube Channel
π Tags:#OpenStack#PrivateCloud#KollaAnsible#PackStack#CloudComputing#IaaS
- π About This Repository
- βοΈ What is OpenStack?
- βοΈ Prerequisites for Installation
- π OpenStack Deployment Methods Overview
- π§ Post-Installation: Verification & Essential Operations
- π License
- π¬ Feedback & Contributions
This repository provides hands-on, production-ready guides for deploying OpenStack using three widely used methods:
- Kolla-Ansible β Containerized (Docker + Ansible), ideal for production.
- PackStack β Rapid All-in-One setup via Puppet (RDO), perfect for labs.
- Manual Installation β Step-by-step Ubuntu-based guide for deep learning.
Whether you're building a private cloud, running a home lab, or preparing for certification, this repo gives you everything from theory to terminal commands β with real-world fixes and troubleshooting.
OpenStack is an open-source Infrastructure-as-a-Service (IaaS) platform that lets you build and manage private and public clouds using standard hardware. Used by NASA, CERN, AT&T, and thousands of enterprises.
- Launched in 2010 by NASA and Rackspace.
- Now governed by the Open Infrastructure Foundation (OpenInfra).
- Enables vendor-neutral, scalable, and secure cloud infrastructure.
| Category | Service | Purpose |
|---|---|---|
| Compute | Nova | VM lifecycle |
| Networking | Neutron | SDN |
| Storage | Cinder (block), Swift (object) | Persistent storage |
| Identity | Keystone | Auth & authz |
| Image | Glance | VM image registry |
| Dashboard | Horizon | Web UI |
| Orchestration | Heat | IaC |
| β Pros | β Cons |
|---|---|
| Open-source & free | Steep learning curve |
| Highly modular & scalable | Complex networking |
| No vendor lock-in | Requires skilled team |
| Supports hybrid/multi-cloud | Resource-intensive |
| Platform | Best For |
|---|---|
| OpenStack | On-prem private/public cloud with full control |
| AWS / Azure / GCP | Public cloud with zero infra management |
| Proxmox VE | Small-scale virtualization |
| VMware vCloud | Existing VMware environments |
π‘ Use OpenStack when: You need data sovereignty, custom billing, or to offer white-label cloud services.
- CPU: 2+ cores (4+ recommended)
- RAM: 8 GB (16+ GB for production)
- Disk: 40+ GB SSD (100+ GB preferred)
- Network: 2β3 NICs (Management, Data, External)
- OS: Ubuntu 22.04/24.04, Rocky Linux 8/9, AlmaLinux 8/9
- Virtualization: Enabled in BIOS (
vmx/svm) - Root or sudo access
- Static IP configuration
- SELinux disabled (for RHEL-based)
- Firewall disabled (or required ports opened)
π§ Tip: Use VirtualBox or Proxmox for labs. For production, use bare-metal servers.
OpenStack can be deployed in many ways, depending on your use case, scale, and expertise. Below is a comprehensive list of official and community-supported deployment tools.
| Tool | Type | Best For | Official Docs |
|---|---|---|---|
| Kolla-Ansible | Containerized (Docker + Ansible) | Production, HA, scalable | docs.openstack.org/kolla-ansible |
| PackStack | Puppet-based (RDO) | Quick AIO labs, CentOS/AlmaLinux | rdoproject.org/install/packstack |
| DevStack | Shell script (development) | Developers, testing | docs.openstack.org/devstack |
| OpenStack Charms (Juju) | Model-driven (Ubuntu) | Canonical/Ubuntu environments | ubuntu.com/openstack/install |
| TripleO (OpenStack on OpenStack) | Production-grade (Red Hat) | Large-scale, enterprise | docs.openstack.org/tripleo |
| Helm Charts (Airship) | Kubernetes-native | Cloud-native deployments | airshipit.org |
| Manual Installation | Step-by-step | Learning, customization | docs.openstack.org/install-guide |
π Note: While DevStack and TripleO are powerful, they are not included in this repo due to scope.
β
1. Kolla-Ansible (Containerized, Production-Ready)
π Path: /deployment-tools/kolla-ansible/
π Guides:
β
2. PackStack (RDO-based, All-in-One)
π Path: /deployment-tools/packstack/
π Guides:
- Install-OpenStack-PackStack-Using-Shell-Script
- Install OpenStack on AlmaLinux using PackStack (.txt)
- Install OpenStack-PackStack on AlmaLinux 9
- PDF Version (Offline)
β
3. Manual Installation (Step-by-Step, Educational)
π Path: /manually/
π Guides:
After installation, always verify that all services are running:
# Source admin credentials
source ~/keystonerc_admin # PackStack
# OR
source /etc/kolla/admin-openrc.sh # Kolla-Ansible
# Check core services
openstack service list
# Check compute & network agents
openstack compute service list
openstack network agent list
# Verify hypervisors
openstack hypervisor list
# Test token issuance
openstack token issueβ
Success: All services show enabled and up.
- Horizon Dashboard:
http://<your-ip>/dashboard - Default Login:
- Username:
admin - Password: From
~/keystonerc_adminor/etc/kolla/passwords.yml
- Username:
- Get Password:
grep keystone_admin_password /etc/kolla/passwords.yml
π Security Tip: Change default passwords and disable demo projects in production.
Install OpenStack CLI (if not installed):
pip install python-openstackclientopenstack project list
openstack user list
openstack role assignment list --namesopenstack server list
openstack server create --image <img> --flavor <flavor> --network <net> test-vm
openstack server delete <server-id>
openstack flavor list
openstack hypervisor stats showopenstack network list
openstack subnet list
openstack router list
openstack floating ip listopenstack image list
openstack volume listopenstack catalog list
openstack endpoint list
nova-status upgrade checkπ‘ Pro Tip: Use
--format jsonor--format yamlfor scripting.
- Use stable branches (e.g.,
stable/2025.1) for Kolla-Ansible. - Avoid
masterin production.
- Kolla-Ansible: Backup
/etc/kolla/,passwords.yml, and inventory. - PackStack: Backup
~/keystonerc_adminand/root/answers.txt.
Edit /etc/nova/nova.conf:
[DEFAULT]
resume_guests_state_on_host_boot = trueThen restart:
systemctl restart openstack-nova-compute- Kolla-Ansible: Install missing modules in Ansible runtime:
/opt/ansible-runtime/bin/pip install docker dbus-python
- PackStack: If Horizon fails, restart:
systemctl restart httpd memcached
# Compute issues
tail -f /var/log/nova/nova-compute.log
# Networking issues
tail -f /var/log/neutron/server.log
# Authentication issues
tail -f /var/log/keystone/keystone.logdnf install screen -y
screen -S openstack-install
# (Detach with Ctrl+A, D; Reattach with `screen -r`)# Delete orphaned volumes
openstack volume list --status error -c ID -f value | xargs openstack volume delete
# Remove unused images
openstack image list --status active- This repository is licensed under the MIT License.
- OpenStack itself is licensed under Apache 2.0.
- See
LICENSEfor details.
Found a typo? Have an improvement?
π Open an Issue or Submit a Pull Request!
π Connect:
- LinkedIn: sumonpaul
- YouTube: Cloud Engineer by Sumon Paul
- GitHub: @SumonPaul18
β¨ Happy Cloud Building!
"The future is open, scalable, and in your control."