From dev-return-8981-archive-asf-public=cust-asf.ponee.io@airflow.apache.org Fri Jul 26 08:58:30 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 04317180595 for ; Fri, 26 Jul 2019 10:58:29 +0200 (CEST) Received: (qmail 6967 invoked by uid 500); 26 Jul 2019 08:58:28 -0000 Mailing-List: contact dev-help@airflow.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airflow.apache.org Delivered-To: mailing list dev@airflow.apache.org Received: (qmail 6955 invoked by uid 99); 26 Jul 2019 08:58:27 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jul 2019 08:58:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 193ECC08A2 for ; Fri, 26 Jul 2019 08:58:27 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.253 X-Spam-Level: ** X-Spam-Status: No, score=2.253 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=driesprong-frl.20150623.gappssmtp.com Received: from mx1-he-de.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id oNM14ThMMHW5 for ; Fri, 26 Jul 2019 08:58:24 +0000 (UTC) Received-SPF: None (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::c34; helo=mail-yw1-xc34.google.com; envelope-from=fokko@driesprongen.nl; receiver= Received: from mail-yw1-xc34.google.com (mail-yw1-xc34.google.com [IPv6:2607:f8b0:4864:20::c34]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id AA3837DC04 for ; Fri, 26 Jul 2019 08:58:23 +0000 (UTC) Received: by mail-yw1-xc34.google.com with SMTP id z197so20113701ywd.13 for ; Fri, 26 Jul 2019 01:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=driesprong-frl.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=ZTNWF13CZVru4oJaPFGwDsEXcL6Yf3xIZDnUf76LEw8=; b=Ha8oPk4IKm5JDh5NJ9zHRh6HM/wGCAtPQLGJ1XKLV9zQxB39oBxSySU79fj1D8EIHb TSfgbS231byy0Ad888xwP4YYJBecA+5KXEKnaJ+tpmAvCy8+qXOyV6x3QV3eY0n3YKGI uWzDYMebtX8SYv810YYDU7R6fhDhZDmLhE+iVfLFwqqOkWKxU986kAmnybcRzbGyO87c Z//g+8Ofi+TA0q8ad1602CRWMgvtUx1afXR7mJVYnDiFdIsV7hbgCNDT2AWpYV5la+1g t2ofL6G4EmCqerK0sZRvIFBffDMPmTW9heIxynt1Om+DFpfQgFOg90tsE9rSOjgGYHJj AzoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=ZTNWF13CZVru4oJaPFGwDsEXcL6Yf3xIZDnUf76LEw8=; b=UG4N0scrthcn0qN7NwaSdStFB508iRTGCikP1ompVvpAtiDxlwtomE36tpWF5qq2Yw SrzUM++z2NVVucRdpDHeUDKSR5S3FCAUzBKXQIRd4OzNZAssNz9aFV+FT4YHT0iGfx7L fun/x9i9jTmRBJSN7Ue2nNcQRDgop/Ofq1X1zFgTVICTDRKBOhyKXAEXRfmBR7JHSIl2 FFfo8h+gHgXRocteTfa4RRBRga8EVkkxYepO7Uy/YhRpNwuyHTybms55GB3PXxH003Rq Qx26+OhCzfWP9GkLfHVp0wzAD9BGEKlC+kD4u/d/BSI1gMFnHfjK9DFhLibL0xrj6F4w yXzQ== X-Gm-Message-State: APjAAAUzSWTVJyzRKnjMv0SJm+kFQbk6OvoiKyqhaG5FhZs0+AYzRh5r tLMjCn1qy9jmTnY5mmRj45YC4ZQFAaP/mqGJZ4nYZDKox7s= X-Google-Smtp-Source: APXvYqxbTN2jmJZNWIfFB9AUfV7B66q6k4KrkeSAU62ArmiO4WLH3yec4YYjOg3mgcgVw+mItLKcb2GlsFOOXZ4Hq7A= X-Received: by 2002:a81:3313:: with SMTP id z19mr56688970ywz.188.1564131501925; Fri, 26 Jul 2019 01:58:21 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "Driesprong, Fokko" Date: Fri, 26 Jul 2019 10:58:11 +0200 Message-ID: Subject: Re: [Discuss] AIP-23 Proposal "Migration out of Travis CI" To: dev@airflow.apache.org Content-Type: multipart/alternative; boundary="0000000000008dfad0058e91be5b" --0000000000008dfad0058e91be5b Content-Type: text/plain; charset="UTF-8" Nice document Jarek. We should look at the pro's and con's regarding moving away from Travis. The process for Airflow, and also many other OSS projects, is to first develop on your local fork. If everything looks good, open a PR to the main repo. This reduces the noise we have on the project itself. Being more strict on this will also reduce the load on the CI service of Apache. A couple of thoughts so far: - I'm not sure why we need to store the images on the GCS. We could just discard the image after the build? In the case of caching, we could also store them on the local VM's as well. Just a thought to simplify the setup. - Since the current setup is flaky, it feels counterintuitive to make it more complex, for example by mirroring the repository to Gitlab. How does this work for PR's from forks (these repo's are still on a fork on Github)? For example, when I open a PR from my Github fork, this fork does not live in Gitlab. - I think it is important to discuss this with Infra as well, we need to get them on board as well. - Are there other OSS projects which use this setup as well? My personal opinion, apart from the issues we're facing the last few days, Travis works quite well for me. Cheers, Fokko Op wo 24 jul. 2019 om 10:05 schreef Jarek Potiuk : > Of course ! One of the considerations is to keep travis CI build intact - > so that anyone will be able to have their own Travis Fork for the time > being. > > I will also do it in the way that once you have your own GCP account and > your own GKE cluster, you will be able to replicate it as well (there will > be instructions on how to set it up). > We can even (long term) make it in the way that you will not need a > separate GKE cluster but it will run using just your personal GitLab > (free). This should be possible - I am really trying to make it > underlying-infrastructure-agnostic. > > The non-cluster personal GitLab is not a priority now (Travis forks will > hopefully work ;) so it might not work initially, but there aren't > fundamental reasons it should not work. We will have to just use GitLabCI > registry instead of the GCP one and avoid assuming we are running in the > GKE cluster and have some secrets/accounts distributed differently. All > looks doable. > > J. > > > J. > > On Wed, Jul 24, 2019 at 9:03 AM Chao-Han Tsai > wrote: > > > Thanks Jarek for putting this together. We really need a stable and fast > > CI. > > > > Question: will we still be able to build our personal fork of Airflow on > > our own Travis? > > > > Chao-Han > > > > On Tue, Jul 23, 2019 at 1:00 PM Jarek Potiuk > > wrote: > > > > > > > > > > Question - what is the purpose of introducing kaniko instead of using > > > > regular docker build? > > > > > > > > > > Indeed. We want to be as agnostic as possible. What I plan to do is to > > use > > > Kubernetes Runner in GitlabCI. This means that all the jobs will run as > > > Kubernetes PODs in GKE - Gitlab CI will only be UI + runner that > > > orchestrates the builds. This means that our test jobs will be run > inside > > > docker - they will not run in virtual machine, but they will run inside > > the > > > container. This is how modern CI systems work (for example Gitlab, > > > CloudBuild, also Argo - new kid in the > > block > > > which is Kubernetes-Native). Argo is a bit too fresh to consider it, > but > > > they all work similarly - all steps are run inside docker. > > > > > > As the first part of our build we have to build the images with latest > > > sources (and dependencies if needed) that then will be used for > > subsequent > > > steps. This means that we need to build the images from within docker - > > > which is not as trivial as running docker command. There are three ways > > to > > > approach it - docker-in-docker (requires priviledged docker > containers), > > > using same docker engine which is used by Kubernetes Cluster (not > > > recommended as Kubernetes manages docker engine on their own and might > > > delete/remove images at any time) or use Kaniko. Kaniko was created > > exactly > > > for this purpose - to be able to run docker build from within a POD > that > > > runs in Kubernetes cluster. > > > > > > I hope it explains :). Kaniko is pretty much standard way of doing it > and > > > it really Kubernetes-native way of doing it. > > > > > > > > > > > > > > Regards > > > > Shah > > > > > > > > > > > > > > > > > > > > On Tue, Jul 23, 2019 at 5:12 PM Jarek Potiuk < > Jarek.Potiuk@polidea.com > > > > > > > wrote: > > > > > > > > > Hello Everyone, > > > > > > > > > > I prepared a short docs where I described general architecture of > the > > > > > solution I imagine we can deploy fairly quickly - having GitLab CI > > > > support > > > > > and Google provided funding for GCP resources. > > > > > > > > > > I am going to start working on Proof-Of-Concept soon but before I > > start > > > > > doing it, I would like to get some comments and opinions on the > > > proposed > > > > > approach. I discussed the basic approach with my friend Kamil who > > works > > > > at > > > > > GitLab and he is a CI maintainer and this is what we think will be > > > > > achievable in fairly short time. > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-23+Migrate+out+of+Travis+CI > > > > > > > > > > I am happy to discuss details and make changes to the proposal - we > > can > > > > > discuss it here or as comments in the document. > > > > > > > > > > Let's see what people think about it and if we get to some > consensus > > we > > > > > might want to cast a vote (or maybe go via lasy consensus as this > is > > > > > something we should have rather quickly) > > > > > > > > > > Looking forward to your comments! > > > > > > > > > > J. > > > > > > > > > > -- > > > > > > > > > > Jarek Potiuk > > > > > Polidea | Principal Software Engineer > > > > > > > > > > M: +48 660 796 129 <+48660796129> > > > > > [image: Polidea] > > > > > > > > > > > > > > > > > > -- > > > > > > Jarek Potiuk > > > Polidea | Principal Software Engineer > > > > > > M: +48 660 796 129 <+48660796129> > > > [image: Polidea] > > > > > > > > > -- > > > > Chao-Han Tsai > > > > > -- > > Jarek Potiuk > Polidea | Principal Software Engineer > > M: +48 660 796 129 <+48660796129> > [image: Polidea] > --0000000000008dfad0058e91be5b--