Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubernetes on host #8265

Merged
merged 1 commit into from
Jun 3, 2020
Merged

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Apr 12, 2020


Make sure to mark the boxes below before creating PR: [x]


In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.
Read the Pull Request Guidelines for more information.

@potiuk
Copy link
Member Author

potiuk commented Apr 12, 2020

Hey @dimberman @kaxil @turbaszek -> I have almost working change where Kind Kubernetes cluster is created on the host side and it can be used to run the tests with Kubernetes. I nicely integrated it with breeze so that you can run:

breeze kind-cluster start -> will start the kind cluster

breeze kind-cluster deploy --force-build -> will deploy airflow to the cluster

and then you should be able to run tests. I just wanted to share it with you so that you can take a look. This can be very easily reused for the helm chart deployments (@dimbermann) and I think it's a better way of handling Kind Setup than relying in Github Action specific configuration from #8222 - because it can be run for local testing as well and it can be run on any CI (Travis/GA/Cloud Build. ....) . I updated the documentation including explanation how I imagine running the tests locally with breeze.

I am planning to complete it tomorrow - but please take a look in the meantime :).

It is based on the #8261 so only look at the latest commit.

@potiuk potiuk force-pushed the kubernetes-on-host branch 2 times, most recently from cf2f550 to c18a829 Compare April 13, 2020 07:44
@dimberman
Copy link
Contributor

@potiuk is there a reason we're still defaulting to such an old k8s? We should set it to at least 1.17 (unless that should be a separate PR).

@mik-laj
Copy link
Member

mik-laj commented Apr 13, 2020

@dimberman Old release? Version 1.14 is the latest version of the stable release channel on GKE. Version 1.15 is the latest version of the regular release channel. I don't think we need to use the latest possible version, but the most popular version.
https://cloud.google.com/kubernetes-engine/docs/concepts/release-channels#finding_out_whats_new

@mik-laj
Copy link
Member

mik-laj commented Apr 13, 2020

The following Kubernetes versions are currently available for new clusters in Amazon EKS:

  • 1.15.11
  • 1.14.9
  • 1.13.12
  • 1.12.10

https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html

You can use the newer version if you use GKE on AWS. However, this is a new service that was released yesterday.
https://cloud.google.com/anthos/gke/docs/aws/concepts/architecture

@potiuk
Copy link
Member Author

potiuk commented Apr 13, 2020

No reason whatsoever. Just carried from the past. Right now it's as easy as modifying a few constants :)

@potiuk potiuk force-pushed the kubernetes-on-host branch from c18a829 to 65d597c Compare April 15, 2020 11:13
@potiuk potiuk added this to the Airflow 1.10.11 milestone Apr 26, 2020
@potiuk potiuk force-pushed the kubernetes-on-host branch from 65d597c to da8a050 Compare April 26, 2020 10:00
@potiuk potiuk force-pushed the kubernetes-on-host branch 2 times, most recently from 7d30b1b to 9ca8192 Compare May 27, 2020 18:33
@potiuk potiuk mentioned this pull request May 27, 2020
6 tasks
@potiuk potiuk force-pushed the kubernetes-on-host branch 7 times, most recently from e9f88b4 to 2088d81 Compare June 3, 2020 00:28
scripts/ci/_utils.sh Show resolved Hide resolved
scripts/ci/_utils.sh Show resolved Hide resolved
scripts/ci/_utils.sh Show resolved Hide resolved
scripts/ci/in_container/entrypoint_ci.sh Show resolved Hide resolved
@potiuk potiuk force-pushed the kubernetes-on-host branch from 2088d81 to f960abb Compare June 3, 2020 06:59
.github/workflows/ci.yml Outdated Show resolved Hide resolved
kubernetes_tests/test_kubernetes_executor.py Show resolved Hide resolved
@potiuk potiuk mentioned this pull request Jun 3, 2020
6 tasks
@potiuk
Copy link
Member Author

potiuk commented Jun 3, 2020

The following Kubernetes versions are currently available for new clusters in Amazon EKS:

@mik-laj - for now the deployment we have is kinda "abomination" - we will replace it with helm charts shortly - for now I know the Deployments we have won't work for higher versions of Kubernetes but I do not want to lose time trying to fix them since we are going to swap them with the helm charts.

@kaxil
Copy link
Member

kaxil commented Jun 3, 2020

Nice work @potiuk

@jhtimmins
Copy link
Contributor

@potiuk I think this may be causing the generate-requirements command to fail. When i run ./breeze generate-requirements --python 3.7, I get the following error:

./breeze: line 426: INTEGRATIONS[*]: unbound variable

I've also experienced it causing the command to hang indefinitely.

Comment on lines +153 to +154
#TODO FIXME
if [[ "${INTEGRATIONS[*]}" == *"kubernetes"* ]]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm @potiuk ? I get ./breeze: line 382: INTEGRATIONS[*]: unbound variable when starting ./breeze

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, Mac OS thingie. I used to catch it early before I switched to Linux. Fixed in #9135

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @potiuk !

@feluelle
Copy link
Member

feluelle commented Jun 4, 2020

Oh did not read that @jhtimmins - same for me.

potiuk added a commit that referenced this pull request Jun 9, 2020
Tests requiring Kubernetes Cluster are now moved out of
the regular CI tests and moved to "kubernetes_tests" folder
so that they can be run entirely on host without having
the CI image built at all. They use production image
to run the tests on KinD cluster and we add tooling
to start/stop/deploy the application to the KinD cluster
automatically - for both CI testing and local development.

This is a pre-requisite to convert the tests to convert the
tests to use the official Helm Chart and Docker images or
Apache Airflow.

It closes #8782

(cherry picked from commit ff5dccc)
kaxil added a commit to astronomer/airflow that referenced this pull request Jun 14, 2020
We upgraded to v2 in apache#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.
potiuk pushed a commit that referenced this pull request Jun 14, 2020
We upgraded to v2 in #8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.
kaxil added a commit to kaxil/airflow that referenced this pull request Jun 27, 2020
We upgraded to v2 in apache#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.
potiuk added a commit that referenced this pull request Jun 29, 2020
Tests requiring Kubernetes Cluster are now moved out of
the regular CI tests and moved to "kubernetes_tests" folder
so that they can be run entirely on host without having
the CI image built at all. They use production image
to run the tests on KinD cluster and we add tooling
to start/stop/deploy the application to the KinD cluster
automatically - for both CI testing and local development.

This is a pre-requisite to convert the tests to convert the
tests to use the official Helm Chart and Docker images or
Apache Airflow.

It closes #8782

(cherry picked from commit ff5dccc)
kaxil pushed a commit that referenced this pull request Jul 1, 2020
Tests requiring Kubernetes Cluster are now moved out of
the regular CI tests and moved to "kubernetes_tests" folder
so that they can be run entirely on host without having
the CI image built at all. They use production image
to run the tests on KinD cluster and we add tooling
to start/stop/deploy the application to the KinD cluster
automatically - for both CI testing and local development.

This is a pre-requisite to convert the tests to convert the
tests to use the official Helm Chart and Docker images or
Apache Airflow.

It closes #8782

(cherry picked from commit ff5dccc)
cfei18 pushed a commit to cfei18/incubator-airflow that referenced this pull request Mar 5, 2021
Tests requiring Kubernetes Cluster are now moved out of
the regular CI tests and moved to "kubernetes_tests" folder
so that they can be run entirely on host without having
the CI image built at all. They use production image
to run the tests on KinD cluster and we add tooling
to start/stop/deploy the application to the KinD cluster
automatically - for both CI testing and local development.

This is a pre-requisite to convert the tests to convert the
tests to use the official Helm Chart and Docker images or
Apache Airflow.

It closes apache#8782

(cherry picked from commit ff5dccc)
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Sep 15, 2021
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Sep 17, 2021
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Sep 23, 2021
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Nov 25, 2021
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Mar 9, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Jun 3, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Jun 6, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Jul 8, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Aug 26, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Oct 3, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
aglipska pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Oct 7, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Dec 7, 2022
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Jan 27, 2023
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
kosteev pushed a commit to kosteev/composer-airflow-test-copybara that referenced this pull request Sep 11, 2024
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
kosteev pushed a commit to kosteev/composer-airflow-test-copybara that referenced this pull request Sep 12, 2024
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Sep 16, 2024
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Nov 6, 2024
We upgraded to v2 in apache/airflow#8265 for other places in `.github/workflows/ci.yml`. This was left, so fixing it.

GitOrigin-RevId: a38c35a47f542bb480e331bf78d19ee612aa5041
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants