This guide walks you through building an OpenStack private cloud on a single-node AlmaLinux system using PackStack. It includes pre-configuration, installation, and post-setup steps — designed for DevOps engineers, cloud learners, and IT professionals.
By the end of this guide, you will:
- Install OpenStack using PackStack
 - Set up core services like Keystone (Identity), Glance (Image), Nova (Compute), Neutron (Networking), etc.
 - Configure external networking and upload test images
 - Access and manage your cloud via the Horizon dashboard (GUI)
 
| Resource | Minimum | Recommended | 
|---|---|---|
| OS | AlmaLinux 8 or later | AlmaLinux 8 (latest update) | 
| CPU | 2 vCPUs | 4+ vCPUs | 
| RAM | 8 GB | 16 GB+ | 
| Disk | 100 GB | 200 GB SSD | 
| Access | Root or sudo privileges | Root | 
⚠️ PackStack is ideal for proof of concept (PoC) or learning environments, not production.
openstack-packstack/
├── pre-configuration-openstack.sh   # Prepares OS for OpenStack
├── install-openstack.sh             # Installs OpenStack using PackStack
└── post-configuration-openstack.sh  # Sets up default network, image, flavorRun the pre-configuration-openstack.sh script to:
- Install required packages
 - Set hostname and configure the network
 - Disable NetworkManager and firewalld
 - Enable SELinux in permissive mode
 - Add EPEL and OpenStack repos
 
dnf install git -y
git clone https://github.com/SumonPaul18/openstack-packstack.git
chmod -R +x openstack-packstack
cd openstack-packstack
. pre-configuration-openstack.sh🔄 The script will automatically reboot your system after configuration.
After reboot, run the install-openstack.sh script to install OpenStack:
cd /root/openstack-packstack
. install-openstack.shThis will:
- Download and install all OpenStack components
 - Generate an answer file (optional for customization)
 - Configure the Horizon dashboard, Keystone, Glance, Nova, Neutron, etc.
 
📝 Installation may take 10–30 minutes depending on your internet and system performance.
After OpenStack is installed, use the post-configuration-openstack.sh script to:
- Source admin credentials
 - Set up external and private networks
 - Upload a test image (Cirros)
 - Create default flavors
 
cd /root
. keystonerc_admin
. /root/openstack-packstack/post-configuration-openstack.shhttp://<Your-OpenStack-Server-IP> or http://<your-domain>
Example:
http://cloud.paulco.xyz
The Horizon dashboard provides a web-based interface to:
- Launch and manage instances
 - Create networks and routers
 - Manage volumes and images
 - Create and assign users and projects
 
- Always source 
keystonerc_adminbefore running OpenStack CLI commands. - You can customize PackStack by editing the answer file (
packstack --gen-answer-file=file.txt). - Use Cockpit or another tool to monitor system resources.
 - For floating IPs, make sure your external network has access to your LAN or bridge interface.
 
| Description | Command | 
|---|---|
| List instances | openstack server list | 
| List networks | openstack network list | 
| List images | openstack image list | 
| Create flavor | openstack flavor create ... | 
| Source credentials | . keystonerc_admin | 
📺 Subscribe to my YouTube channel for step-by-step video tutorials:
🎬 Video Guides:
- 🔹 How to Install OpenStack on AlmaLinux using PackStack – Step-by-Step
 - 🔹 Adding New Compute Nodes on Existing OpenStack Cloud
 
🎯 More videos coming soon! Stay subscribed for DevOps, Cloud, and OpenStack content.
If you face any issues, feel free to:
- Open an issue in this repository
 - Contact me at LinkedIn
 - 📧 Email: 
sumonpaul461@gmail.com 
You've now built your own private cloud on AlmaLinux using PackStack — time to launch your first instance!


