Thanks for the link! 

Well, going back to initial problem - seems that it’s MacOS-related issue about 
permissions to “/var/run/docker.sock” and quick workaround, like “sudo chmod 
666 /var/run/docker.sock” fixes the problem.
Though, I’m not sure we need to do this when building a container (since it’s 
not good in terms of security). Perhaps, there is another proper way how to fix 
it.

—
Alexey

> On 25 May 2021, at 19:27, Brian Hulette <[email protected]> wrote:
> 
> Yes this came up before, see BEAM-12149 [1]. I'm not sure what causes it, I 
> wasn't able to repro the issue.
> 
> [1] https://issues.apache.org/jira/browse/BEAM-12149 
> <https://issues.apache.org/jira/browse/BEAM-12149>
> On Tue, May 25, 2021 at 10:21 AM Alexey Romanenko <[email protected] 
> <mailto:[email protected]>> wrote:
> I checked it again and I have failed Docker-dependent tests:
> 
> > Task :sdks:java:io:clickhouse:test
> 
> org.apache.beam.sdk.io.clickhouse.AtomicInsertTest > classMethod FAILED
>     java.lang.IllegalStateException at DockerClientProviderStrategy.java:215
> 
> org.apache.beam.sdk.io.clickhouse.AtomicInsertTest > classMethod FAILED
>     java.lang.NullPointerException at BaseClickHouseTest.java:134
> 
> org.apache.beam.sdk.io.clickhouse.ClickHouseIOTest > classMethod FAILED
>     java.lang.IllegalStateException at DockerClientProviderStrategy.java:109
> 
> org.apache.beam.sdk.io.clickhouse.ClickHouseIOTest > classMethod FAILED
>     java.lang.NullPointerException at BaseClickHouseTest.java:134
> 
> 29 tests completed, 4 failed
> 
> > Task :sdks:java:io:clickhouse:test FAILED
> 
> 
> 
> Btw, while running it for the first time once a container was started, I had 
> an issue with file permissions that I foxed manually. Is it a known issue?
> 
> $ ./gradlew -p sdks/java/io/clickhouse/ check
> Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be 
> reused, use --status for details
> Configuration on demand is an incubating feature.
> > Task :model:pipeline:generateProto FAILED
> 
> FAILURE: Build failed with an exception.
> 
> * What went wrong:
> Execution failed for task ':model:pipeline:generateProto'.
> > protoc: stdout: . stderr: 
> > /home/aromanenko/.gradle/caches/modules-2/files-2.1/io.grpc/protoc-gen-grpc-java/1.26.0/4f8bb54a74ab655cf2691e6eaa513fccc4c605d5/protoc-gen-grpc-java-1.26.0-linux-x86_64.exe:
> >  program not found or is not executable
>   Please specify a program using absolute path or make sure the program is 
> available in your PATH system variable
>   --grpc_out: protoc-gen-grpc: Plugin failed with status code 1.
> 
> $ ll 
> /home/aromanenko/.gradle/caches/modules-2/files-2.1/io.grpc/protoc-gen-grpc-java/1.26.0/4f8bb54a74ab655cf2691e6eaa513fccc4c605d5/protoc-gen-grpc-java-1.26.0-linux-x86_64.exe
>  
> -rw-r--r-- 1 aromanenko users 3009112 May 21 17:35 
> /home/aromanenko/.gradle/caches/modules-2/files-2.1/io.grpc/protoc-gen-grpc-java/1.26.0/4f8bb54a74ab655cf2691e6eaa513fccc4c605d5/protoc-gen-grpc-java-1.26.0-linux-x86_64.exe
> 
> 
> —
> Alexey
> 
>> On 21 May 2021, at 18:06, Brian Hulette <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> I think the build environment was set up with that configured: 
>> https://github.com/apache/beam/blob/40326dd0a2a1c9b5dcbbcd6486a43e3875a64a43/start-build-env.sh#L110
>>  
>> <https://github.com/apache/beam/blob/40326dd0a2a1c9b5dcbbcd6486a43e3875a64a43/start-build-env.sh#L110>
>> Could there be something about your environment preventing that from working?
>> 
>> Brian
>> 
>> On Fri, May 21, 2021 at 3:34 AM Gleb Kanterov <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Is it possible to mount the Docker socket inside the build-env Docker 
>> container? We run a lot of similar tests in CI, and it always worked:
>> 
>> --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock
>> 
>> On Fri, May 21, 2021 at 12:26 PM Alexey Romanenko <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Hello,
>> 
>> Beam provides a very cool feature to run a local development environment via 
>> Docker [1]. In the same time, some unit tests require to run Docker 
>> containers to test against “real” instances (for example, ClickHouseIOTest). 
>> So, it will end up with “docker-in-docker” issue and such tests will fail. 
>> 
>> What would be a proper solution for that? Annotate these tests with a 
>> specific “DockerImageRequired” annotation and skip them when running from 
>> inside container or something else? Any ideas on this?
>> 
>> Thanks,
>> Alexey
>> 
>> 
>> [1] https://github.com/apache/beam/blob/master/start-build-env.sh 
>> <https://github.com/apache/beam/blob/master/start-build-env.sh>

Reply via email to