You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Sai Varun Reddy Daram (JIRA)" <ji...@apache.org> on 2018/12/03 08:33:00 UTC

[jira] [Created] (AIRFLOW-3435) Volume mount issue with kubernetes pod operator

Sai Varun Reddy Daram created AIRFLOW-3435:
----------------------------------------------

             Summary: Volume mount issue with kubernetes pod operator
                 Key: AIRFLOW-3435
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3435
             Project: Apache Airflow
          Issue Type: Bug
          Components: kubernetes, operators
    Affects Versions: 1.10.1
         Environment: Airflow 1.10.1 on Docker, Kubernetes running on minikube v0.28.2, kubernetes client version: 1.12.3, kubernetes server version: 1.10.0, python version of airflow 3.6
            Reporter: Sai Varun Reddy Daram


I have followed the standard example describe here [https://airflow.apache.org/kubernetes.html#kubernetes-operator,] and I'm getting this error.

{{Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/airflow/contrib/kubernetes/pod_launcher.py", line 55, 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 321, 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 155, in __call_api _request_timeout=_request_timeout) File "/usr/local/lib/python3.6/site-packages/kubernetes/client/api_client.py", line 364, 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: (422) Reason: Unprocessable Entity HTTP response headers: HTTPHeaderDict(\{'Content-Type': 'application/json', 'Date': 'Mon, 03 Dec 2018 07:16:10 GMT', 'Content-Length': '393'}) HTTP response body: \{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Pod \"test-4f6c8ada\" is invalid: spec.containers[0].volumeMounts[1].name: Not found: \"test-volume\"","reason":"Invalid","details":\{"name":"test-4f6c8ada","kind":"Pod","causes":[{"reason":"FieldValueNotFound","message":"Not found: \"test-volume\"","field":"spec.containers[0].volumeMounts[1].name"}]},"code":422}}}

 

 

{{The code is:}}
{code:java}
// code placeholder
from airflow.contrib.kubernetes.volume import Volume
from airflow.contrib.kubernetes.volume_mount import VolumeMount
from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator
from airflow.contrib.kubernetes.secret import Secret
from airflow import DAG
from datetime import datetime, timedelta

current_date = datetime.utcnow()
default_args = {
'owner': 'root',
'depends_on_past': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}

secret_file = Secret('volume', '/etc/sql_conn', 'airflow-secrets', 'sql_alchemy_conn')
secret_env = Secret('env', 'SQL_CONN', 'airflow-secrets', 'sql_alchemy_conn')
volume_mount = VolumeMount('test-volume',
mount_path='/root/mount_file',
sub_path=None,
read_only=True)

volume_config = {
'persistentVolumeClaim':
{
'claimName': 'test-volume'
}
}
volume = Volume(name='test-volume', configs=volume_config)
with DAG(
dag_id='MMM_DAG', default_args=default_args,
start_date=current_date,
concurrency=1,
schedule_interval=None) as d:
k = KubernetesPodOperator(namespace='default',
image="ubuntu:16.04",
cmds=["bash", "-cx"],
arguments=["echo", "10"],
in_cluster=True,
labels={"foo": "bar"},
secrets=[secret_file, secret_env],
volume=[volume],
volume_mounts=[volume_mount],
name="test",
task_id="task",
is_delete_operator_pod=True,
hostnetwork=False
)


{code}



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