FYI Fernando recently contributed a setup script for configuring a local
development environment [1] that is continuously verified on mac and ubuntu
[2].

[1] https://github.com/apache/beam/pull/14584
[2] https://github.com/apache/beam/actions/workflows/local_env_tests.yml

On Wed, May 26, 2021 at 2:17 PM Alexey Romanenko <aromanenko....@gmail.com>
wrote:

> 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 <bhule...@google.com> 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
>
> On Tue, May 25, 2021 at 10:21 AM Alexey Romanenko <
> aromanenko....@gmail.com> 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 <bhule...@google.com> wrote:
>>
>> I think the build environment was set up with that configured:
>> 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 <g...@spotify.com> 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 <
>>> aromanenko....@gmail.com> 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
>>>
>>>
>>
>

Reply via email to