Installation¶
Assumptions¶
Some assumptions that are made about the configuration of your system are noted below.
It is assumed that…
…you already have an OpenStack cloud deployed, for which…
…the host from which Tenks is executed (localhost) has access to the OpenStack APIs. These are used for Ironic node enrolment and Nova flavor registration.
…the OpenStack OS_* authentication variables are present in localhost’s environment. These can typically be sourced from your openrc file.
… a distinct network device (interface or bridge) is present for each physical network that a hypervisor is connected to.
Pre-Requisites¶
Currently, Tenks supports the following OS distributions on the hypervisor:
CentOS Stream 9
Debian Bullseye (11)
Rocky Linux 9
Ubuntu Jammy 22.04
To avoid conflicts with Python packages installed by the system package manager
it is recommended to install Tenks in a virtualenv. Ensure that the
virtualenv
Python module is available. For cloning and working with the
Tenks source code repository, Git is required. These pre-requisites can be
installed with a command such as:
$ yum install --assumeyes python-virtualenv git
If using Open vSwitch for networking, it must be installed and running. Please see the Open vSwitch docs for more details.
Tenks Installation¶
Create a virtualenv for Tenks. For example:
$ virtualenv tenks
Activate the virtualenv and update pip:
$ source tenks/bin/activate
(tenks) $ pip install --upgrade pip
Obtain the Tenks source code and change into the directory. For example:
(tenks) $ git clone https://opendev.org/openstack/tenks.git
(tenks) $ cd tenks
Install Tenks and its requirements using the source code checkout:
(tenks) $ pip install .
Tenks has dependencies on Ansible roles that are hosted by Ansible Galaxy. These can be installed by a command such as:
(tenks) $ ansible-galaxy install --role-file=requirements.yml --roles-path=ansible/roles/
If you now wish to run Tenks (see Running Tenks), keep your virtualenv active. If not, deactivate it:
(tenks) $ deactivate