tenks/doc/source/install.rst
Pierre Riteau 9a0d727d1d Update list of supported Linux distributions
Change-Id: Ic7904271777b2bce60eb07bacdd67eab81ea3233
2024-10-31 12:10:40 +01:00

2.2 KiB

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 run), keep your virtualenv active. If not, deactivate it:

(tenks) $ deactivate