Closed stevana closed 4 years ago
Few questions:
when-not dummy
, or is that a SSH only thing?undo-command-changes
?~ Yesnodes
to docker
and using .indexOf
to figure out the container name?Build seems broken because Could not find artifact elle:elle:jar:0.1.1-SNAPSHOT in clojars (https://repo.clojars.org/)
.
Ah, I just cut that snapshot yesterday. It's on Clojars now, sorry!
Shall I wrap all operations in when-not dummy, or is that a SSH only thing?
I think... yeah, you should probably respect dummy for now. It might be the case that we can get rid of dummy altogether and replace it with a no-op implementation of the Remote protocol--it was invented for cases where people wanted to run tests without any SSH connections at all; e.g. testing third-party APIs.
Moved to separate namespace, put a big fat warning saying this isn't the recommend way of running Jepsen
Stole @keynslug's code to improve escaping and error handling (I hope that's ok with you @keynslug?)
Removed the need to pass in nodes
and the ugly .indexOf
trick to figure out the host name, inspired by @keynslug but ultimately a different approach
I didn't respect dummy in the end, it seemed enough that the use case you mention "it was invented for cases where people wanted to run tests without any SSH connections at all; e.g. testing third-party APIs." is already covered and it seems unnecessary to support it in two different ways (i.e. via DockerRemote also). I'm happy to try to have a go at the noop-remote
in a separate PR though.
Thoughts?
Nice work! Yeah, this addresses all my concerns, and I don't see any obvious pitfalls. I also agree, on further thought, that dummy+ssh works fine; no need to support it here. Let's go! :)
This is useful for avoiding the jepsen-control jumpbox container in the docker-compose based workflow. Instead of
docker exec
ing into the jepsen-control container and using ssh from there to do stuff to the nodes, this change lets usdocker exec/cp
directly into the nodes from our local machine -- thus simplifying the developer workflow.