Controller pre reqs

SQL database

https://docs.openstack.org/install-guide/environment-sql-database-ubuntu.html

sudo apt install mariadb-server python3-pymysql

/etc/mysql/mariadb.conf.d/99-openstack.cnf

[mysqld]
bind-address = 192.168.120.201

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

Start the sql service

sudo service mysql restart

Run the secure installation script, change the root password and accept the defaults

sudo mysql_secure_installation

Message queue

https://docs.openstack.org/install-guide/environment-messaging-ubuntu.html

sudo apt install rabbitmq-server

Add the openstack user to rabbitmq

sudo rabbitmqctl add_user openstack <PASSWORD>

Set permissions

sudo rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Memcached

https://docs.openstack.org/install-guide/environment-memcached-ubuntu.html

sudo apt install memcached python3-memcache

Edit memcache config file and change the existing -l 127.0.0.1 to the servers IP address

/etc/memcached.conf

...
-l <IP_ADDRESS>
...

Restart memcached service

sudo systemctl restart memcached

Etcd

https://docs.openstack.org/install-guide/environment-etcd-ubuntu.html

sudo apt install etcd-server

Edit etcd config

/etc/default/etcd

ETCD_NAME="controller"
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER="controller=http://<IP_ADDRESS>:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://<IP_ADDRESS>:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://<IP_ADDRESS>:2379"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://<IP_ADDRESS>:2379"

Enable and start etcd service

sudo systemctl enable etcd
sudo systemctl start etcd

Add Openstack packages

Need to install software-properties-common before adding repo

sudo apt -y install software-properties-common
sudo add-apt-repository cloud-archive:epoxy

Add Openstack packages