Skip to content

Repository files navigation

🌩️ OpenStack Deployment & Management Guide

Build Your Own Private or Public Cloud with Confidence

🎯 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

OpenStack Banner


📚 Table of Contents


🌟 About This Repository

This repository provides hands-on, production-ready guides for deploying OpenStack using three widely used methods:

  1. Kolla-Ansible – Containerized (Docker + Ansible), ideal for production.
  2. PackStack – Rapid All-in-One setup via Puppet (RDO), perfect for labs.
  3. 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.


☁️ What is OpenStack?

Why OpenStack?

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.

History & Evolution

  • Launched in 2010 by NASA and Rackspace.
  • Now governed by the Open Infrastructure Foundation (OpenInfra).
  • Enables vendor-neutral, scalable, and secure cloud infrastructure.

Core Components

CategoryServicePurpose
ComputeNovaVM lifecycle
NetworkingNeutronSDN
StorageCinder (block), Swift (object)Persistent storage
IdentityKeystoneAuth & authz
ImageGlanceVM image registry
DashboardHorizonWeb UI
OrchestrationHeatIaC

Pros & Cons

✅ Pros❌ Cons
Open-source & freeSteep learning curve
Highly modular & scalableComplex networking
No vendor lock-inRequires skilled team
Supports hybrid/multi-cloudResource-intensive

OpenStack vs Alternatives

PlatformBest For
OpenStackOn-prem private/public cloud with full control
AWS / Azure / GCPPublic cloud with zero infra management
Proxmox VESmall-scale virtualization
VMware vCloudExisting VMware environments

💡 Use OpenStack when: You need data sovereignty, custom billing, or to offer white-label cloud services.


⚙️ Prerequisites for Installation

Hardware (Minimum for All-in-One)

  • 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)

Software Requirements

  • 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 Deployment Methods Overview

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.

Official & Community-Supported Tools

ToolTypeBest ForOfficial Docs
Kolla-AnsibleContainerized (Docker + Ansible)Production, HA, scalabledocs.openstack.org/kolla-ansible
PackStackPuppet-based (RDO)Quick AIO labs, CentOS/AlmaLinuxrdoproject.org/install/packstack
DevStackShell script (development)Developers, testingdocs.openstack.org/devstack
OpenStack Charms (Juju)Model-driven (Ubuntu)Canonical/Ubuntu environmentsubuntu.com/openstack/install
TripleO (OpenStack on OpenStack)Production-grade (Red Hat)Large-scale, enterprisedocs.openstack.org/tripleo
Helm Charts (Airship)Kubernetes-nativeCloud-native deploymentsairshipit.org
Manual InstallationStep-by-stepLearning, customizationdocs.openstack.org/install-guide

📌 Note: While DevStack and TripleO are powerful, they are not included in this repo due to scope.

Methods Covered in This Repository

1. Kolla-Ansible (Containerized, Production-Ready)
📁 Path: /deployment-tools/kolla-ansible/
📘 Guides:

2. PackStack (RDO-based, All-in-One)
📁 Path: /deployment-tools/packstack/
📘 Guides:

3. Manual Installation (Step-by-Step, Educational)
📁 Path: /manually/
📘 Guides:


🔧 Post-Installation: Verification & Essential Operations

How to Verify Your Installation

After installation, always verify that all services are running:

# Source admin credentialssource~/keystonerc_admin # PackStack# ORsource /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.


Accessing OpenStack

  • Horizon Dashboard: http://<your-ip>/dashboard
  • Default Login:
    • Username: admin
    • Password: From ~/keystonerc_admin or /etc/kolla/passwords.yml
  • Get Password:
    grep keystone_admin_password /etc/kolla/passwords.yml

🔒 Security Tip: Change default passwords and disable demo projects in production.


Managing via CLI – Essential Commands

Install OpenStack CLI (if not installed):

pip install python-openstackclient

🔹 Identity & Projects

openstack project list
openstack user list
openstack role assignment list --names

🔹 Compute

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

🔹 Networking

openstack network list
openstack subnet list
openstack router list
openstack floating ip list

🔹 Images & Volumes

openstack image list
openstack volume list

🔹 System Health

openstack catalog list
openstack endpoint list
nova-status upgrade check

💡 Pro Tip: Use --format json or --format yaml for scripting.


Critical Tips for Configuration, Operation & Maintenance

🔸 1. Always Use Version-Pinned Installations

  • Use stable branches (e.g., stable/2025.1) for Kolla-Ansible.
  • Avoid master in production.

🔸 2. Backup Critical Files

  • Kolla-Ansible: Backup /etc/kolla/, passwords.yml, and inventory.
  • PackStack: Backup ~/keystonerc_admin and /root/answers.txt.

🔸 3. Enable Instance Auto-Start on Reboot

Edit /etc/nova/nova.conf:

[DEFAULT]resume_guests_state_on_host_boot = true

Then restart:

systemctl restart openstack-nova-compute

🔸 4. Fix Common Runtime Issues

  • 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

🔸 5. Monitor Logs Proactively

# 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

🔸 6. Use Screen or tmux for Long-Running Tasks

dnf install screen -y
screen -S openstack-install
# (Detach with Ctrl+A, D; Reattach with `screen -r`)

🔸 7. Clean Up Unused Resources

# Delete orphaned volumes
openstack volume list --status error -c ID -f value | xargs openstack volume delete
# Remove unused images
openstack image list --status active

📄 License

  • This repository is licensed under the MIT License.
  • OpenStack itself is licensed under Apache 2.0.
  • See LICENSE for details.

📬 Feedback & Contributions

Found a typo? Have an improvement?
👉 Open an Issue or Submit a Pull Request!

🔗 Connect:


Happy Cloud Building!
"The future is open, scalable, and in your control."