[GitHub] [airflow] mik-laj commented on a change in pull request #7875: add spark_kubernetes system test

2020-04-02 Thread GitBox
mik-laj commented on a change in pull request #7875: add spark_kubernetes 
system test
URL: https://github.com/apache/airflow/pull/7875#discussion_r402750518
 
 

 ##
 File path: 
tests/providers/cncf/kubernetes/operators/test_spark_kubernetes_system.py
 ##
 @@ -0,0 +1,72 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import os
+import subprocess
+
+import pytest
+
+from airflow.models import Connection
+from airflow.utils import db
+from tests.test_utils import AIRFLOW_MAIN_FOLDER
+from tests.test_utils.system_tests_class import SystemTest
+
+KUBERNETES_DAG_FOLDER = os.path.join(
+AIRFLOW_MAIN_FOLDER, "airflow", "providers", "cncf", "kubernetes", 
"example_dags"
+)
+
+
+def _spark_operator_util(action):
 
 Review comment:
   @potiuk We must separate Kubernetes from the core. For now it won't be 
possible to use it on 1.10.X.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj commented on a change in pull request #7875: add spark_kubernetes system test

2020-03-25 Thread GitBox
mik-laj commented on a change in pull request #7875: add spark_kubernetes 
system test
URL: https://github.com/apache/airflow/pull/7875#discussion_r398092115
 
 

 ##
 File path: 
tests/providers/cncf/kubernetes/operators/test_spark_kubernetes_system.py
 ##
 @@ -0,0 +1,72 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import os
+import subprocess
+
+import pytest
+
+from airflow.models import Connection
+from airflow.utils import db
+from tests.test_utils import AIRFLOW_MAIN_FOLDER
+from tests.test_utils.system_tests_class import SystemTest
+
+KUBERNETES_DAG_FOLDER = os.path.join(
+AIRFLOW_MAIN_FOLDER, "airflow", "providers", "cncf", "kubernetes", 
"example_dags"
+)
+
+
+def _spark_operator_util(action):
 
 Review comment:
   I think this code can be greatly simplified. Thanks to my change, methods 
``kubectl_apply_list`` and ``kubectl_delete_list`` can be used in other places 
and integrations in the future.
   ```python
   SPARK_VERSION = "v1beta2-1.1.1-2.4.5"
   
   MANIFEST_BASE_URL = \
   
f'https://raw.githubusercontent.com/GoogleCloudPlatform/spark-on-k8s-operator/{SPARK_VERSION}/manifest/'
   
   SPARK_OPERATOR_MANIFESTS = [
   f"{MANIFEST_BASE_URL}crds/sparkoperator.k8s.io_sparkapplications.yaml",
   
f"{MANIFEST_BASE_URL}crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml",
   f"{MANIFEST_BASE_URL}spark-operator-rbac.yaml",
   f"{MANIFEST_BASE_URL}spark-operator.yaml",
   f"{MANIFEST_BASE_URL}spark-rbac.yaml"
   ]
   
   
   def kubectl_apply_list(manifests):
   for manifest in manifests:
   command = ['kubectl', 'apply', '-f', manifest]
   subprocess.run(command, check=True)
   
   
   def kubectl_delete_list(manifests):
   for manifest in manifests:
   command = ['kubectl', 'delete', '--ignore-not-found', '-f', manifest]
   subprocess.run(command, check=True)
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj commented on a change in pull request #7875: add spark_kubernetes system test

2020-03-25 Thread GitBox
mik-laj commented on a change in pull request #7875: add spark_kubernetes 
system test
URL: https://github.com/apache/airflow/pull/7875#discussion_r398100570
 
 

 ##
 File path: 
tests/providers/cncf/kubernetes/operators/test_spark_kubernetes_system.py
 ##
 @@ -0,0 +1,72 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import os
+import subprocess
+
+import pytest
+
+from airflow.models import Connection
+from airflow.utils import db
+from tests.test_utils import AIRFLOW_MAIN_FOLDER
+from tests.test_utils.system_tests_class import SystemTest
+
+KUBERNETES_DAG_FOLDER = os.path.join(
+AIRFLOW_MAIN_FOLDER, "airflow", "providers", "cncf", "kubernetes", 
"example_dags"
+)
+
+
+def _spark_operator_util(action):
+spark_operator_manifest_base_path = \
+'https://raw.githubusercontent.com/' \
+
'GoogleCloudPlatform/spark-on-k8s-operator/v1beta2-1.1.1-2.4.5/manifest/'
+
+spark_operator_manifests = [
+"crds/sparkoperator.k8s.io_sparkapplications.yaml",
+"crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml",
+"spark-operator-rbac.yaml",
+"spark-operator.yaml",
+"spark-rbac.yaml"
+]
+for manifest in spark_operator_manifests:
+if action == "apply":
+command = ['kubectl', 'apply', '-f',
+   spark_operator_manifest_base_path + manifest]
+elif action == "delete":
+command = ['kubectl', 'delete', '--ignore-not-found', '-f',
+   spark_operator_manifest_base_path + manifest]
+subprocess.run(command, check=True)
+
+
+@pytest.mark.system("cncf.kubernetes")
 
 Review comment:
   @potiuk Can you describe the differences between integration and system 
tests?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj commented on a change in pull request #7875: add spark_kubernetes system test

2020-03-25 Thread GitBox
mik-laj commented on a change in pull request #7875: add spark_kubernetes 
system test
URL: https://github.com/apache/airflow/pull/7875#discussion_r398094493
 
 

 ##
 File path: 
tests/providers/cncf/kubernetes/operators/test_spark_kubernetes_system.py
 ##
 @@ -0,0 +1,72 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import os
+import subprocess
+
+import pytest
+
+from airflow.models import Connection
+from airflow.utils import db
+from tests.test_utils import AIRFLOW_MAIN_FOLDER
+from tests.test_utils.system_tests_class import SystemTest
+
+KUBERNETES_DAG_FOLDER = os.path.join(
+AIRFLOW_MAIN_FOLDER, "airflow", "providers", "cncf", "kubernetes", 
"example_dags"
+)
+
+
+def _spark_operator_util(action):
+spark_operator_manifest_base_path = \
+'https://raw.githubusercontent.com/' \
+
'GoogleCloudPlatform/spark-on-k8s-operator/v1beta2-1.1.1-2.4.5/manifest/'
+
+spark_operator_manifests = [
+"crds/sparkoperator.k8s.io_sparkapplications.yaml",
+"crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml",
+"spark-operator-rbac.yaml",
+"spark-operator.yaml",
+"spark-rbac.yaml"
+]
+for manifest in spark_operator_manifests:
+if action == "apply":
+command = ['kubectl', 'apply', '-f',
+   spark_operator_manifest_base_path + manifest]
+elif action == "delete":
+command = ['kubectl', 'delete', '--ignore-not-found', '-f',
+   spark_operator_manifest_base_path + manifest]
+subprocess.run(command, check=True)
+
+
+@pytest.mark.system("cncf.kubernetes")
 
 Review comment:
   This is not a system test, but an integration test. System tests use 
external services. In this case, you can use a cluster that we run locally. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj commented on a change in pull request #7875: add spark_kubernetes system test

2020-03-25 Thread GitBox
mik-laj commented on a change in pull request #7875: add spark_kubernetes 
system test
URL: https://github.com/apache/airflow/pull/7875#discussion_r398092115
 
 

 ##
 File path: 
tests/providers/cncf/kubernetes/operators/test_spark_kubernetes_system.py
 ##
 @@ -0,0 +1,72 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import os
+import subprocess
+
+import pytest
+
+from airflow.models import Connection
+from airflow.utils import db
+from tests.test_utils import AIRFLOW_MAIN_FOLDER
+from tests.test_utils.system_tests_class import SystemTest
+
+KUBERNETES_DAG_FOLDER = os.path.join(
+AIRFLOW_MAIN_FOLDER, "airflow", "providers", "cncf", "kubernetes", 
"example_dags"
+)
+
+
+def _spark_operator_util(action):
 
 Review comment:
   I think this code can be greatly simplified. Thanks to my change, methods 
``kubectl_apply_list`` and ``kubectl_delete_list`` can be used in other places 
and integrations in the future.
   ```python
   SPARK_VERSION = "v1beta2-1.1.1-2.4.5"
   
   MANIFEST_BASE_URL = \
   
f'https://raw.githubusercontent.com/GoogleCloudPlatform/spark-on-k8s-operator/{SPARK_VERSION}/manifest/'
   
   spark_operator_manifests = [
   f"{MANIFEST_BASE_URL}crds/sparkoperator.k8s.io_sparkapplications.yaml",
   
f"{MANIFEST_BASE_URL}crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml",
   f"{MANIFEST_BASE_URL}spark-operator-rbac.yaml",
   f"{MANIFEST_BASE_URL}spark-operator.yaml",
   f"{MANIFEST_BASE_URL}spark-rbac.yaml"
   ]
   
   
   def kubectl_apply_list(manifests):
   for manifest in manifests:
   command = ['kubectl', 'apply', '-f', manifest]
   subprocess.run(command, check=True)
   
   
   def kubectl_delete_list(manifests):
   for manifest in manifests:
   command = ['kubectl', 'delete', '--ignore-not-found', '-f', manifest]
   subprocess.run(command, check=True)
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [airflow] mik-laj commented on a change in pull request #7875: add spark_kubernetes system test

2020-03-25 Thread GitBox
mik-laj commented on a change in pull request #7875: add spark_kubernetes 
system test
URL: https://github.com/apache/airflow/pull/7875#discussion_r398092115
 
 

 ##
 File path: 
tests/providers/cncf/kubernetes/operators/test_spark_kubernetes_system.py
 ##
 @@ -0,0 +1,72 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import os
+import subprocess
+
+import pytest
+
+from airflow.models import Connection
+from airflow.utils import db
+from tests.test_utils import AIRFLOW_MAIN_FOLDER
+from tests.test_utils.system_tests_class import SystemTest
+
+KUBERNETES_DAG_FOLDER = os.path.join(
+AIRFLOW_MAIN_FOLDER, "airflow", "providers", "cncf", "kubernetes", 
"example_dags"
+)
+
+
+def _spark_operator_util(action):
 
 Review comment:
   I think this code can be greatly simplified. Thanks to my change, methods 
``kubectl_apply_list`` and ``kubectl_delete_list`` can be used in other places 
and integrations in the future.
   ```
   SPARK_VERSION = "v1beta2-1.1.1-2.4.5"
   
   MANIFEST_BASE_URL = \
   
f'https://raw.githubusercontent.com/GoogleCloudPlatform/spark-on-k8s-operator/{SPARK_VERSION}/manifest/'
   
   spark_operator_manifests = [
   f"{MANIFEST_BASE_URL}crds/sparkoperator.k8s.io_sparkapplications.yaml",
   
f"{MANIFEST_BASE_URL}crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml",
   f"{MANIFEST_BASE_URL}spark-operator-rbac.yaml",
   f"{MANIFEST_BASE_URL}spark-operator.yaml",
   f"{MANIFEST_BASE_URL}spark-rbac.yaml"
   ]
   
   
   def kubectl_apply_list(manifests):
   for manifest in manifests:
   command = ['kubectl', 'apply', '-f', manifest]
   subprocess.run(command, check=True)
   
   
   def kubectl_delete_list(manifests):
   for manifest in manifests:
   command = ['kubectl', 'delete', '--ignore-not-found', '-f', manifest]
   subprocess.run(command, check=True)
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services