0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003 ~ Licensed to the Apache Software Foundation (ASF) under one or more
0004 ~ contributor license agreements. See the NOTICE file distributed with
0005 ~ this work for additional information regarding copyright ownership.
0006 ~ The ASF licenses this file to You under the Apache License, Version 2.0
0007 ~ (the "License"); you may not use this file except in compliance with
0008 ~ the License. You may obtain a copy of the License at
0009 ~
0010 ~ http://www.apache.org/licenses/LICENSE-2.0
0011 ~
0012 ~ Unless required by applicable law or agreed to in writing, software
0013 ~ distributed under the License is distributed on an "AS IS" BASIS,
0014 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0015 ~ See the License for the specific language governing permissions and
0016 ~ limitations under the License.
0017 -->
0018 <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">
0019 <modelVersion>4.0.0</modelVersion>
0020 <parent>
0021 <groupId>org.apache.spark</groupId>
0022 <artifactId>spark-parent_2.12</artifactId>
0023 <version>3.0.0</version>
0024 <relativePath>../../../pom.xml</relativePath>
0025 </parent>
0026
0027 <artifactId>spark-kubernetes-integration-tests_2.12</artifactId>
0028 <properties>
0029 <download-maven-plugin.version>1.3.0</download-maven-plugin.version>
0030 <exec-maven-plugin.version>1.4.0</exec-maven-plugin.version>
0031 <extraScalaTestArgs></extraScalaTestArgs>
0032 <kubernetes-client.version>4.9.2</kubernetes-client.version>
0033 <scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
0034 <scalatest-maven-plugin.version>1.0</scalatest-maven-plugin.version>
0035 <sbt.project.name>kubernetes-integration-tests</sbt.project.name>
0036
0037 <!-- Integration Test Configuration Properties -->
0038 <!-- Please see README.md in this directory for explanation of these -->
0039 <spark.kubernetes.test.sparkTgz></spark.kubernetes.test.sparkTgz>
0040 <spark.kubernetes.test.unpackSparkDir>${project.build.directory}/spark-dist-unpacked</spark.kubernetes.test.unpackSparkDir>
0041 <spark.kubernetes.test.imageTag>N/A</spark.kubernetes.test.imageTag>
0042 <spark.kubernetes.test.javaImageTag>8-jre-slim</spark.kubernetes.test.javaImageTag>
0043 <spark.kubernetes.test.imageTagFile>${project.build.directory}/imageTag.txt</spark.kubernetes.test.imageTagFile>
0044 <spark.kubernetes.test.deployMode>minikube</spark.kubernetes.test.deployMode>
0045 <spark.kubernetes.test.imageRepo>docker.io/kubespark</spark.kubernetes.test.imageRepo>
0046 <spark.kubernetes.test.kubeConfigContext></spark.kubernetes.test.kubeConfigContext>
0047 <spark.kubernetes.test.master></spark.kubernetes.test.master>
0048 <spark.kubernetes.test.namespace></spark.kubernetes.test.namespace>
0049 <spark.kubernetes.test.serviceAccountName></spark.kubernetes.test.serviceAccountName>
0050
0051 <test.exclude.tags></test.exclude.tags>
0052 <test.include.tags></test.include.tags>
0053 </properties>
0054 <packaging>jar</packaging>
0055 <name>Spark Project Kubernetes Integration Tests</name>
0056
0057 <dependencies>
0058 <dependency>
0059 <groupId>org.apache.spark</groupId>
0060 <artifactId>spark-core_${scala.binary.version}</artifactId>
0061 <version>${project.version}</version>
0062 </dependency>
0063 <dependency>
0064 <groupId>org.apache.spark</groupId>
0065 <artifactId>spark-core_${scala.binary.version}</artifactId>
0066 <version>${project.version}</version>
0067 <type>test-jar</type>
0068 <scope>test</scope>
0069 </dependency>
0070 <dependency>
0071 <groupId>io.fabric8</groupId>
0072 <artifactId>kubernetes-client</artifactId>
0073 <version>${kubernetes-client.version}</version>
0074 </dependency>
0075 <dependency>
0076 <groupId>org.apache.spark</groupId>
0077 <artifactId>spark-tags_${scala.binary.version}</artifactId>
0078 <type>test-jar</type>
0079 </dependency>
0080 </dependencies>
0081
0082 <build>
0083 <plugins>
0084 <plugin>
0085 <groupId>org.codehaus.mojo</groupId>
0086 <artifactId>exec-maven-plugin</artifactId>
0087 <version>${exec-maven-plugin.version}</version>
0088 <executions>
0089 <execution>
0090 <id>setup-integration-test-env</id>
0091 <phase>pre-integration-test</phase>
0092 <goals>
0093 <goal>exec</goal>
0094 </goals>
0095 <configuration>
0096 <executable>scripts/setup-integration-test-env.sh</executable>
0097 <arguments>
0098 <argument>--unpacked-spark-tgz</argument>
0099 <argument>${spark.kubernetes.test.unpackSparkDir}</argument>
0100
0101 <argument>--image-repo</argument>
0102 <argument>${spark.kubernetes.test.imageRepo}</argument>
0103
0104 <argument>--image-tag</argument>
0105 <argument>${spark.kubernetes.test.imageTag}</argument>
0106
0107 <argument>--java-image-tag</argument>
0108 <argument>${spark.kubernetes.test.javaImageTag}</argument>
0109
0110 <argument>--image-tag-output-file</argument>
0111 <argument>${spark.kubernetes.test.imageTagFile}</argument>
0112
0113 <argument>--deploy-mode</argument>
0114 <argument>${spark.kubernetes.test.deployMode}</argument>
0115
0116 <argument>--spark-tgz</argument>
0117 <argument>${spark.kubernetes.test.sparkTgz}</argument>
0118
0119 <argument>--test-exclude-tags</argument>
0120 <argument>"${test.exclude.tags}"</argument>
0121 </arguments>
0122 </configuration>
0123 </execution>
0124 </executions>
0125 </plugin>
0126
0127 <plugin>
0128 <groupId>org.apache.maven.plugins</groupId>
0129 <artifactId>maven-surefire-plugin</artifactId>
0130 <configuration>
0131 <skipTests>true</skipTests>
0132 </configuration>
0133 </plugin>
0134
0135 <plugin>
0136 <!-- Triggers scalatest plugin in the integration-test phase instead of
0137 the test phase. -->
0138 <groupId>org.scalatest</groupId>
0139 <artifactId>scalatest-maven-plugin</artifactId>
0140 <version>${scalatest-maven-plugin.version}</version>
0141 <configuration>
0142 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
0143 <junitxml>.</junitxml>
0144 <filereports>SparkTestSuite.txt</filereports>
0145 <argLine>-ea -Xmx4g -XX:ReservedCodeCacheSize=1g ${extraScalaTestArgs}</argLine>
0146 <stderr/>
0147 <systemProperties>
0148 <log4j.configuration>file:src/test/resources/log4j.properties</log4j.configuration>
0149 <java.awt.headless>true</java.awt.headless>
0150 <spark.kubernetes.test.imageTagFile>${spark.kubernetes.test.imageTagFile}</spark.kubernetes.test.imageTagFile>
0151 <spark.kubernetes.test.unpackSparkDir>${spark.kubernetes.test.unpackSparkDir}</spark.kubernetes.test.unpackSparkDir>
0152 <spark.kubernetes.test.imageRepo>${spark.kubernetes.test.imageRepo}</spark.kubernetes.test.imageRepo>
0153 <spark.kubernetes.test.deployMode>${spark.kubernetes.test.deployMode}</spark.kubernetes.test.deployMode>
0154 <spark.kubernetes.test.kubeConfigContext>${spark.kubernetes.test.kubeConfigContext}</spark.kubernetes.test.kubeConfigContext>
0155 <spark.kubernetes.test.master>${spark.kubernetes.test.master}</spark.kubernetes.test.master>
0156 <spark.kubernetes.test.namespace>${spark.kubernetes.test.namespace}</spark.kubernetes.test.namespace>
0157 <spark.kubernetes.test.serviceAccountName>${spark.kubernetes.test.serviceAccountName}</spark.kubernetes.test.serviceAccountName>
0158 <spark.kubernetes.test.jvmImage>${spark.kubernetes.test.jvmImage}</spark.kubernetes.test.jvmImage>
0159 <spark.kubernetes.test.pythonImage>${spark.kubernetes.test.pythonImage}</spark.kubernetes.test.pythonImage>
0160 <spark.kubernetes.test.rImage>${spark.kubernetes.test.rImage}</spark.kubernetes.test.rImage>
0161 </systemProperties>
0162 <tagsToExclude>${test.exclude.tags}</tagsToExclude>
0163 <tagsToInclude>${test.include.tags}</tagsToInclude>
0164 </configuration>
0165 <executions>
0166 <execution>
0167 <id>test</id>
0168 <phase>none</phase>
0169 <goals>
0170 <goal>test</goal>
0171 </goals>
0172 </execution>
0173 <execution>
0174 <id>integration-test</id>
0175 <phase>integration-test</phase>
0176 <goals>
0177 <goal>test</goal>
0178 </goals>
0179 </execution>
0180 </executions>
0181 </plugin>
0182 </plugins>
0183
0184 </build>
0185
0186 <profiles>
0187 <profile>
0188 <id>hadoop-2.7</id>
0189 <activation>
0190 <activeByDefault>true</activeByDefault>
0191 </activation>
0192 <dependencies>
0193 <dependency>
0194 <groupId>com.amazonaws</groupId>
0195 <artifactId>aws-java-sdk</artifactId>
0196 <version>1.7.4</version>
0197 <scope>test</scope>
0198 </dependency>
0199 </dependencies>
0200 </profile>
0201 <profile>
0202 <id>hadoop-3.2</id>
0203 <dependencies>
0204 <dependency>
0205 <groupId>com.amazonaws</groupId>
0206 <artifactId>aws-java-sdk-bundle</artifactId>
0207 <version>1.11.375</version>
0208 <scope>test</scope>
0209 </dependency>
0210 </dependencies>
0211 </profile>
0212 </profiles>
0213 </project>