https://github.com/scalar-labs/scalar-jepsen
Jepsen tests for ScalarDB and ScalarDL
https://github.com/scalar-labs/scalar-jepsen
jepsen-tests
Last synced: 5 months ago
JSON representation
Jepsen tests for ScalarDB and ScalarDL
- Host: GitHub
- URL: https://github.com/scalar-labs/scalar-jepsen
- Owner: scalar-labs
- Created: 2019-06-06T06:38:33.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-02T20:45:31.000Z (6 months ago)
- Last Synced: 2024-11-02T21:25:53.611Z (6 months ago)
- Topics: jepsen-tests
- Language: Clojure
- Homepage:
- Size: 408 KB
- Stars: 45
- Watchers: 11
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# Run tests with Jepsen Docker
1. Move to the docker directory
```sh
$ cd docker
```
2. Run docker-compose
```sh
$ docker-compose up -d
```
3. Enter the control node
```sh
$ docker exec -it jepsen-control bash
```
4. Run a test
```
# cd /scalar-jepsen/cassandra
# lein run test --workload lwt --ssh-private-key ~/.ssh/id_rsa
```
- Check README in each test for more detail
- `--ssh-private-key` should be always set to specify the SSH key
- `--workload` specifies a test workload. previously we used `--test`.
- `--nemesis` sets `none`, `partition`, `clock`, or `crash` (default: `none`)
- `--admin` sets `none`, `join` or `flush` (default: `none`)# Run tests without Docker
1. Launch debian machines as a control machine and Cassandra nodes
- We recommend 1 control machine and 5 node machines
- You can decrease the number of nodes. If you do so then you will need to specify the nodes when starting a test.
2. Install Java8 on each machine
```sh
sudo apt install openjdk-8-jre
```3. Install Leiningen (https://leiningen.org/) on the control machine
4. Make an SSH key pair for Jepsen to login nodes from the control machine
5. Register the public key as root on each node```sh
$ sudo echo ssh-rsa ... >> /root/.ssh/authorized_keys
```6. Configure `/etc/hosts` on each machine
```sh
$ sudo sh -c "cat << EOF >> /etc/hosts
n1
n2
n3
n4
n5
EOF"
```7. Run a test on the control machine
```sh
$ cd ${SCALAR_JEPSEN}/cassandra
$ lein run test --workload lwt --ssh-private-key ~/.ssh/id_rsa
```