jepsen-io / jepsen

A framework for distributed systems verification, with fault injection
6.82k stars 718 forks source link

Failed to run jepsen sample test on ubuntu and ubuntu lxc containers #129

Open hwml opened 8 years ago

hwml commented 8 years ago

Does anyone successfully run jepsen testing on ubuntu 14.04 with ubuntu containers? Since ubuntu containers do not take root password as described in lxc.md, I simply set PasswordAuthentication no to allow ssh in. However, it fails to locate sysvinit-core when running the test. I just wonder if I have to create debain containers instead?


lein test aerospike.core-test INFO jepsen.os.debian - :n4 setting up debian INFO jepsen.os.debian - :n1 setting up debian INFO jepsen.os.debian - :n5 setting up debian INFO jepsen.os.debian - :n3 setting up debian INFO jepsen.os.debian - :n2 setting up debian INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit}

lein test :only aerospike.core-test/counter

ERROR in (counter) (FutureTask.java:122) Uncaught exception, not in assertion. expected: nil INFO jepsen.os.debian - :n4 setting up debian INFO jepsen.os.debian - :n5 setting up debian INFO jepsen.os.debian - :n2 setting up debian INFO jepsen.os.debian - :n3 setting up debian INFO jepsen.os.debian - :n1 setting up debian INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} INFO jepsen.os.debian - Installing #{man-db curl sysvinit-core faketime unzip wget iptables sysvinit} actual: java.util.concurrent.ExecutionException: java.lang.RuntimeException: E: Unable to locate package sysvinit-core E: Package 'sysvinit' has no installation candidate

Reading package lists... Building dependency tree... Reading state information... Package sysvinit is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: upstart sysvinit-utils

at java.util.concurrent.FutureTask.report (FutureTask.java:122) java.util.concurrent.FutureTask.get (FutureTask.java:192) clojure.core$deref_future.invoke (core.clj:2180) clojure.core$future_call$reify6320.deref (core.clj:6420) clojure.core$deref.invoke (core.clj:2200) clojure.core$map$fn4245.invoke (core.clj:2559) clojure.lang.LazySeq.sval (LazySeq.java:40) clojure.lang.LazySeq.seq (LazySeq.java:56) clojure.lang.RT.seq (RT.java:484) clojure.core$seq.invoke (core.clj:133) clojure.core$dorun.invoke (core.clj:2855) jepsen.core$on_nodes.invoke (core.clj:86) jepsen.core$runBANG$fn7561.invoke (core.clj:391) jepsen.core$runBANG.invoke (core.clj:362) aerospike.core_test/fn (core_test.clj:16) clojure.test$test_var$fn7187.invoke (test.clj:704) clojure.test$test_var.invoke (test.clj:704) clojure.test$test_vars$fn7209$fn7214.invoke (test.clj:722) clojure.test$default_fixture.invoke (test.clj:674) clojure.test$test_vars$fn7209.invoke (test.clj:722) clojure.test$default_fixture.invoke (test.clj:674) clojure.test$test_vars.invoke (test.clj:718) clojure.test$test_all_vars.invoke (test.clj:728) clojure.test$test_ns.invoke (test.clj:747) clojure.core$map$fn4245.invoke (core.clj:2559) clojure.lang.LazySeq.sval (LazySeq.java:40) clojure.lang.LazySeq.seq (LazySeq.java:49) clojure.lang.Cons.next (Cons.java:39) clojure.lang.RT.boundedLength (RT.java:1654) clojure.lang.RestFn.applyTo (RestFn.java:130) clojure.core$apply.invoke (core.clj:626) clojure.test$run_tests.doInvoke (test.clj:762) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:624) user$eval85$fn144$fn175.invoke (form-init23722721549352995.clj:1) user$eval85$fn144$fn145.invoke (form-init23722721549352995.clj:1) user$eval85$fn__144.invoke (form-init23722721549352995.clj:1) user$eval85.invoke (form-init23722721549352995.clj:1) clojure.lang.Compiler.eval (Compiler.java:6703) clojure.lang.Compiler.eval (Compiler.java:6693) clojure.lang.Compiler.load (Compiler.java:7130) clojure.lang.Compiler.loadFile (Compiler.java:7086) clojure.main$load_script.invoke (main.clj:274) clojure.main$init_opt.invoke (main.clj:279) clojure.main$initialize.invoke (main.clj:307) clojure.main$null_opt.invoke (main.clj:342) clojure.main$main.doInvoke (main.clj:420) clojure.lang.RestFn.invoke (RestFn.java:421) clojure.lang.Var.invoke (Var.java:383) clojure.lang.AFn.applyToHelper (AFn.java:156) clojure.lang.Var.applyTo (Var.java:700) clojure.main.main (main.java:37) Caused by: java.lang.RuntimeException: E: Unable to locate package sysvinit-core E: Package 'sysvinit' has no installation candidate

Reading package lists... Building dependency tree... Reading state information... Package sysvinit is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: upstart sysvinit-utils

at jepsen.control$throw_on_nonzero_exit.invoke (control.clj:105) jepsen.control$execSTAR.doInvoke (control.clj:121) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:624) jepsen.control$exec.doInvoke (control.clj:135) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:630) jepsen.os.debian$install.invoke (debian.clj:98) jepsen.os.debian$reify8012$fn8013.invoke (debian.clj:132) jepsen.os.debian$reify8012.setupBANG (debian.clj:130) jepsen.os$eval5601$fn5602$G55935606.invoke (os.clj:4) jepsen.os$eval5601$fn5602$G55925611.invoke (os.clj:4) clojure.lang.AFn.applyToHelper (AFn.java:160) clojure.lang.AFn.applyTo (AFn.java:144) clojure.core$apply.invoke (core.clj:626) clojure.core$partial$fn4228.doInvoke (core.clj:2468) clojure.lang.RestFn.invoke (RestFn.java:421) jepsen.core$on_nodes$fn7463.invoke (core.clj:85) clojure.core$pmap$fn6328$fn6329.invoke (core.clj:6466) clojure.core$binding_conveyor_fn$fn4145.invoke (core.clj:1910) clojure.lang.AFn.call (AFn.java:18) java.util.concurrent.FutureTask.run (FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617) java.lang.Thread.run (Thread.java:745)

lein test :only aerospike.core-test/cas-register

ERROR in (cas-register) (FutureTask.java:122) Uncaught exception, not in assertion. expected: nil actual: java.util.concurrent.ExecutionException: java.lang.RuntimeException: E: Unable to locate package sysvinit-core E: Package 'sysvinit' has no installation candidate

Reading package lists... Building dependency tree... Reading state information... Package sysvinit is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: upstart sysvinit-utils

at java.util.concurrent.FutureTask.report (FutureTask.java:122) java.util.concurrent.FutureTask.get (FutureTask.java:192) clojure.core$deref_future.invoke (core.clj:2180) clojure.core$future_call$reify6320.deref (core.clj:6420) clojure.core$deref.invoke (core.clj:2200) clojure.core$map$fn4245.invoke (core.clj:2559) clojure.lang.LazySeq.sval (LazySeq.java:40) clojure.lang.LazySeq.seq (LazySeq.java:56) clojure.lang.RT.seq (RT.java:484) clojure.core$seq.invoke (core.clj:133) clojure.core$dorun.invoke (core.clj:2855) jepsen.core$on_nodes.invoke (core.clj:86) jepsen.core$runBANG$fn7561.invoke (core.clj:391) jepsen.core$runBANG.invoke (core.clj:362) aerospike.core_test/fn (core_test.clj:9) clojure.test$test_var$fn7187.invoke (test.clj:704) clojure.test$test_var.invoke (test.clj:704) clojure.test$test_vars$fn7209$fn7214.invoke (test.clj:722) clojure.test$default_fixture.invoke (test.clj:674) clojure.test$test_vars$fn7209.invoke (test.clj:722) clojure.test$default_fixture.invoke (test.clj:674) clojure.test$test_vars.invoke (test.clj:718) clojure.test$test_all_vars.invoke (test.clj:728) clojure.test$test_ns.invoke (test.clj:747) clojure.core$map$fn4245.invoke (core.clj:2559) clojure.lang.LazySeq.sval (LazySeq.java:40) clojure.lang.LazySeq.seq (LazySeq.java:49) clojure.lang.Cons.next (Cons.java:39) clojure.lang.RT.boundedLength (RT.java:1654) clojure.lang.RestFn.applyTo (RestFn.java:130) clojure.core$apply.invoke (core.clj:626) clojure.test$run_tests.doInvoke (test.clj:762) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:624) user$eval85$fn144$fn175.invoke (form-init23722721549352995.clj:1) user$eval85$fn144$fn145.invoke (form-init23722721549352995.clj:1) user$eval85$fn__144.invoke (form-init23722721549352995.clj:1) user$eval85.invoke (form-init23722721549352995.clj:1) clojure.lang.Compiler.eval (Compiler.java:6703) clojure.lang.Compiler.eval (Compiler.java:6693) clojure.lang.Compiler.load (Compiler.java:7130) clojure.lang.Compiler.loadFile (Compiler.java:7086) clojure.main$load_script.invoke (main.clj:274) clojure.main$init_opt.invoke (main.clj:279) clojure.main$initialize.invoke (main.clj:307) clojure.main$null_opt.invoke (main.clj:342) clojure.main$main.doInvoke (main.clj:420) clojure.lang.RestFn.invoke (RestFn.java:421) clojure.lang.Var.invoke (Var.java:383) clojure.lang.AFn.applyToHelper (AFn.java:156) clojure.lang.Var.applyTo (Var.java:700) clojure.main.main (main.java:37) Caused by: java.lang.RuntimeException: E: Unable to locate package sysvinit-core E: Package 'sysvinit' has no installation candidate

Reading package lists... Building dependency tree... Reading state information... Package sysvinit is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: upstart sysvinit-utils

at jepsen.control$throw_on_nonzero_exit.invoke (control.clj:105) jepsen.control$execSTAR.doInvoke (control.clj:121) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:624) jepsen.control$exec.doInvoke (control.clj:135) clojure.lang.RestFn.applyTo (RestFn.java:137) clojure.core$apply.invoke (core.clj:630) jepsen.os.debian$install.invoke (debian.clj:98) jepsen.os.debian$reify8012$fn8013.invoke (debian.clj:132) jepsen.os.debian$reify8012.setupBANG (debian.clj:130) jepsen.os$eval5601$fn5602$G55935606.invoke (os.clj:4) jepsen.os$eval5601$fn5602$G55925611.invoke (os.clj:4) clojure.lang.AFn.applyToHelper (AFn.java:160) clojure.lang.AFn.applyTo (AFn.java:144) clojure.core$apply.invoke (core.clj:626) clojure.core$partial$fn4228.doInvoke (core.clj:2468) clojure.lang.RestFn.invoke (RestFn.java:421) jepsen.core$on_nodes$fn7463.invoke (core.clj:85) clojure.core$pmap$fn6328$fn6329.invoke (core.clj:6466) clojure.core$binding_conveyor_fn$fn4145.invoke (core.clj:1910) clojure.lang.AFn.call (AFn.java:18) java.util.concurrent.FutureTask.run (FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617) java.lang.Thread.run (Thread.java:745)

Ran 2 tests containing 2 assertions. 0 failures, 2 errors. Tests failed.

nhahtdh commented 8 years ago

Since you are running on Ubuntu 14.04 (which has yet to move to systemd), remove sysvinit and sysvinit-core in src/jepsen/os/debian.clj at the end of the file. However, you would need to modify the dependency in aerospike/project.clj to point to the current snapshot version (to get lein test to run your modified code).