elastic / rally

Macrobenchmarking framework for Elasticsearch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Document that offline installation method requires python3.11

herrBez opened this issue · comments

The Rally Installation Documentation page states that the minimum requirement for running Rally is python >= 3.8. When following the offline installation method the installation fails with python3.9 because some of the dependencies like yappi, zstandard and aiohttp in the distribution package are tight to version 3.11 of python.

Such constraint should be either documented or the missing wheel files should be included in the distribution package (e.g., yappi 1.4.0 for python 3.8, 3.9, 3.10).

Workaround
As a workaround we can execute on a machine able to reach the internet:

  1. unzip the distribution package
  2. Until the ./install.sh does not succeed:
    a. execute ./install.sh file
    b. download the packages manually (e.g., pip download yappi==1.4.0) and copy it into the bin folder
    c. repeat from step 2
  3. create a new tar.gz with the dependencies for the desired python version (tar -czvf esrally-dist-linux-2.10.0-39.tar.gz esrally-dist-2.10.0/

Rally version (get with esrally --version): 2.10.0

Configuration file (located in ~/.rally/rally.ini): N/A

JVM version: N/A

OS version: Rocky Linux 9 on GCP (RHEL on-premise)

Description of the problem including expected versus actual behavior:

Steps to reproduce:

  1. Follow the offline installation method on a VM with python3.9 (e.g., Rocky Linux 9 on GCP)

Provide logs (if relevant):

Installing Rally 2.10.0...
[Omitted]
Processing ./bin/urllib3-1.26.18-py2.py3-none-any.whl (from esrally==2.10.0)
INFO: pip is looking at multiple versions of esrally to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement yappi==1.4.0 (from esrally) (from versions: none)
ERROR: No matching distribution found for yappi==1.4.0