[ 
https://issues.apache.org/jira/browse/AIRFLOW-3435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kaxil Naik closed AIRFLOW-3435.
-------------------------------
    Resolution: Implemented

Resolved in https://github.com/apache/airflow/pull/3875

> Example KubernetesOperator docs for Volume mount wrong
> ------------------------------------------------------
>
>                 Key: AIRFLOW-3435
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3435
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: documentation, 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
>            Assignee: Daniel Imberman
>            Priority: Major
>              Labels: kubernetes
>
> 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
(v8.3.4#803005)

Reply via email to