When upgrading CentOS on a Scylla node, Scylla setup script, like scylla_prepare or scylla_setup fails with the following error:
traceback (most recent call last): File "/sbin/scylla_setup", line 29, in <module> from scylla_util import * File "/usr/lib/scylla/scylla_util.py", line 31, in <module> import yaml ModuleNotFoundError: No module named 'yaml'
The source cause is a change in EPEL repository upgrade, breaking backward compatibility by moving from Python34 to Python36, and dropping PyYAML library in the process. Scylla uses PyYAML in a few of its Python scripts.
Install the python36 version of PyYAML
sudo yum install python36-PyYAML -y
In future releases, we will provide a more robust solution by encapsulating Python as part of Scylla Installation. More on this in the blog post The Complex Path for a Simple Portable Python Interpreter, or Snakes on a Data Plane.