X Tutup
Skip to content

Unixsocket support#125

Merged
marcuslinke merged 4 commits intodocker-java:masterfrom
gesellix-docker:unixsocket-rebased
Jan 21, 2015
Merged

Unixsocket support#125
marcuslinke merged 4 commits intodocker-java:masterfrom
gesellix-docker:unixsocket-rebased

Conversation

@marcuslinke
Copy link
Copy Markdown
Contributor

No description provided.

@marcuslinke marcuslinke mentioned this pull request Jan 14, 2015
@gesellix
Copy link
Copy Markdown
Contributor

Just for the record I'd like mention that @alexkamp initially created the code in gesellix-docker/docker-java@a230b21 and only contains some modifications to make ssl work with the ApacheConnector.
When this PR is merged, #20 can be closed.

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Sadly i can't get all integration tests running with it. EventsCmdImplTest.testEventStreaming hangs forever here. Any suggestions?

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke in which environment? http, https, boot2docker, unix? ... too many choices ;) can you post a stacktrace?

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Oh, sorry. I meant testing against boot2docker/MacOS with https connection. EventsCmdImplTest.testEventStreaming just hangs forever. No stacktrace.

@marcuslinke
Copy link
Copy Markdown
Contributor Author

This may due to latest changes as i merged your branch locally. Maybe i'm able to investigate this in the evening...

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke if you prefer, I can apply another rebase/squash based on the current master. I can investigate this evening, too, but I would prefer if you could try on your environment (boot2docker/mac/https).

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke looks like it's only an InputStream which isn't fully read in a test... I'm going to apply a fix and cleanup this PR

…fig.

other changes:
- make all unit tests succeed on Windows
- only create a container when needed
- read the complete response when copying a file from a container
@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke you can try again, now.

@sclassen
Copy link
Copy Markdown

I like to see this PR getting merged. I have ubuntu runnig with docker over https and socket in case you need another environment to run the integration tests on

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Unfortunately this doesn't solve the problem. @sclassen Could you test against https and socket also please?

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke The same hanging build? does it run, when you run it as the only test, i.e. with the mvn parameter -Dit.test=ClassName?

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Right. It hangs even when running as single test:

mvn clean integration-test -Dit.test=com.github.dockerjava.core.command.EventsCmdImplTest

19:54:13.967 INFO  c.g.d.c.AbstractDockerClientTest - ################################## STARTING testEventStreaming ##################################
19:54:13.978 INFO  c.g.d.c.AbstractDockerClientTest - Received event #4: com.github.dockerjava.api.model.Event@355d5435[status=destroy,id=a747c0739da1ef727f340165ba03262fe36c714f95238a6ab1c1182a222d8fbc,from=busybox:buildroot-2014.02,time=1421355091]
Jan 17, 2015 7:54:14 PM org.glassfish.jersey.filter.LoggingFilter log
INFORMATION: 15 * Sending client request on thread pool-4-thread-1
15 > GET https://192.168.59.103:2376/v1.15/events?since=1421520854

Looking with jconsole shows the following:

Name: main
State: WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@49cda1d4
Total blocked: 0  Total waited: 5

Stack trace: 
 sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133)
org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282)
org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64)
org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177)
org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170)
org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102)
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:240)
org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:227)
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:172)
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:194)
org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85)
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:465)
org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:667)
org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:664)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:228)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)
org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:664)
org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:424)
org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:333)
com.github.dockerjava.jaxrs.PullImageCmdExec.execute(PullImageCmdExec.java:32)
com.github.dockerjava.jaxrs.PullImageCmdExec.execute(PullImageCmdExec.java:16)
com.github.dockerjava.jaxrs.AbstrDockerCmdExec.exec(AbstrDockerCmdExec.java:47)
com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:28)
com.github.dockerjava.core.command.EventsCmdImplTest.generateEvents(EventsCmdImplTest.java:99)
com.github.dockerjava.core.command.EventsCmdImplTest.testEventStreaming(EventsCmdImplTest.java:86)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:643)
org.testng.internal.Invoker.invokeMethod(Invoker.java:559)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:723)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1027)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
org.testng.TestRunner.runWorkers(TestRunner.java:1030)
org.testng.TestRunner.privateRun(TestRunner.java:709)
org.testng.TestRunner.run(TestRunner.java:579)
org.testng.SuiteRunner.runTest(SuiteRunner.java:331)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:326)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:288)
org.testng.SuiteRunner.run(SuiteRunner.java:193)
org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:910)
org.testng.TestNG.runSuitesLocally(TestNG.java:879)
org.testng.TestNG.run(TestNG.java:787)
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:115)
org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:128)
org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:112)
org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:112)
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

@marcuslinke
Copy link
Copy Markdown
Contributor Author

After some minutes of hanging there appears

objc[34879]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke thanks, I'll try to reproduce it...

Would you like to try another way of building the project? I added a Dockerfile, which works on my machine as follows (you'll need to add the username, password, and email as env parameter):

$ docker build -t docker-java .
$ docker run --rm --env DOCKER_HOST="$DOCKER_HOST" --env DOCKER_USERNAME=... docker-java

Builds in that Docker image still work on my machine.

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke I made another try to build the project on boot2docker-windows w/ https - with success. It looks like it's a Mac specific issue, which might possibly go away when you try to run the Dockerfile. I'll ask my collegues next week to give it a try.

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke regarding the strange message after the hanging build, see this entry at StackOverflow and the links in its comments. It doesn't seem to be the reason for the hanging build, though.

@sclassen
Copy link
Copy Markdown

OK, I checked out the branch from gesellix and ran the integration tests. They pass using both https and socket.

Here are the .docker.io.properties files I used for running the tests:

Https:

docker.io.username=sclassendockerjava
docker.io.password=***
docker.io.email=sclassen@***.xxx

docker.io.url=https://localhost:2376

Socket:

docker.io.username=sclassendockerjava
docker.io.password=***
docker.io.email=sclassen@***.xxx

docker.io.url=unix:///var/run/docker.sock

@sclassen
Copy link
Copy Markdown

in the very first try I didn't specify the url. I only specify username, password, and email. With this setup the following two tests were failing

  • testEventStreamTimeBound
  • testEventStreaming

After I added the url (first https afterwards socket) all tests were green. What is even stranger is, that removing the url did not make the tests fail again. So I assume this may have something todo with the state of my user in the docker hub. I created a new user for running the integration tests...

the error was something like the following: could not remove container . No such process exists. (ResponseStatusExceptionFilter.java:48)

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Building the project from within docker does not work out of the box:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: TestNGMapConfigurator
23:27:00.753 INFO  c.g.d.c.AbstractDockerClientTest - ======================= BEFORETEST =======================
23:27:00.758 INFO  c.g.d.c.AbstractDockerClientTest - Connecting to Docker server
23:27:01.137 INFO  c.g.d.c.AbstractDockerClientTest - Pulling image 'busybox'
Jan 18, 2015 11:27:01 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread main
1 > POST http://192.168.59.103:2376/images/create?tag=latest&fromImage=busybox
1 > Accept: application/octet-stream
1 > Content-Type: application/json
1 > X-Registry-Auth: eyJ1c2VybmFtZSI6Im1hcmN1c2xpbmtlIiwicGFzc3dvcmQiOiJkQ2luZHlfMjAxNCIsImVtYWlsIjoibGlua2VAbmV3c2FrdHVlbGwuZGUiLCJzZXJ2ZXJhZGRyZXNzIjoiaHR0cHM6Ly9pbmRleC5kb2NrZXIuaW8vdjEvIn0=
"javax.ws.rs.core.Response"

[XmlMethodSelector] CLASSNAME:org.apache.maven.surefire.testng.utils.GroupMatcherMethodSelector
[XmlMethodSelector] SETTING PRIORITY:9999
Tests run: 274, Failures: 1, Errors: 0, Skipped: 273, Time elapsed: 3.68 sec <<< FAILURE! - in TestSuite
beforeTest(com.github.dockerjava.client.DockerClientTest)  Time elapsed: 3.273 sec  <<< FAILURE!
javax.ws.rs.ProcessingException: org.apache.http.client.ClientProtocolException
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:151)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260)
    at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:161)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.http.impl.conn.CPoolProxy.invoke(CPoolProxy.java:138)
    at com.sun.proxy.$Proxy34.receiveResponseHeader(Unknown Source)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:253)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:194)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
    at org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:465)
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:667)
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:664)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)
    at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:664)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:424)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:333)
    at com.github.dockerjava.jaxrs.PullImageCmdExec.execute(PullImageCmdExec.java:32)
    at com.github.dockerjava.jaxrs.PullImageCmdExec.execute(PullImageCmdExec.java:16)
    at com.github.dockerjava.jaxrs.AbstrDockerCmdExec.exec(AbstrDockerCmdExec.java:47)
    at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:28)
    at com.github.dockerjava.client.AbstractDockerClientTest.beforeTest(AbstractDockerClientTest.java:50)
    at com.github.dockerjava.client.DockerClientTest.beforeTest(DockerClientTest.java:32)


Results :

Failed tests: 
  DockerClientTest.beforeTest:32->AbstractDockerClientTest.beforeTest:50 ? Processing

Tests run: 274, Failures: 1, Errors: 0, Skipped: 273

@marcuslinke
Copy link
Copy Markdown
Contributor Author

The whole problem seems to be with threading. Disabling one of the two testcases in EventsCmdImplTest and the build runs successfully... However it would be great if someone with a Mac could try to run the integration tests against a local boot2docker instance to be sure this isn't a problem of my local setup here. I simply don't want to merge this PR until this problem is solved.

@sclassen
Copy link
Copy Markdown

Just a question on the side. Are the integration tests run on travis or any other CI platform?

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke I asked a collegue to check on his Mac/boot2docker installation, I'll probably get results tomorrow or on Wednesday.

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@sclassen No, integration tests are not executed on travis as it would need a running local docker instance. Haven't found any solution for this yet.

@gesellix Thanks.

@gesellix
Copy link
Copy Markdown
Contributor

Now it becomes interesting... here the results of another Mac - no hanging build:

Environment:

DOCKER_CERT_PATH=/Users/me/.boot2docker/certs/boot2docker-vm
DOCKER_HOST=tcp://192.168.59.103:2376
DOCKER_TLS_VERIFY=1
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/
M2_HOME=/opt/apache-maven-3.0.5

java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

mvn clean verify finishes with:

...
[XmlMethodSelector] CLASSNAME:org.apache.maven.surefire.testng.utils.GroupMatcherMethodSelector
[XmlMethodSelector] SETTING PRIORITY:9999
Tests run: 74, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 233.318 sec - in TestSuite

Results :

Tests run: 74, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-failsafe-plugin:2.17:verify (default) @ docker-java ---
[INFO] Failsafe report directory: /Users/me/docker-java/target/failsafe-reports
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4:12.119s
[INFO] Finished at: Tue Jan 20 22:49:26 CET 2015
[INFO] Final Memory: 18M/257M
[INFO] ------------------------------------------------------------------------

The only obvious difference to me is the Java version. Since I've tested it on a non-developer Mac, I made a fresh JDK install.

@gesellix
Copy link
Copy Markdown
Contributor

The relevant logs for EventsCmdImplTest:

22:47:47.015 INFO  c.g.d.c.AbstractDockerClientTest - ################################## STARTING testEventStreamTimeBound ##################################
22:47:53.322 INFO  c.g.d.c.AbstractDockerClientTest - Received event #4: com.github.dockerjava.api.model.Event@2a6fab4[status=pull,id=busybox,from=<null>,time=1421790472]
22:47:53.322 INFO  c.g.d.c.AbstractDockerClientTest - Received event #3: com.github.dockerjava.api.model.Event@209540c8[status=create,id=f1b7ecfb09a225d997301763ddeb8cb0089bb5def0d78d15eb4ffe146d9dccc4,from=busybox:buildroot-2014.02,time=1421790472]
22:47:53.322 INFO  c.g.d.c.AbstractDockerClientTest - Received event #2: com.github.dockerjava.api.model.Event@26d01b2e[status=start,id=f1b7ecfb09a225d997301763ddeb8cb0089bb5def0d78d15eb4ffe146d9dccc4,from=busybox:buildroot-2014.02,time=1421790472]
22:47:53.323 INFO  c.g.d.c.AbstractDockerClientTest - Received event #1: com.github.dockerjava.api.model.Event@28a87cea[status=die,id=f1b7ecfb09a225d997301763ddeb8cb0089bb5def0d78d15eb4ffe146d9dccc4,from=busybox:buildroot-2014.02,time=1421790473]
22:47:53.323 INFO  c.g.d.c.AbstractDockerClientTest - Received event #0: com.github.dockerjava.api.model.Event@3dfb851[status=stop,id=f1b7ecfb09a225d997301763ddeb8cb0089bb5def0d78d15eb4ffe146d9dccc4,from=busybox:buildroot-2014.02,time=1421790473]
22:47:53.323 INFO  c.g.d.c.AbstractDockerClientTest - Cleaning up temporary container f1b7ecfb09a225d997301763ddeb8cb0089bb5def0d78d15eb4ffe146d9dccc4
22:47:53.323 INFO  c.g.d.c.AbstractDockerClientTest - Number of events received: 5
22:47:53.416 INFO  c.g.d.c.AbstractDockerClientTest - ################################## END OF testEventStreamTimeBound ##################################

22:47:53.417 INFO  c.g.d.c.AbstractDockerClientTest - ################################## STARTING testEventStreaming ##################################
22:47:58.953 INFO  c.g.d.c.AbstractDockerClientTest - Received event #4: com.github.dockerjava.api.model.Event@547c4baf[status=pull,id=busybox,from=<null>,time=1421790478]
22:47:59.120 INFO  c.g.d.c.AbstractDockerClientTest - Received event #3: com.github.dockerjava.api.model.Event@718fd5ea[status=create,id=3d6c7f901717291880ef0195b11c08358e3b705462709b2967a46cd61092fc0d,from=busybox:buildroot-2014.02,time=1421790479]
22:47:59.201 INFO  c.g.d.c.AbstractDockerClientTest - Received event #2: com.github.dockerjava.api.model.Event@5f4df37f[status=start,id=3d6c7f901717291880ef0195b11c08358e3b705462709b2967a46cd61092fc0d,from=busybox:buildroot-2014.02,time=1421790479]
22:47:59.532 INFO  c.g.d.c.AbstractDockerClientTest - Received event #1: com.github.dockerjava.api.model.Event@2078f36b[status=die,id=3d6c7f901717291880ef0195b11c08358e3b705462709b2967a46cd61092fc0d,from=busybox:buildroot-2014.02,time=1421790479]
22:47:59.573 INFO  c.g.d.c.AbstractDockerClientTest - Received event #0: com.github.dockerjava.api.model.Event@64b50674[status=stop,id=3d6c7f901717291880ef0195b11c08358e3b705462709b2967a46cd61092fc0d,from=busybox:buildroot-2014.02,time=1421790479]
22:47:59.574 INFO  c.g.d.c.AbstractDockerClientTest - Cleaning up temporary container 3d6c7f901717291880ef0195b11c08358e3b705462709b2967a46cd61092fc0d
22:47:59.675 INFO  c.g.d.c.AbstractDockerClientTest - ################################## END OF testEventStreaming ##################################

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Thanks for your investigations. I will try to build with the very same jdk version this evening.

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke I guess it would also be interesting to know which/how much events are received by which test.

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix OK. I will report. Btw., whats the version of boot2docker / docker in your environment?

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke the most recent 1.4.1 (in all variants like native linux, boot2docker-windows, boot2docker-mac).

@marcuslinke
Copy link
Copy Markdown
Contributor Author

@gesellix Yeah! With latest jdk and boot2docker/docker versions tests run fine now. Thanks for all of your effort! So it's time for a merge i guess...

@gesellix
Copy link
Copy Markdown
Contributor

@marcuslinke you have no idea how glad I am for this to be finally merged ;-)

@marcuslinke marcuslinke merged commit f4ddcb3 into docker-java:master Jan 21, 2015
@marcuslinke marcuslinke changed the title Unixsocket rebased Unixsocket support Jan 21, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

X Tutup