+1 to have a registry for images accessible to anyone. For snapshot images,
I agree that gcr + apache-beam-testing project seems a good and easy way to
start with.

Łukasz

wt., 22 sty 2019 o 19:43 Mark Liu <mark...@google.com> napisał(a):

> +1 to have an official Beam released container image.
>
> Also I would propose to add a verification step to (or after) the release
> process to do smoke check. Python have ValidatesContainer test that runs
> basic pipeline using newly built container for verification. Other sdk
> languages can do similar thing or add a common framework.
>
> Mark
>
> On Thu, Jan 17, 2019 at 5:56 AM Alan Myrvold <amyrv...@google.com> wrote:
>
>> +1 This would be great. gcr.io seems like a good option for snapshots
>> due to the permissions from jenkins to upload and ability to keep snapshots
>> around.
>>
>> On Wed, Jan 16, 2019 at 6:51 PM Ruoyun Huang <ruo...@google.com> wrote:
>>
>>> +1 This would be a great thing to have.
>>>
>>> On Wed, Jan 16, 2019 at 6:11 PM Ankur Goenka <goe...@google.com> wrote:
>>>
>>>> grc.io seems to be a good option. Given that we don't need the hosting
>>>> server name in the image name makes it easily changeable later.
>>>>
>>>> Docker container for Apache Flink is named "flink" and they have
>>>> different tags for different releases and configurations
>>>> https://hub.docker.com/_/flink .We can follow a similar model and can
>>>> name the image as "beam" (beam doesn't seem to be taken on docker hub) and
>>>> use tags to distinguish Java/Python/Go and versions etc.
>>>>
>>>> Tags will look like:
>>>> java-SNAPSHOT
>>>> java-2.10.1
>>>> python2-SNAPSHOT
>>>> python2-2.10.1
>>>> go-SNAPSHOT
>>>> go-2.10.1
>>>>
>>>>
>>>> On Wed, Jan 16, 2019 at 5:56 PM Ahmet Altay <al...@google.com> wrote:
>>>>
>>>>> For snapshots, we could use gcr.io. Permission would not be a problem
>>>>> since Jenkins is already correctly setup. The cost will be covered under
>>>>> apache-beam-testing project. And since this is only for snapshots, it will
>>>>> be only for temporary artifacts not for release artifacts.
>>>>>
>>>>> On Wed, Jan 16, 2019 at 5:50 PM Valentyn Tymofieiev <
>>>>> valen...@google.com> wrote:
>>>>>
>>>>>> +1, releasing containers is a useful process that we need to build in
>>>>>> Beam and it is required for FnApi users. Among other reasons, having
>>>>>> officially-released Beam SDK harness container images will make it easier
>>>>>> for users to do simple customizations to  container images, as they will 
>>>>>> be
>>>>>> able to use container image released by Beam as a base image.
>>>>>>
>>>>>> Good point about potential storage limitations on Bintray. With Beam
>>>>>> Release cadence we may quickly exceed the 10 GB quota. It may also affect
>>>>>> our decisions as to which images we want to release, for example: do we
>>>>>> want to only release one container image with Python 3 interpreter, or do
>>>>>> we want to release a container image for each Python 3 minor version that
>>>>>> Beam is compatible with.
>>>>>>
>>>>>
>>>>> Probably worth a separate discussion. I would favor first releasing a
>>>>> python 3 compatible version before figuring out how we would target
>>>>> multiple python 3 versions.
>>>>>
>>>>
>>>>>
>>>>>>
>>>>>> On Wed, Jan 16, 2019 at 5:48 PM Ankur Goenka <goe...@google.com>
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 16, 2019 at 5:37 PM Ahmet Altay <al...@google.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jan 16, 2019 at 5:28 PM Ankur Goenka <goe...@google.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> - Could we start from snapshots first and then do it for releases?
>>>>>>>>> +1, releasing snapsots first makes sense to me.
>>>>>>>>> - For snapshots, do we need to clean old containers after a while?
>>>>>>>>> Otherwise I guess we will accumulate lots of containers.
>>>>>>>>> For snap shots we can maintain a single snapshot image from git
>>>>>>>>> HEAD daily. Docker has the internal image container id which changes
>>>>>>>>> everytime an image is changed and pulls new images as needed.
>>>>>>>>>
>>>>>>>>
>>>>>>>> There is a potential use this may not work with. If a user picks up
>>>>>>>> a snaphsot build and want to use it until the next release arrives. I 
>>>>>>>> guess
>>>>>>>> in that case the user can copy the snapshotted container image and 
>>>>>>>> rely on
>>>>>>>> that.
>>>>>>>>
>>>>>>>>
>>>>>>> Yes, that should be reasonable.
>>>>>>>
>>>>>>>> - Do we also need additional code changes for snapshots and
>>>>>>>>> releases to default to these specific containers? There could be a 
>>>>>>>>> version
>>>>>>>>> based mechanism to resolve the correct container to use.
>>>>>>>>> The current image defaults have username in it. We should be ok by
>>>>>>>>> just updating the default image url to published image url.
>>>>>>>>>
>>>>>>>>> We should also check for pricing and details about Apache-Bintray
>>>>>>>>> agreement before pushing images and changing defaults.
>>>>>>>>>
>>>>>>>>
>>>>>>>> There is information on bintray's pricing page about open source
>>>>>>>> projects [1]. I do not know if there is a special apache-bintray 
>>>>>>>> agreement
>>>>>>>> or not. If there is no special agreement there is a 10GB storage limit 
>>>>>>>> for
>>>>>>>> using bintray.
>>>>>>>>
>>>>>>> As each image can easily run into Gigs, 10GB might not be sufficient
>>>>>>> for future proofing.
>>>>>>> We can also register docker image to docker image registry and not
>>>>>>> have bintray in the name to later host images on a different vendor for
>>>>>>> future proofing.
>>>>>>>
>>>>>>>
>>>>>>>> [1] https://bintray.com/account/pricing?tab=account&type=pricing
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jan 16, 2019 at 5:11 PM Ahmet Altay <al...@google.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> This sounds like a good idea. Some questions:
>>>>>>>>>>
>>>>>>>>>> - Could we start from snapshots first and then do it for releases?
>>>>>>>>>> - For snapshots, do we need to clean old containers after a
>>>>>>>>>> while? Otherwise I guess we will accumulate lots of containers.
>>>>>>>>>> - Do we also need additional code changes for snapshots and
>>>>>>>>>> releases to default to these specific containers? There could be a 
>>>>>>>>>> version
>>>>>>>>>> based mechanism to resolve the correct container to use.
>>>>>>>>>>
>>>>>>>>>> On Wed, Jan 16, 2019 at 4:42 PM Ankur Goenka <goe...@google.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi All,
>>>>>>>>>>>
>>>>>>>>>>> As portability/FnApi is taking shape and are compatible with ULR
>>>>>>>>>>> and Flink. I wanted to discuss the release plan release of 
>>>>>>>>>>> SDKHarness
>>>>>>>>>>> Docker images. Of-course users can create their own images but it 
>>>>>>>>>>> will be
>>>>>>>>>>> useful to have a default image available out of box.
>>>>>>>>>>> Pre build image are a must for making FnApi available for users
>>>>>>>>>>> and not just the developers.
>>>>>>>>>>> The other purpose of these images is to be server as base image
>>>>>>>>>>> layer for building custom images.
>>>>>>>>>>>
>>>>>>>>>>> Apache already have bintray repositories for beam.
>>>>>>>>>>> https://bintray.com/apache/beam-snapshots-docker
>>>>>>>>>>> https://bintray.com/apache/beam-docker
>>>>>>>>>>>
>>>>>>>>>>> Shall we start pushing Python/Java/Go SDK Harness containers to
>>>>>>>>>>> https://bintray.com/apache/beam-docker for beam release and
>>>>>>>>>>> maintain daily snapshot at
>>>>>>>>>>> https://bintray.com/apache/beam-snapshots-docker ?
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Ankur
>>>>>>>>>>>
>>>>>>>>>>
>>>
>>> --
>>> ================
>>> Ruoyun  Huang
>>>
>>>

Reply via email to