[ 
https://issues.apache.org/jira/browse/BEAM-7474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16865975#comment-16865975
 ] 

Valentyn Tymofieiev commented on BEAM-7474:
-------------------------------------------

[~frederik], you can test your changes by building a container image, for 
example, ./gradlew :sdks:python:container:py3:docker, and running 
ValidatesContainer suites, for example: 
https://github.com/apache/beam/blob/7e633f34e3a8ee68274d2752382fb6a52b5e9b4a/.test-infra/jenkins/job_PostCommit_Python_ValidatesContainer_Dataflow.groovy#L25.
 The latter suite currently does not pass due to BEAM-7063, but you could still 
try to exercise the container with Portable Python Precommit suite, see 
https://github.com/apache/beam/pull/8745/files#diff-08a37e2757c9df3f0e1d0ba3e2121eecR101.
 

 Portable Python Precommit suite is currently flaky 
(https://issues.apache.org/jira/browse/BEAM-7546), so I don't think we should 
run it for all of 3.5 - 3.7, but we could switch Portable Python Precommit from 
Python 3.5 to 3.7 after this issue is completed and/or to help test the changes 
being made here.

> Add SDK harness containers for Py 3.6, Py 3.7
> ---------------------------------------------
>
>                 Key: BEAM-7474
>                 URL: https://issues.apache.org/jira/browse/BEAM-7474
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-py-harness
>            Reporter: Valentyn Tymofieiev
>            Assignee: Frederik Bode
>            Priority: Major
>
> Currently we can build a Py3-compatible container image with gradle by 
> running:
> ./gradlew  :sdks:python:container:py3:docker 
> This builds a docker container image like: 
> valentyn-docker-apache.bintray.io/beam/python3 
> The code for this is defined in: 
> https://github.com/apache/beam/blob/ae60a72b03f3a2b6b2a06667ec1868a7acc8e38f/sdks/python/container/py3/build.gradle#L48
> To support portable runners that use a container (e.g. Flink) on multiple 
> versions of Python 3,  we should make it possible to build Python 
> 3-compatible SDK harness containers bundled with any desired python version. 
> We could have several gradle projects:
>   :sdks:python:container:py35:docker
>   :sdks:python:container:py36:docker
>   :sdks:python:container:py37:docker
> and several Dockerfiles to support this:
>  
>   sdks/python/container/py35/Dockerfile
>   sdks/python/container/py36/Dockerfile
>   sdks/python/container/py37/Dockerfile
> The only difference right now would be the base image used in FROM field in 
> Dockerfile. 
> Alternatively, we could have one parameterized Dockerfile that starts with :
> {code}
> ARG BASE_IMAGE
> FROM $BASE_IMAGE
> ...
> {code}
> I think the latter approach, may result in complications later if these 
> containers will need to diverge down the road.
> cc'ing a few folks who may have some feedback on this: [~angoenka] [~mxm] 
> [~robertwb] [~Juta] [~frederik].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to