OpenStack Kolla All in One
This guide deploys OpenStack 2024.2 (Dalmatian) on a single Ubuntu 22.04 host using Kolla-Ansible.
Prerequisites
- OS: Ubuntu 22.04 LTS (Fresh install)
- RAM: 8 GB (16 GB recommended)
- Disk: 80 GB free
- CPU: 4 cores
- NICs: 2 interfaces (1 Management, 1 External)
- Python: 3.10+
Step 1: Install Dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3-dev python3-venv libffi-dev gcc libssl-dev git
Step 2: Create a Python Virtual Environment
python3 -m venv /opt/kolla-venv
source /opt/kolla-venv/bin/activate
pip install -U pip
pip install 'ansible-core>=2.16,<2.17'
pip install kolla-ansible==2024.2
Step 3: Configure Kolla
sudo mkdir -p /etc/kolla
sudo cp /opt/kolla-venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/
cp /opt/kolla-venv/share/kolla-ansible/ansible/inventory/all-in-one .
kolla-genpwd
Step 4: Edit globals.yml
Edit /etc/kolla/globals.yml to match your network interfaces:
---
kolla_base_distro: "ubuntu"
openstack_release: "2024.2"
kolla_internal_vip_address: "10.0.0.10"
network_interface: "ens192"
neutron_external_interface: "ens224"
enable_haproxy: "no"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"
cinder_volume_group: "cinder-volumes"
enable_horizon: "yes"
Step 5: Prepare the LVM Backend
sudo pvcreate /dev/sdb
sudo vgcreate cinder-volumes /dev/sdb
Step 6: Bootstrap the Host
kolla-ansible -i all-in-one bootstrap-servers
Step 7: Pre-deployment Checks
kolla-ansible -i all-in-one prechecks
Step 8: Deploy OpenStack
kolla-ansible -i all-in-one deploy
Step 9: Post-Deployment Setup
kolla-ansible -i all-in-one post-deploy
source /etc/kolla/admin-openrc.sh
pip install python-openstackclient
/opt/kolla-venv/share/kolla-ansible/init-runonce
Step 10: Verify
openstack service list
openstack compute service list
openstack network agent list
openstack volume service list
Access Horizon at http://10.0.0.10/ using username admin and the password found in /etc/kolla/passwords.yml (key: keystone_admin_password).
Managing the Deployment
- Stop:
kolla-ansible -i all-in-one stop - Start:
kolla-ansible -i all-in-one deploy - Reconfigure:
kolla-ansible -i all-in-one reconfigure - Upgrade:
pip install -U kolla-ansiblethenkolla-ansible -i all-in-one upgrade - Destroy:
kolla-ansible -i all-in-one destroy --yes-i-really-really-mean-it - Logs:
docker logs <container_name> - List:
docker ps --format 'table {{.Names}}\t{{.Status}}'
Troubleshooting
- Prechecks fail: Re-run
bootstrap-servers. - Container crash: Inspect logs with
docker logs <container_name>. - Horizon not loading: Verify
kolla_internal_vip_addressinglobals.ymlis reachable. - Cinder LVM error: Confirm volume group exists:
vgs cinder-volumes. - Deploy hangs: Re-run with verbose output:
kolla-ansible -i all-in-one deploy -vvv.