Deploy Openstack All-in-one with Kolla-ansible

What is openstack ?

“OpenStack is an open source cloud computing infrastructure software project and is one of the three most active open source projects in the world”.

Requirements for this tutorial:

1. Update, upgrade server and install dependency

$ sudo apt-get update; sudo apt-get upgrade
$ sudo apt-get install python3-dev libffi-dev gcc libssl-dev
$ sudo apt-get install python3-pip

2. create a new user

$ sudo useradd kolla -m -s /bin/bash
$ sudo vim /etc/sudoers.d/kolla
$ su - kolla

3. Install kolla-ansible

$ sudo pip3 install -U pip
$ sudo pip3 install ansible
$ pip3 install kolla-ansible==10.0
$ sudo mkdir -p /etc/kolla
$ sudo chown $USER:$USER /etc/kolla
$ cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
$ cp /usr/local/share/kolla-ansible/ansible/inventory/* .

4. create a partition for cinder volume

$ sudo fdisk /dev/vdb+--------+------+----------------+
| Device | Size | Type |
| vdb1 | 100G | 8e (Linux LVM) |

5. Create LVM disk for cinder service

sudo pvcreate -f /dev/vdb1
sudo pvs
sudo vgcreate -f cinder-volumes /dev/vdb1
sudo vgs

6. Edit ansible config

$ sudo vim /etc/ansible/ansible.cfg

7. Generate kolla password

$ kolla-genpwd

8. Edit kolla configuration

$ vi /etc/kolla/globals.yml
kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "ussuri"
kolla_internal_vip_address: ""
network_interface: "ens3"
neutron_external_interface: "ens9"
neutron_plugin_agent: "openvswitch"
enable_heat: "yes"
enable_neutron_provider_networks: "yes"
nova_compute_virt_type: "kvm"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"
cinder_volume_group: "cinder-volumes"
enable_neutron_qos: "yes"
enable_openstack_core: "yes"
enable_haproxy: "no"

9. Deployment kolla

kolla-ansible -i all-in-one bootstrap-servers
kolla-ansible -i all-in-one prechecks
kolla-ansible -i all-in-one deploy
kolla-ansible -i all-in-one post-deploy
kolla-ansible -i all-in-one check

10. install openstack CLI client

pip install python3-openstackclient

11. Testing installation

$ cd /usr/local/share/kolla-ansible/
$ ./init-runonce

12. Check openstack services

$ source /etc/kolla/$ openstack service list
| ID | Name | Type |
| 211967ceae3b4cf1bc04ca1587c73073 | nova | compute |
| 4b0a44c2ae654e45a22ec6539d8c5634 | glance | image |
| 53b944270b7f489ea37f00027e5999a3 | neutron | network |
| 6dc350336f8c4a14831dda920545f64a | keystone | identity |
| 83bafae712084e76b09d6da590152bd0 | cinderv2 | volumev2 |
| 988dab40890d452a8f55eef7f85bfd46 | placement | placement |
| ab8d636872db481ea04b6c6075d63f8e | heat | orchestration |
| ae288e6298ea42af8cabb9d8865d0fac | cinderv3 | volumev3 |
| ba92ae6b96a04d2d9671a92802c90e61 | nova_legacy | compute_legacy |
| ea54bc5ca34846c894d12a054c1969a9 | heat-cfn | cloudformation |




This is my little notes based my experiment and my learning. Keep learning and keep calm.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Azure Kubernetes Service (AKS) Networking Deep Dive Part 1— Pod Intra-Node/Inter-Node Communication

CS373 Software Engineering: Blog 9

Lab 6: Capacitive Sensing with Piezo

CDN comparisons: How to get better performance from your website

Azure Kubernetes Service (AKS) Network Deep Dive Part 3—Azure Container Network Interface (CNI)

What’s the genre of this song?

3 Quick Ways to secure a new Linux server

Add Google Analytics to your Laravel application with Google Tag Manager.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


This is my little notes based my experiment and my learning. Keep learning and keep calm.

More from Medium

How to Deploy Bold Reports in Kubernetes Clusters [Webinar Show Notes]

How to Deploy Bold Reports in Kubernetes Clusters

FinOps part 2-AWS-Instance-type

Get started with OpenSearch — The really quick guide.

Deploy cert-manager with internal Certificate Authority(CA)