diff --git a/pylib/Dockerfile.ubuntu.py3 b/pylib/Dockerfile.ubuntu.py3 deleted file mode 100644 index 55a4771098ac..000000000000 --- a/pylib/Dockerfile.ubuntu.py3 +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -FROM ubuntu:bionic -RUN apt-get update && apt-get install -y python3-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 diff --git a/pylib/Dockerfile.ubuntu.py311 b/pylib/Dockerfile.ubuntu.py311 deleted file mode 100644 index aa10923af028..000000000000 --- a/pylib/Dockerfile.ubuntu.py311 +++ /dev/null @@ -1,13 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -FROM ubuntu:bionic -RUN apt-get update && apt-get install -y python3.11-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1 diff --git a/pylib/Dockerfile.ubuntu.py38 b/pylib/Dockerfile.ubuntu.py38 deleted file mode 100644 index 9697baee35f5..000000000000 --- a/pylib/Dockerfile.ubuntu.py38 +++ /dev/null @@ -1,13 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -FROM ubuntu:bionic -RUN apt-get update && apt-get install -y python3.8-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 diff --git a/pylib/README.asc b/pylib/README.asc index 3d56c81f9084..78ba87af0107 100644 --- a/pylib/README.asc +++ b/pylib/README.asc @@ -1,9 +1,10 @@ == Overview This directory contains code primarily for cqlsh. cqlsh uses cqlshlib in this directory. +Currently, cqlshlib drops support for Python 2.7. Python 3.6 and 3.7 are deprecated, making Python 3.8+ the recommended version. == Requirements -. Python 3.8-3.11 (for cqlsh) +. Python 3.8+ (for cqlsh) . virtualenv . Docker (optional) @@ -27,22 +28,18 @@ You can run tests on the python style compliance issues with: In order to run tests in a virtual environment for cqlshlib, run cassandra-cqlsh-tests.sh in this directory. It will automatically setup a virtualenv with the appropriate version of Python and run tests inside it. -There are Dockerfiles that can be used to test whether cqlsh works with a default, barebones -Python installation. Assuming Cassandra's source is checked out at `$CASSANDRA_DIR`. To test, first -build the Docker image containing the barebones Python installation - +To run cqlsh using publicly available Docker images to connect to Cassandra on the same host, with `$CASSANDRA_DIR` pointing to either the source or install directory where `bin/cqlsh` is located. - $ docker build . --file Dockerfile.ubuntu.py3 -t ubuntu-lts-py3 +For Python 3.11: -Next, run cqlsh inside the newly built image - + $ docker run -v $CASSANDRA_DIR:/code -it python:3.11-slim /code/bin/cqlsh host.docker.internal - $ docker run -v $CASSANDRA_DIR:/code -it ubuntu-lts-py3:latest /code/bin/cqlsh host.docker.internal +For Python 3.8: -If `host.docker.internal` isn't supported, then you can use `--net="host"` with `docker run`: + $ docker run -v $CASSANDRA_DIR:/code -it python:3.8-slim /code/bin/cqlsh host.docker.internal - $ docker run --net="host" -v $CASSANDRA_DIR:/code -it ubuntu-lts-py3:latest /code/bin/cqlsh +If `host.docker.internal` isn't supported, then you can use `--net="host"`: -This will try to spawn a cqlsh instance inside the Docker container running Ubuntu LTS (18.04) -with minimal Python installation. It will try to connect to the Cassandra instance running on the -Docker host at port 9042. If you have Cassandra running elsewhere, replace host.docker.internal -with the IP / hostname as usual. Please ensure that the IP / host is accessible from _within_ the -Docker container. + $ docker run --net="host" -v $CASSANDRA_DIR:/code -it python:3.11-slim /code/bin/cqlsh + +This will try to spawn a cqlsh instance inside the Docker container with a minimal Python installation. It will try to connect to the Cassandra instance running on the Docker host at port 9042. If you have Cassandra running elsewhere, replace host.docker.internal with the IP / hostname as usual. Please ensure that the IP / host is accessible from _within_ the Docker container. \ No newline at end of file