nurturenature / fuzz_dist

Property testing distributed applications with fault injection and verification.
Apache License 2.0
4 stars 1 forks source link

Docker support WIP (antidote is build in docker with the latest erlang) #37

Closed define-null closed 2 years ago

define-null commented 2 years ago

Hi, I was curious about you jepsen tests for AntidoteDB and noticed that there is only support for lxc at the moment. I decided to have a look if I can easily integrate docker, with AntidoteDB that is build in the same base docker image, which is used in jepsen tests. I can see that in db.clj you expect antidote release to be present in _build/default/rel/antidote, however I couldn't find where do you clone and build it. It seems like some base makefile is missing, so I wonder if you can guide me how does your build step look like?

update: It seems like local paths are hard-corded in util.clj at the moment, maybe there is a good way to parametrize it, so that proper paths could be used in both docker and lxc?

nurturenature commented 2 years ago

Thanks for the comments!

As you noted, the documentation is incomplete, did a quick update, more to come.

Opened an issue, #38, to support specifying a local file, git, or a container, to install the db.

And as for Docker itself, the issue is Docker's lack of support/reliability for OS'ish containers (vs app or service) and Jepsen's use of system capabilities, privs, to inject faults.

I started out trying to get a full Docker system working, see:

Tried working with the Jepsen project:

And so on. Still thinking about alternatives...

P.S. apologies for the delay, and congratulations with AntidoteDB!

define-null commented 2 years ago

Interesting, I will be following your work in this direction :) Thanks for the update!

nurturenature commented 2 years ago

For the current state of Docker and systemd containers see Jepsen issue.

Current Docker updates do not support the ability to docker compose systemd containers on Linux and Windows and require a deprecated flag on macOS.

nurturenature commented 2 years ago

Thanks for your patience.

I ultimately did create a literal jepsen-docker-workaround to build/run AntidoteDB w/Jepsen.

Please ask if any questions or desired changes.