π― 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_admin
or/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-openstackclient
openstack project list
openstack user list
openstack role assignment list --names
openstack server list
openstack server create --image <img> --flavor <flavor> --network <net> test-vm
openstack server delete <server-id>
openstack flavor list
openstack hypervisor stats show
openstack network list
openstack subnet list
openstack router list
openstack floating ip list
openstack image list
openstack volume list
openstack catalog list
openstack endpoint list
nova-status upgrade check
π‘ Pro Tip: Use
--format json
or--format yaml
for scripting.
- Use stable branches (e.g.,
stable/2025.1
) for Kolla-Ansible. - Avoid
master
in production.
- Kolla-Ansible: Backup
/etc/kolla/
,passwords.yml
, and inventory. - PackStack: Backup
~/keystonerc_admin
and/root/answers.txt
.
Edit /etc/nova/nova.conf
:
[DEFAULT]
resume_guests_state_on_host_boot = true
Then 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.log
dnf 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
LICENSE
for 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."