| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ~ 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. |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-parent_2.12</artifactId> |
| <version>3.5.1</version> |
| <relativePath>../../../pom.xml</relativePath> |
| </parent> |
| |
| <artifactId>spark-kubernetes-integration-tests_2.12</artifactId> |
| <properties> |
| <sbt.project.name>kubernetes-integration-tests</sbt.project.name> |
| |
| <!-- Integration Test Configuration Properties --> |
| <!-- Please see README.md in this directory for explanation of these --> |
| <spark.kubernetes.test.sparkTgz>N/A</spark.kubernetes.test.sparkTgz> |
| <spark.kubernetes.test.unpackSparkDir>${project.build.directory}/spark-dist-unpacked</spark.kubernetes.test.unpackSparkDir> |
| <spark.kubernetes.test.imageTag>N/A</spark.kubernetes.test.imageTag> |
| <spark.kubernetes.test.javaImageTag>N/A</spark.kubernetes.test.javaImageTag> |
| <spark.kubernetes.test.imageTagFile>${project.build.directory}/imageTag.txt</spark.kubernetes.test.imageTagFile> |
| <spark.kubernetes.test.deployMode>minikube</spark.kubernetes.test.deployMode> |
| <spark.kubernetes.test.imageRepo>docker.io/kubespark</spark.kubernetes.test.imageRepo> |
| <spark.kubernetes.test.kubeConfigContext></spark.kubernetes.test.kubeConfigContext> |
| <spark.kubernetes.test.master></spark.kubernetes.test.master> |
| <spark.kubernetes.test.namespace></spark.kubernetes.test.namespace> |
| <spark.kubernetes.test.serviceAccountName></spark.kubernetes.test.serviceAccountName> |
| <spark.kubernetes.test.dockerFile>Dockerfile</spark.kubernetes.test.dockerFile> |
| |
| <test.exclude.tags></test.exclude.tags> |
| <test.default.exclude.tags>org.apache.spark.deploy.k8s.integrationtest.YuniKornTag</test.default.exclude.tags> |
| <test.include.tags></test.include.tags> |
| <volcano.exclude>**/*Volcano*.scala</volcano.exclude> |
| </properties> |
| <packaging>jar</packaging> |
| <name>Spark Project Kubernetes Integration Tests</name> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.fabric8</groupId> |
| <artifactId>kubernetes-client</artifactId> |
| <version>${kubernetes-client.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-tags_${scala.binary.version}</artifactId> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-kubernetes_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>${volcano.exclude}</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>${exec-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>setup-integration-test-env</id> |
| <phase>pre-integration-test</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>scripts/setup-integration-test-env.sh</executable> |
| <arguments> |
| <argument>--unpacked-spark-tgz</argument> |
| <argument>${spark.kubernetes.test.unpackSparkDir}</argument> |
| |
| <argument>--image-repo</argument> |
| <argument>${spark.kubernetes.test.imageRepo}</argument> |
| |
| <argument>--image-tag</argument> |
| <argument>${spark.kubernetes.test.imageTag}</argument> |
| |
| <argument>--java-image-tag</argument> |
| <argument>${spark.kubernetes.test.javaImageTag}</argument> |
| |
| <argument>--image-tag-output-file</argument> |
| <argument>${spark.kubernetes.test.imageTagFile}</argument> |
| |
| <argument>--deploy-mode</argument> |
| <argument>${spark.kubernetes.test.deployMode}</argument> |
| |
| <argument>--spark-tgz</argument> |
| <argument>${spark.kubernetes.test.sparkTgz}</argument> |
| |
| <argument>--docker-file</argument> |
| <argument>${spark.kubernetes.test.dockerFile}</argument> |
| |
| <argument>--test-exclude-tags</argument> |
| <argument>"${test.exclude.tags},${test.default.exclude.tags}"</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <skipTests>true</skipTests> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <!-- Triggers scalatest plugin in the integration-test phase instead of |
| the test phase. --> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest-maven-plugin</artifactId> |
| <version>${scalatest-maven-plugin.version}</version> |
| <configuration> |
| <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> |
| <junitxml>.</junitxml> |
| <filereports>SparkTestSuite.txt</filereports> |
| <argLine>-ea -Xmx4g -XX:ReservedCodeCacheSize=1g</argLine> |
| <stderr/> |
| <systemProperties> |
| <log4j.configurationFile>file:src/test/resources/log4j2.properties</log4j.configurationFile> |
| <java.awt.headless>true</java.awt.headless> |
| <spark.kubernetes.test.imageTagFile>${spark.kubernetes.test.imageTagFile}</spark.kubernetes.test.imageTagFile> |
| <spark.kubernetes.test.unpackSparkDir>${spark.kubernetes.test.unpackSparkDir}</spark.kubernetes.test.unpackSparkDir> |
| <spark.kubernetes.test.imageRepo>${spark.kubernetes.test.imageRepo}</spark.kubernetes.test.imageRepo> |
| <spark.kubernetes.test.deployMode>${spark.kubernetes.test.deployMode}</spark.kubernetes.test.deployMode> |
| <spark.kubernetes.test.kubeConfigContext>${spark.kubernetes.test.kubeConfigContext}</spark.kubernetes.test.kubeConfigContext> |
| <spark.kubernetes.test.master>${spark.kubernetes.test.master}</spark.kubernetes.test.master> |
| <spark.kubernetes.test.namespace>${spark.kubernetes.test.namespace}</spark.kubernetes.test.namespace> |
| <spark.kubernetes.test.serviceAccountName>${spark.kubernetes.test.serviceAccountName}</spark.kubernetes.test.serviceAccountName> |
| <spark.kubernetes.test.jvmImage>${spark.kubernetes.test.jvmImage}</spark.kubernetes.test.jvmImage> |
| <spark.kubernetes.test.pythonImage>${spark.kubernetes.test.pythonImage}</spark.kubernetes.test.pythonImage> |
| <spark.kubernetes.test.rImage>${spark.kubernetes.test.rImage}</spark.kubernetes.test.rImage> |
| </systemProperties> |
| <tagsToExclude>${test.exclude.tags},${test.default.exclude.tags}</tagsToExclude> |
| <tagsToInclude>${test.include.tags}</tagsToInclude> |
| </configuration> |
| <executions> |
| <execution> |
| <id>test</id> |
| <phase>none</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>integration-test</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>hadoop-3</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>com.amazonaws</groupId> |
| <artifactId>aws-java-sdk-bundle</artifactId> |
| <version>1.11.375</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>volcano</id> |
| <properties> |
| <volcano.exclude></volcano.exclude> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>io.fabric8</groupId> |
| <artifactId>volcano-client</artifactId> |
| <version>${kubernetes-client.version}</version> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| </project> |