Adapted from OpenStack using Kolla Ansible guide.
Configure Python environment:
pip install -U pip
pip install -r requirements.txt
ansible-galaxy install -f -r requirements.yml -p roles/
- Configure node
Setup users and security:
# supply sudo password on first run after Ubuntu install
ansible-playbook -i ./all-in-one deploy-node.yml --ask-become-pass --tags security
# then
ansible-playbook -i ./all-in-one deploy-node.yml --tags security
Next, configure LVM and partitions for Cinder and Swift. I found A Linux user's guide to Logical Volume Management a helpful resource.
sudo pvcreate -ff /dev/sda3
sudo vgcreate cinder-volumes /dev/sda3
openstack volume service list
ansible-playbook -i ./all-in-one deploy-node.yml --tags cinder
ansible-playbook -i ./all-in-one deploy-node.yml --tags swift
Configure network interfaces to communicate over vlan:
ansible-playbook -i ./multinode deploy-node.yml --tags network
Start with Kolla boilerplate:
export CONFIG=$PWD/altair
mkdir $CONFIG
cp -r $VIRTUAL_ENV/share/kolla-ansible/etc_examples/kolla/* $CONFIG
cp $VIRTUAL_ENV/share/kolla-ansible/ansible/inventory/* .
Edit ./all-in-one
to point to your OpenStack node.
Run random password generator:
kolla-genpwd --passwords $CONFIG/passwords.yml
Edit $CONFIG/globals.yml
as needed.
- Bootstrap servers with kolla deploy dependencies:
kolla-ansible --configdir=$CONFIG -i ./multinode bootstrap-servers
- Generate Octavia certificates:
Override node_custom_config
Ansible variable to point to correct config directory.
kolla-ansible --configdir=$CONFIG -i ./multinode octavia-certificates -e node_custom_config=$CONFIG
- Do pre-deployment checks for hosts:
kolla-ansible --configdir=$CONFIG -i ./multinode prechecks -e node_custom_config=$CONFIG
- Finally proceed to actual OpenStack deployment:
kolla-ansible --configdir=$CONFIG -i ./multinode deploy -e node_custom_config=$CONFIG
When this playbook finishes, OpenStack should be up, running and functional.
- Install the OpenStack CLI client:
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/master
- Run post-deploy:
kolla-ansible --configdir=$CONFIG -i ./multinode post-deploy -e node_custom_config=$CONFIG
. ./altair/admin-openrc.sh
$VIRTUAL_ENV/share/kolla-ansible/init-runonce
ansible-playbook -i ./all-in-one deploy-node.yml --tags server