-
Notifications
You must be signed in to change notification settings - Fork 13.7k
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
Add triggerer to docker-compose.yaml
file
#17745
Conversation
Adds triggerer component added in apache#15389 (AIP-40) to the docker-compose.yaml file for quick start
The PR is likely ready to be merged. No tests are needed as no important environment files, nor python files were modified by it. However, committers might decide that full test matrix is needed and add the 'full tests needed' label. Then you should rebase it to the latest main or amend the last commit of the PR, and push it with --force-with-lease. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am afraid this is going to fail if someone tries to run it with Airflow < 2.2. We should add some if's here as the docker-compose for quite some time will be used also for older versions of airflow.
Docker-compose does not support conditionals for spinning up services. The only workaround is exiting with The command to get docker-compose is https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html:
The same reason why a user shouldn't be using older version of Airflow and looking into new docs should apply here. Plus this is for local testing only, our Helm Chart already have this conditionals. |
Update the file to need a minimum of 2.2.0 to run this version. If there is another solution in mind, we can follow-up with a PR but until then this will help current testers to directly use this file or Helm chart to quickly and easily test out triggerer |
I've been helping users with ~30 issues over the last few weeks. Some of them jus took the latest docker-compose and changed the version and run it. The problem is that you get to the "quick-start" page and download the file from there. And then they look at it, change the version to 2.0.2 ("why? Because this is the version that is installed in my production, I wanted to use the same"). They will not switch to earlier version of airlfow in the docs, they will not use the right command for the version. They just don't. The file itself has no indication which version it supports, it's not named docker-compose-2.1.2 or anything like that, just docker compose. I simply do not want any more to close people's issues beginning with "I used your official docker compose and it does not work". In this case the error will be cryptic ant the user will not know what to do "the triggerrer command will fail". The "quick-start" should be really "quick" and should give the users maximum guidance on how they should fix the problems, Almost by definition, the users of "quick-start" docker compose know nothing about airflow, and when they will see an error - which they won't understand, they will ... open an issue. I do not want this. I am currently on a spree of making sure we optimise our issue opening/handling experience. The best way to deal with issues is to make sure they will not get opened in the first place. This is why few lines down I've added explicit "fail if the version is < 2.1.0 and tell them to use only newer version. Either we make this docker compose 2.2.0+ (and change the min version below so that user will get explicit "please upgrade message in case they use < 2.2.0) - which is fine, for me as the message will be clear. Or we introduce some kind of backwards compatibility. Either this or that, but "triggerer could not be started" instead of "You should upgrade airflow to 2.2.0" is a very bad message for first-time users. |
Yep. I am fine with that :) - see my reasoning above :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I read the 2.2.0 warning, but seems that the most recent image on Docker Hub (apache/airflow-ci:main-python3.9) still does not have the triggerer command:
|
Yep. Because we stopped using it. I am just about to delete You can find the latest CI images in See https://github.com/apache/airflow/blob/main/IMAGES.rst#naming-conventions You should look at the : |
FYI @jbsilva - > |
Adds triggerer component added in #15389 (AIP-40) to the
docker-compose.yaml
file for quick start^ Add meaningful description above
Read the Pull Request Guidelines for more information.
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.