You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Ian Truslove (JIRA)" <ji...@apache.org> on 2019/07/22 22:36:00 UTC
[jira] [Created] (AIRFLOW-5022) DockerHook ignores connection port
Ian Truslove created AIRFLOW-5022:
-------------------------------------
Summary: DockerHook ignores connection port
Key: AIRFLOW-5022
URL: https://issues.apache.org/jira/browse/AIRFLOW-5022
Project: Apache Airflow
Issue Type: Bug
Components: hooks, operators
Affects Versions: 1.10.3
Reporter: Ian Truslove
I have a DAG with a DockerOperator whose Docker image is hosted in a private registry. Passing a connection with creds to access the registry doesn't work - I get access errors like this:
{{[2019-07-22 18:29:36,734] \{{__init__.py:1580}} ERROR - 500 Server Error: Internal Server Error ("Get https://<my.internal.url>:2345/v2/foo/bar/manifests/dd92a47df2f3d2c82775552b765013d3c60a2f34}}{{: denied: access forbidden") }}
and the image is not retrieved.
I am quite sure I am passing the correct credentials.
Digging in a bit, I saw that docker_hook doesn't use the connection's _port_ property. I definitely do have my registry exposed at a non-standard port number.
I hacked a fix directly in to my Airflow, and this does solve the problem.
I replaced
{{self.__registry = conn.host}}
on line 57 of docker_hook.py with
{{self.__registry = conn.host if conn.port is None else f"\{conn.host}:\{conn.port}"}}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)