mirror of https://github.com/apache/cassandra
35 lines
1.5 KiB
Plaintext
35 lines
1.5 KiB
Plaintext
== Overview
|
|
|
|
This directory contains code primarily for cqlsh. cqlsh uses cqlshlib in this directory.
|
|
Currently, cqlshlib supports Python 2 as well as Python 3. Support for Python 3 is relatively
|
|
new.
|
|
|
|
== Requirements
|
|
. Python 3 and 2.7 (for cqlsh)
|
|
. virtualenv
|
|
. Docker (optional)
|
|
|
|
== Running tests
|
|
|
|
In order to run tests 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 -
|
|
|
|
$ docker build . --file Dockerfile.ubuntu.py3 -t ubuntu-lts-py3
|
|
|
|
Next, run cqlsh inside the newly built image -
|
|
|
|
$ docker run -v $CASSANDRA_DIR:/code -it ubuntu-lts-py3:latest /code/bin/cqlsh host.docker.internal
|
|
|
|
If `host.docker.internal` isn't supported, then you can use `--net="host"` with `docker run`:
|
|
|
|
$ docker run --net="host" -v $CASSANDRA_DIR:/code -it ubuntu-lts-py3:latest /code/bin/cqlsh
|
|
|
|
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. |