[
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)