Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/5492 to look at the new patch set (#13). Change subject: [kudu-jepsen] Kudu Jepsen tests ...................................................................... [kudu-jepsen] Kudu Jepsen tests This patch contains David's code for the initial kudu-jepsen tests as it was before KUDU-798 was resolved (i.e. as it was when it was failing) and additional updates/fixes: * Extra nemeses for the read/write register linearizability test * Run multiple test scenarios in the scope of the register test * Starting up master server: wait for the catalog manager * Other unsorted fixes for more robust operation The clojure code is integrated into the Kudu maven build and is compiled along with the other projects in a separate 'jepsen' profile. The patch also adds functionality to run the kudu-jepsen tests from the clojure-maven-plugin. The test uses the build machine as the Jepsen control node, running the control logic and the Kudu Java client there. All Jepsen control operations on the DB nodes (i.e. Kudu master and tserver nodes) are run via SSH. The private SSH key should be set prior to running the test: 1. The public part of the SSH key should be added into the 'authorized_keys' file for the root user on all cluster nodes. 2. The private part of the SSH key should be provided to the test either by: * adding the key into the SSH agent on the control node * specifying the path to the key via 'sshKeyPath' property Having the Kudu cluster provisioned and SSH keys deployed, to run the tests against the cluster with master node m0 and tserver nodes {t0..t4}, build the Kudu project from sources and then execute the following in the $KUDU_HOME/java/kudu-jepsen directory: mvn clojure:run -DmasterNodes=m0 -DtserverNodes="t0,t1,t2,t3,t4" after bulding the top-level project with mvn compile -Pjepsen Restrictions: 1. The Kudu cluster should consist of Linux machines of the same architecture and OS distro as the machine where the Kudu kudu-master, kudu-tserver, and the 'kudu' CLI utility are built. 2. As for now, the kudu-jepsen test runs on recent Debian distros only (jepsen supports only Debian Linux). Change-Id: I590c6e78840304b3131666c7037ff9a08dc77dea --- A java/kudu-jepsen/.gitignore A java/kudu-jepsen/README.adoc A java/kudu-jepsen/pom.xml A java/kudu-jepsen/resources/kudu.flags A java/kudu-jepsen/src/main/clojure/jepsen/kudu.clj A java/kudu-jepsen/src/main/clojure/jepsen/kudu/client.clj A java/kudu-jepsen/src/main/clojure/jepsen/kudu/nemesis.clj A java/kudu-jepsen/src/main/clojure/jepsen/kudu/register.clj A java/kudu-jepsen/src/main/clojure/jepsen/kudu/table.clj A java/kudu-jepsen/src/main/clojure/jepsen/kudu/util.clj A java/kudu-jepsen/src/test/clojure/jepsen/kudu_test.clj A java/kudu-jepsen/src/utils/kudu_test_runner.clj M java/pom.xml 13 files changed, 1,387 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/92/5492/13 -- To view, visit http://gerrit.cloudera.org:8080/5492 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I590c6e78840304b3131666c7037ff9a08dc77dea Gerrit-PatchSet: 13 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Dan Burkert <danburk...@apache.org> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>