Skip to content

Use custom port makes FTP connection fail #40238

Closed

Description

@negstek

Apache Airflow version

2.9.2

If "Other Airflow 2 version" selected, which one?

No response

What happened?

When I use a custom port when I try to create a FTP connection, I got "530 Not logged in." when I test it.
Same problem after the creation if I try to use it in a DAG.

What you think should happen instead?

the connexion should work fine.

How to reproduce

create a FTP connection with a custom port in the web GUI. Try to test the connection in teh web GUI.

Operating System

not relevant but linux in wsl

Versions of Apache Airflow Providers

No response

Deployment

Docker-Compose

Deployment details

No response

Anything else?

maybe linked to this issue :
#39465

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Activity

  1. boring-cyborg commented on Jun 14, 2024

    @boring-cyborg

    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.

  2. changed the title [-]cahnge port make FTP connection fails [/-] [+]Use custom port make FTP connection fails [/+] on Jun 14, 2024
  3. changed the title [-]Use custom port make FTP connection fails [/-] [+]Use custom port makes FTP connection fail[/+] on Jun 14, 2024
  4. potiuk commented on Jun 14, 2024

    @potiuk
    Member

    I think this issue has not enough information to act on lt - some more details logs and precise explanation with screenshots what you've done would be needed for anyone who might want to take a look

  5. negstek commented on Jun 14, 2024

    @negstek
    Author

    I think this issue has not enough information to act on lt - some more details logs and precise explanation with screenshots what you've done would be needed for anyone who might want to take a look

    Sorry I thought it was pretty clear:
    image

    airflow-webserver-1     | [2024-06-14 14:46:36 +0000] [14] [CRITICAL] WORKER TIMEOUT (pid:40)
    airflow-webserver-1     | [2024-06-14 14:46:36 +0000] [40] [ERROR] Error handling request /api/v1/connections/test
    airflow-webserver-1     | Traceback (most recent call last):
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 135, in handle
    airflow-webserver-1     |     self.handle_request(listener, req, client, addr)
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 178, in handle_request
    airflow-webserver-1     |     respiter = self.wsgi(environ, resp.start_response)
    airflow-webserver-1     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/flask/app.py", line 2552, in __call__
    airflow-webserver-1     |     return self.wsgi_app(environ, start_response)
    airflow-webserver-1     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/flask/app.py", line 2529, in wsgi_app
    airflow-webserver-1     |     response = self.full_dispatch_request()
    airflow-webserver-1     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/flask/app.py", line 1823, in full_dispatch_request
    airflow-webserver-1     |     rv = self.dispatch_request()
    airflow-webserver-1     |          ^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/flask/app.py", line 1799, in dispatch_request
    airflow-webserver-1     |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
    airflow-webserver-1     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/connexion/decorators/decorator.py", line 68, in wrapper
    airflow-webserver-1     |     response = function(request)
    airflow-webserver-1     |                ^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/connexion/decorators/uri_parsing.py", line 149, in wrapper
    airflow-webserver-1     |     response = function(request)
    airflow-webserver-1     |                ^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/connexion/decorators/validation.py", line 196, in wrapper
    airflow-webserver-1     |     response = function(request)
    airflow-webserver-1     |                ^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/connexion/decorators/response.py", line 112, in wrapper
    airflow-webserver-1     |     response = function(request)
    airflow-webserver-1     |                ^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/connexion/decorators/parameter.py", line 120, in wrapper
    airflow-webserver-1     |     return function(**kwargs)
    airflow-webserver-1     |            ^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/airflow/api_connexion/security.py", line 126, in decorated
    airflow-webserver-1     |     return _requires_access(
    airflow-webserver-1     |            ^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/airflow/api_connexion/security.py", line 98, in _requires_access
    airflow-webserver-1     |     return func(*args, **kwargs)
    airflow-webserver-1     |            ^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/airflow/api_connexion/endpoints/connection_endpoint.py", line 203, in test_connection
    airflow-webserver-1     |     status, message = conn.test_connection()
    airflow-webserver-1     |                       ^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/connection.py", line 463, in test_connection
    airflow-webserver-1     |     status, message = hook.test_connection()
    airflow-webserver-1     |                       ^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/ftp/hooks/ftp.py", line 261, in test_connection
    airflow-webserver-1     |     conn = self.get_conn()
    airflow-webserver-1     |            ^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/airflow/providers/ftp/hooks/ftp.py", line 61, in get_conn
    airflow-webserver-1     |     self.conn = ftplib.FTP(params.host, params.login, params.password)  # nosec: B321
    airflow-webserver-1     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/usr/local/lib/python3.12/ftplib.py", line 121, in __init__
    airflow-webserver-1     |     self.connect(host)
    airflow-webserver-1     |   File "/usr/local/lib/python3.12/ftplib.py", line 158, in connect
    airflow-webserver-1     |     self.sock = socket.create_connection((self.host, self.port), self.timeout,
    airflow-webserver-1     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    airflow-webserver-1     |   File "/usr/local/lib/python3.12/socket.py", line 838, in create_connection
    airflow-webserver-1     |     sock.connect(sa)
    airflow-webserver-1     |   File "/home/airflow/.local/lib/python3.12/site-packages/gunicorn/workers/base.py", line 203, in handle_abort
    airflow-webserver-1     |     sys.exit(1)
    airflow-webserver-1     | SystemExit: 1
    
  6. potiuk commented on Jun 14, 2024

    @potiuk
    Member

    Seems like you have a timeout which indicate either server side issue or firewall. So not airflow issue. converting into a discussion.

  7. locked and limited conversation to collaborators on Jun 14, 2024
  8. converted this issue into a discussion #40239 on Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions