diegoalvarez-clarity commented on PR #70180: URL: https://github.com/apache/airflow/pull/70180#issuecomment-5089926367
Thanks @Miretpl — I think we're describing two different cases, so let me draw the line clearly. The whole `/opt/airflow` scenario from #33788 is a user-supplied mount, and yes, mounting at `/opt/airflow/config` instead is the right fix there. The race this PR targets is on the chart's own config mount. The shared `airflow_config_mount` helper unconditionally emits two subPath mounts — `airflow.cfg` and `airflow_local_settings.py` — onto the config volume. Those are what runc fails to bind under node/volume-lifecycle churn (kubelet volume reconstruction / node autoscaling): `error mounting ".../volume-subpaths/config/base/1" to rootfs at "/opt/airflow/airflow.cfg"` The container never starts, so the task hard-fails with no application log. A values-level extraVolumeMounts at `/opt/airflow/config` is additive — it can't remove the helper's subPath mounts, so the race persists. There's no values-only way to drop them today, and that's the gap this PR closes. `mountConfigAsDir`: true switches the shared helper from the two subPaths to a single directory mount at `/opt/airflow/config` + `AIRFLOW_CONFIG`. It's opt-in and default-off, so existing behavior is unchanged. helm template diff: subPath count 2 → 0, everything else byte-identical; `airflow_local_settings.py` stays at its default path via the directory mount. -- 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]
