Arquillian Spacelift and Docker Machine

discussion

#1

This is a crazy idea I am having right now, when I download a test I would like to go to the IDE right click run the test and that’s all, without worrying about if I have to install something or not. So my crazy idea is, before launching any test check a property that if it is true, then it will run docker command. If it returns something then everything “should” be ok, if not it will use Arquillian spacelift to download docker-machine and install boot2docker. Of course you still need Virtual Box, but at least we are one more step closer to be able to automate everything.

Too much crazy? Ideas?


#2

I guess the question is ‘where to stop’ ?

Docker-machine is easy enough as it’s just a script, but it has certain requirements as well… Depending on os etc, will the docker-machine you download match the version of docker installed… It quickly becomes complex.

I would start by providing detailed ‘exception’ messages for the cases where a ‘auto install’ could be an option.

e.g.

docker-machine not found, but boot2docker version N found. Please download docker-machine version x from url and install it under y…

docker-machine not found, not boot2docker. Please download docker-machine version x from url and install it under y and boot2docker version x for mac from url…

If we could ‘log’ all those cases to the user and they ‘eventually’ end up correct, we could consider automating the whole thing in the next step.


#3

:+1: one question for information for example:

Executing test using Docker-Machine, or configuration parameters like docker host, … do you think it is better to log everything using Logger framework, or on the other side use System.out like it been done in Arquillian Recorder to avoid logging configuration problems.


#4

Yeah, the age old question :smile:

I think System.out is good for this for now… We can evaluate to add some abstraction later.