Created
April 21, 2025 22:16
-
-
Save REp007/e3fb698e6d57554b1a028d25e9b4c91c to your computer and use it in GitHub Desktop.
Install OpenStack using DevStack
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Step 1: Create a Droplet | |
1. Choose Ubuntu 22.04 as the OS. | |
2. Select Droplet Size: | |
Minimum: 4 GB RAM / 2 vCPUs / 50 GB Disk (DevStack is resource-intensive; 8 GB RAM is recommended for stability). | |
Step 2: Prepare the Droplet | |
1. SSH into the Droplet as root: | |
```ssh root@your_droplet_ip``` | |
2. Create a Non-Root User (DevStack requires this): | |
``` | |
adduser stack | |
usermod -aG sudo stack | |
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack | |
su - stack | |
``` | |
Step 3: Install Dependencies | |
``` | |
sudo apt update -y && sudo apt upgrade -y | |
sudo apt install git -y | |
``` | |
Step 4: Clone DevStack | |
``` | |
git clone https://opendev.org/openstack/devstack -b master | |
cd devstack | |
``` | |
Step 5: Configure DevStack | |
1. Create `local.conf` | |
``` | |
cat <<EOF > local.conf | |
[[local|localrc]] | |
ADMIN_PASSWORD=secret | |
DATABASE_PASSWORD=secret | |
RABBIT_PASSWORD=secret | |
SERVICE_PASSWORD=secret | |
HOST_IP=$(hostname -I | awk '{print $1}') | |
ENABLE_DEBUG_LOG_LEVEL=True | |
ENABLE_HORIZON=True | |
EOF | |
``` | |
* Replace secret with a strong password. | |
* HOST_IP: Use the Droplet’s private IP if available, or public IP (check with hostname -I). | |
Step 6: Run DevStack Installation | |
``` | |
./stack.sh | |
``` | |
Step 7: Configure Firewall Rules | |
Allow traffic to OpenStack Services: | |
``` | |
sudo ufw allow 80/tcp # Horizon Dashboard (HTTP) | |
sudo ufw allow 443/tcp # Horizon Dashboard (HTTPS) | |
sudo ufw allow 6080/tcp # Nova VNC Proxy | |
``` | |
Step 8: Access the OpenStack Dashboard | |
1. Visit http://your_droplet_ip/dashboard in a browser. | |
2. Log in with: | |
* Username: admin | |
* Password: secret (as set in local.conf). | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment