memgraph/tests/jepsen
Marko Barišić 1c95c3dc59
Add step to refresh jepsen cluster before test (#1667)
refresh jepsen during diff workflow
2024-01-26 10:50:03 +00:00
..
doc Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
resources Improve logging if replica cannot recover using curr WAL file (#1086) 2023-08-01 10:33:46 +02:00
src/jepsen/memgraph Remove node argument from start-stop Jepsen functions (#1091) 2023-08-01 00:06:57 +02:00
test/jepsen Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
.gitignore Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
CHANGELOG.md Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
jepsen_0.3.0.patch Improve e2e and replication testing setup (#1061) 2023-07-19 21:18:43 +02:00
project.clj Improve e2e and replication testing setup (#1061) 2023-07-19 21:18:43 +02:00
README.md Improve e2e and replication testing setup (#1061) 2023-07-19 21:18:43 +02:00
run.sh Add step to refresh jepsen cluster before test (#1667) 2024-01-26 10:50:03 +00:00

Jepsen Memgraph Test Suite

NOTE: Jepsen can only connect to the SSH server on the default 22 port. --node flag only takes the actual address (:port doesn't work).

Jepsen run under CI:

cd tests/jepsen
./run.sh test --binary ../../build/memgraph --run-args "test-all --node-configs resources/node-config.edn" --ignore-run-stdout-logs --ignore-run-stderr-logs

Local run of each test (including setup):

cd tests/jepsen
./run.sh cluster-up
docker exec -it jepsen-control bash
cd memgraph
lein run test --workload bank --node-configs resources/node-config.edn
lein run test --workload large --node-configs resources/node-config.edn

Logs are located under jepsen-control:/jepsen/memgraph/store.

If you setup cluster manually go to jepsen-control Docker container and ssh to all cluster nodes to save their host keys in known_hosts.

docker exec -it jepsen-control bash
ssh n1 -> yes -> exit
ssh n2 -> yes -> exit
ssh n3 -> yes -> exit
ssh n4 -> yes -> exit
ssh n5 -> yes -> exit