You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Nick Digati (JIRA)" <ji...@apache.org> on 2019/05/10 21:12:00 UTC

[jira] [Created] (AIRFLOW-4497) KubernetesExecutor fails to launch pods when using run_as_user and fs_group options

Nick Digati created AIRFLOW-4497:
------------------------------------

             Summary: KubernetesExecutor fails to launch pods when using run_as_user and fs_group options
                 Key: AIRFLOW-4497
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-4497
             Project: Apache Airflow
          Issue Type: Bug
          Components: executor, kubernetes
    Affects Versions: 1.10.3
            Reporter: Nick Digati


If you set the run_as_user or the fs_group options in the airflow.cfg file when using the KubernetesExecutor the pods will fail to launch with the following error message:

 
{noformat}
[2019-05-10 05:36:09,207] {pod_launcher.py:60} ERROR - Exception when attempting to create Namespaced Pod.
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/airflow/contrib/kubernetes/pod_launcher.py", line 57, in run_pod_async
resp = self._client.create_namespaced_pod(body=req, namespace=pod.namespace)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/apis/core_v1_api.py", line 6115, in create_namespaced_pod
(data) = self.create_namespaced_pod_with_http_info(namespace, body, **kwargs)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/apis/core_v1_api.py", line 6206, in create_namespaced_pod_with_http_info
collection_formats=collection_formats)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/api_client.py", line 334, in call_api
_return_http_data_only, collection_formats, _preload_content, _request_timeout)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/api_client.py", line 168, in __call_api
_request_timeout=_request_timeout)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/api_client.py", line 377, in request
body=body)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/rest.py", line 266, in POST
body=body)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/rest.py", line 222, in request
raise ApiException(http_resp=r)
kubernetes.client.rest.ApiException: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json', 'Date': 'Fri, 10 May 2019 05:36:09 GMT', 'Content-Length': '428'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Pod in version \"v1\" cannot be handled as a Pod: v1.Pod.Spec: v1.PodSpec.SecurityContext: v1.PodSecurityContext.FSGroup: readUint64: unexpected character: \ufffd, error found in #10 byte of ...|sGroup\": \"65533\"}}}|..., bigger context ...|, \"affinity\": {}, \"securityContext\": {\"fsGroup\": \"65533\"}}}|...","reason":"BadRequest","code":400}{noformat}
 

It seems like those two options are getting put into the pod manifest as strings instead of integers?

 

My airflow.cfg options:

 
{noformat}
[kubernetes]
run_as_user = 1000
fs_group = 65533{noformat}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)