k8ssandra / management-api-for-apache-cassandra

RESTful / Secure Management Sidecar for Apache Cassandra
Apache License 2.0
71 stars 51 forks source link

python 2 missing on ubi cass-management-api images 3.11 #480

Closed zencircle closed 4 months ago

zencircle commented 5 months ago

python2(python 2.7) is not included which break cqlsh

image: docker.io/k8ssandra/cass-management-api:3.11.16-ubi8

See installed packages here https://github.com/k8ssandra/management-api-for-apache-cassandra/blob/master/Dockerfile-oss.ubi8#L130

kubectl -n k8ssandra-operator exec -it cluster1-main-az-1a-sts-0 -c cassandra  -- /bin/bash

[cassandra@cluster1-main-az-1a-sts-0 /]$ cqlsh
No appropriate python interpreter found.

[cassandra@cluster1-main-az-1a-sts-0 /]$ cat ~/bin/cqlsh
#!/bin/sh
python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x03000000))' 2>/dev/null \
    && exec python "`python -c "import os;print(os.path.dirname(os.path.realpath('$0')))"`/cqlsh.py" "$@"
for pyver in 2.7; do
    which python$pyver > /dev/null 2>&1 && exec python$pyver "`python$pyver -c "import os;print(os.path.dirname(os.path.realpath('$0')))"`/cqlsh.py" "$@"
done
echo "No appropriate python interpreter found." >&2
exit 1

[cassandra@cluster1-main-az-1a-sts-0 /]$ rpm -qa | grep python
python3-setuptools-wheel-39.2.0-7.el8.noarch
platform-python-pip-9.0.3-23.el8.noarch
platform-python-3.6.8-56.el8_9.3.x86_64
python3-pip-9.0.3-23.el8.noarch
python3-pip-wheel-9.0.3-23.el8.noarch
platform-python-setuptools-39.2.0-7.el8.noarch
python3-libs-3.6.8-56.el8_9.3.x86_64
python3-setuptools-39.2.0-7.el8.noarch
python36-3.6.8-38.module+el8.9.0+20976+d3c38525.x86_64
zencircle commented 5 months ago

Ubuntu based image does not have the same issue

docker run -it k8ssandra/cass-management-api:3.11.17 /bin/bash
cassandra@c27380c52a29:/$ cqlsh --version
cqlsh 5.0.1
cassandra@c27380c52a29:/$ apt list --installed | grep python

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libpython2-stdlib/now 2.7.18-3 amd64 [installed,local]
libpython2.7-minimal/now 2.7.18-13ubuntu1.2 amd64 [installed,local]
libpython2.7-stdlib/now 2.7.18-13ubuntu1.2 amd64 [installed,local]
python2-minimal/now 2.7.18-3 amd64 [installed,local]
python2.7-minimal/now 2.7.18-13ubuntu1.2 amd64 [installed,local]
python2.7/now 2.7.18-13ubuntu1.2 amd64 [installed,local]
python2/now 2.7.18-3 amd64 [installed,local]
emerkle826 commented 5 months ago

Thanks for reporting this. I have a PR up here that should fix it and catch missing cqlsh dependencies in the future.