Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
boring-cyborg[bot] commented on PR #52928: URL: https://github.com/apache/airflow/pull/52928#issuecomment-3293581165 Awesome work, congrats on your first merged pull request! You are invited to check our [Issue Tracker](https://github.com/apache/airflow/issues) for additional contributions. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
kaxil merged PR #52928: URL: https://github.com/apache/airflow/pull/52928 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
Creative-Ataraxia commented on code in PR #52928:
URL: https://github.com/apache/airflow/pull/52928#discussion_r2191368704
##
scripts/docker/entrypoint_prod.sh:
##
@@ -337,4 +337,10 @@ if [[ ${AIRFLOW_COMMAND} =~ ^(scheduler|celery)$ ]] \
wait_for_celery_broker
fi
+# Exit cleanly if the init was only intended to migrate DB
Review Comment:
of course, always happy to contribute; and thank you for maintaining such a
fundamental tool for the data engineering community :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
potiuk commented on code in PR #52928:
URL: https://github.com/apache/airflow/pull/52928#discussion_r2189692846
##
scripts/docker/entrypoint_prod.sh:
##
@@ -337,4 +337,10 @@ if [[ ${AIRFLOW_COMMAND} =~ ^(scheduler|celery)$ ]] \
wait_for_celery_broker
fi
+# Exit cleanly if the init was only intended to migrate DB
Review Comment:
Nice! Thank you !
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
Creative-Ataraxia commented on code in PR #52928:
URL: https://github.com/apache/airflow/pull/52928#discussion_r2189495788
##
scripts/docker/entrypoint_prod.sh:
##
@@ -337,4 +337,10 @@ if [[ ${AIRFLOW_COMMAND} =~ ^(scheduler|celery)$ ]] \
wait_for_celery_broker
fi
+# Exit cleanly if the init was only intended to migrate DB
Review Comment:
sure thing, added description of this PR to
docker-stack-docs/entrypoint.rst; commit pushed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
potiuk commented on code in PR #52928:
URL: https://github.com/apache/airflow/pull/52928#discussion_r2188266278
##
scripts/docker/entrypoint_prod.sh:
##
@@ -337,4 +337,10 @@ if [[ ${AIRFLOW_COMMAND} =~ ^(scheduler|celery)$ ]] \
wait_for_celery_broker
fi
+# Exit cleanly if the init was only intended to migrate DB
Review Comment:
Nit. Can you please also find a good place in docker compose docs or prod
image docs to describe this as a "feature" ? It would be great to document it
rather than people figuring it out by looking at the code.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Re: [PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
boring-cyborg[bot] commented on PR #52928: URL: https://github.com/apache/airflow/pull/52928#issuecomment-3040746549 Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide (https://github.com/apache/airflow/blob/main/contributing-docs/README.rst) Here are some useful points: - Pay attention to the quality of your code (ruff, mypy and type annotations). Our [pre-commits]( https://github.com/apache/airflow/blob/main/contributing-docs/08_static_code_checks.rst#prerequisites-for-pre-commit-hooks) will help you with that. - In case of a new feature add useful documentation (in docstrings or in `docs/` directory). Adding a new operator? Check this short [guide](https://github.com/apache/airflow/blob/main/airflow-core/docs/howto/custom-operator.rst) Consider adding an example DAG that shows how users should use it. - Consider using [Breeze environment](https://github.com/apache/airflow/blob/main/dev/breeze/doc/README.rst) for testing locally, it's a heavy docker but it ships with a working Airflow and a lot of integrations. - Be patient and persistent. It might take some time to get a review or get the final approval from Committers. - Please follow [ASF Code of Conduct](https://www.apache.org/foundation/policies/conduct) for all communication including (but not limited to) comments on Pull Requests, Mailing list and Slack. - Be sure to read the [Airflow Coding style]( https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#coding-style-and-best-practices). - Always keep your Pull Requests rebased, otherwise your build might fail due to changes not related to your commits. Apache Airflow is a community-driven project and together we are making it better 🚀. In case of doubts contact the developers at: Mailing List: [email protected] Slack: https://s.apache.org/airflow-slack -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
[PR] fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db migrate success... [airflow]
Creative-Ataraxia opened a new pull request, #52928:
URL: https://github.com/apache/airflow/pull/52928
> ...from the env '_AIRFLOW_DB_MIGRATE=true' but no commands passed in
because the user's sole intention is to migrate db
### What this PR is
This PR improves the behavior of `airflow/scripts/docker/entrypoint_prod.sh`
when `_AIRFLOW_DB_MIGRATE=true` is set but no command is explicitly passed to
the container. It adds a conditional check that **exits cleanly** if:
* `_AIRFLOW_DB_MIGRATE` flag is set
* No `command:` is passed via Docker Compose (i.e., `$# -eq 0`)
Previously, the script would still fall through to `exec "airflow" "${@}"`,
which results in a CLI error due to missing arguments (`GROUP_OR_COMMAND`), and
exits with code 2.
### Why is the PR needed
Currently, when using `docker-compose.yml` to define an `airflow-init`
container for bootstrapping (for example, running DB migration), the flag
`_AIRFLOW_DB_MIGRATE=true` already run `migrate_db`; Even when db migration
succeeds, the container still exits with an error if no commands are passed to
the service:
```
airflow command error: the following arguments are required: GROUP_OR_COMMAND
```
This creates confusion, especially in CI environments or startup
orchestration, where the exit code may be interpreted as a failed container,
even though db migration succeed.
This PR prevents that misleading failure by exiting gracefully when the
user's intent is only to "run migration and exit."
### How to reproduce the issue
Create a Compose service like this:
```yaml
airflow-init:
image: apache/airflow:3.0.2
environment:
_AIRFLOW_DB_MIGRATE: "true"
# no command specified
```
Run:
```bash
docker compose up airflow-init
```
**Observed (before):**
* DB migration runs successfully
* Then: `airflow command error: the following arguments are required:
GROUP_OR_COMMAND`
* Container exits with code 2
**Expected (after this PR):**
* DB migration runs
* No command passed → interpreted as init-only use case
* Script logs an info message and exits cleanly with status 0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
