Skip to content

Home Lab

Notes from my learning sessions

Menu
Menu

Openstack Xena on Ubuntu 20.04 – Requisites

Posted on December 16, 2021April 17, 2022 by sandeep

[  1 /9  : Pre-requisites  ]                                                      [  Next: Keystone (2/9)  ]

Install Ubuntu 20.04 as detailed here.  (We will remove snapd, netplan, motd and enable legacy networking)

Two interfaces are used, one for the node management and the second one for the provider network.

In my case, the interfaces are eno1 and en02.  Update /etc/network/interfaces with following contents

source-directory /etc/network/interfaces.d

auto eno1
iface eno1 inet static
  address 10.0.3.1/16
  gateway 10.0.0.1

auto eno2
iface eno2 inet manual

Create /etc/systemd/network/eno2 with following contents

[Match]
Name=eno2

[Network]
LinkLocalAddressing=no
IPv6AcceptRA=no

Stop, disable and mask apparmor

systemctl stop apparmor
systemctl disable apparmor
systemctl mask apparmor

Install chrony for NTP requirements

apt install -y chrony

Update /etc/chrony/chrony.conf – Comment out the pool configurations  and add only one NTP server to sync with – my preference

#pool ntp.ubuntu.com iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
server 10.0.0.5

Restart chrony and verify NTP synch

service chrony restart
chronyc sources

210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 10.0.0.5              1    6     1      7 -17us[-17us] +/- 2ms

Add OpenStack repository and install OpenStack-client

apt -y install software-properties-common 
add-apt-repository cloud-archive:xena
apt update
apt upgrade -y
apt install -y python3-openstackclient

Install MariaDB

apt install -y mariadb-server python3-pymysql

Create /etc/mysql/mariadb.conf.d/99-openstack.cnf with following contents  (Do not cut and paste from here, some white spaces cause problems)

[mysqld]
bind-address = 10.0.3.1
default-storage-engine = innodb
innodb_buffer_pool_size = 4294967296
max_connections = 4096
skip-name-resolve
max_allowed_packet = 256M
collation-server = utf8_general_ci
character-set-server = utf8

Restart MariaDB

service mariadb restart

Secure the installation 

root@controller:~# mysql_secure_installation

Set root password? [Y/n] n
… skipping.

Remove anonymous users? [Y/n] y
… Success!

Disallow root login remotely? [Y/n] y
… Success!

Remove test database and access to it? [Y/n] y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reload privilege tables now? [Y/n] y
… Success!

Install RabbitMQ server and add a user account for use with OpenStack.  

apt install -y rabbitmq-server

rabbitmqctl add_user openstack password
Adding user "openstack" ...

rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...

Install Memcached

apt install -y memcached python3-memcache

Edit /etc/memcached.conf and update binding address with 10.0.3.1

-l 10.0.3.1

Install etcd 

apt install -y etcd

Update configurations in /etc/default/etcd as shown below 

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

Restart memcached and etcd

systemctl restart memcached etcd

The following packages were required to be installed without which I was not able to use the OpenStack cli client.

apt install -y python3-gi gobject-introspection gir1.2-gtk-3.0

[  1 /9  : Pre-requisites  ]                                                      [  Next: Keystone (2 / 9)  ]

Recent Posts

  • Openstack Xena on Ubuntu 20.04 – Cinder
  • Preparing custom Debian 11 MATE image
  • Setup Ubuntu 20.04 repository mirror server
  • Preparing custom Debian 11 server cloud image
  • Complile Linux Kernel (on Debian 11)
  • Openstack Xena – Test Home Lab
  • Openstack Xena on Ubuntu 20.04 – Horizon
  • Openstack Xena on Ubuntu 20.04 -Home Lab
  • Openstack Xena on Ubuntu 20.04 – Neutron
  • Openstack Xena on Ubuntu 20.04 – Nova

Archives

  • April 2022
  • March 2022
  • February 2022
  • December 2021
  • October 2021
  • September 2021
  • October 2020
  • February 2020
  • January 2020
  • December 2019
© 2023 Home Lab | Powered by Minimalist Blog WordPress Theme