-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Scheduler always connect to api-server via http and port 8080 #50739
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
Comments
Thanks for opening your first issue here! Be sure to follow the issue template! If you are willing to raise PR to address this issue please do so, no need to wait for approval. |
Does changing execution_api_server_url value help here?
|
It gives some progress
and in venv:
After restart of api-server and scheduler I'm getting error: Method not allowed when dag should run. Scheduler log:
api-server (webserver) log:
Manual If run on 8080 and http scheduler log shows that PATCH method is accepted:
|
i am interested in this as well. I thought maybe these would do it , by adding in PATCH to that allow methods; but no dice. I can get everything working if i turn the webserver's SSL off by commenting out the Key / Cert; but when I add those in, I have the same issue.
I added in the execution_api_server_url to be the https://github.com/mydomain.com:8080 , and i added it to the origens, but still had issues |
At the end it turned out it was misconfiguration on my end. There is no need to set execution_api_server_url. |
Things that are mandatory if you switch to different port and https seems to be: Nothing more. execution_api_server_url should not be touched. Incorrect or not modified base_url and port is causing method not allowed errors. Also messing with execution_api_server_url parameter bring unpredicted behaviour. |
Apache Airflow version
3.0.1
If "Other Airflow 2 version" selected, which one?
3.0.1
What happened?
Airflow installed in venv via PyPi (along official guide). When airflow-apiserver started on port other than 8080 and/or HTTPS will not be able to run any tasks. Airflow scheduler is accepting tasks from api-server but than pings back to api server always on http and port 8080 on localhost. I don't see any documentation that will allow to change this behaviour. It looks like this connection is hardcoded.
I'm using local executor.
What you think should happen instead?
Scheduler should sent request to local executor running on api-server within port and protocol on which api server was run along with local executor.
How to reproduce
Documentation does not include any details how to force airflow scheduler to use proper port/protocol. I suspect it should be read out from database where airflow api-server should register itself when started.
Operating System
SLES 15.5 and SLES 15.6, debian bookworm.
Versions of Apache Airflow Providers
not relevant
Deployment
Virtualenv installation
Deployment details
Python 3.11
Anything else?
No response
Are you willing to submit PR?
Code of Conduct
The text was updated successfully, but these errors were encountered: