You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by te...@apache.org on 2014/07/08 00:03:16 UTC
git commit: SLIDER-215 Add functional tests for HBase app package
Repository: incubator-slider
Updated Branches:
refs/heads/develop 0d0ebe9d8 -> 2d8f68d1b
SLIDER-215 Add functional tests for HBase app package
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/2d8f68d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/2d8f68d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/2d8f68d1
Branch: refs/heads/develop
Commit: 2d8f68d1bea3937a5182e8c6149f3c219f034dfa
Parents: 0d0ebe9
Author: tedyu <yu...@gmail.com>
Authored: Mon Jul 7 15:03:17 2014 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Mon Jul 7 15:03:17 2014 -0700
----------------------------------------------------------------------
app-packages/hbase/appConfig.json | 7 +-
app-packages/hbase/pom.xml | 162 ++++++++++++++++++-
app-packages/hbase/resources.json | 8 +-
app-packages/hbase/src/assembly/hbase.xml | 2 +-
.../hbase/HBaseAgentCommandTestBase.groovy | 52 ++++++
.../slider/funtest/hbase/HBaseBasicIT.groovy | 114 +++++++++++++
.../funtest/hbase/HBaseMonitorSSLIT.groovy | 73 +++++++++
.../hbase/StubToForceGroovyTestsToCompile.java | 22 +++
.../test/resources/appConfig_monitor_ssl.json | 68 ++++++++
.../hbase/src/test/resources/resources.json | 21 +++
10 files changed, 522 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/appConfig.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase/appConfig.json b/app-packages/hbase/appConfig.json
index 81fcf2c..3a810f7 100644
--- a/app-packages/hbase/appConfig.json
+++ b/app-packages/hbase/appConfig.json
@@ -3,8 +3,8 @@
"metadata": {
},
"global": {
- "agent.conf": "/slider/agent/conf/agent.ini",
- "application.def": "/slider/${app.package.name}.zip",
+ "agent.conf": "agent.ini",
+ "application.def": "${app.package.name}.zip",
"create.default.zookeeper.node": "true",
"config_types": "core-site,hdfs-site,hbase-site",
"java_home": "/usr/jdk64/jdk1.7.0_45",
@@ -16,8 +16,11 @@
"site.global.app_install_dir": "${AGENT_WORK_ROOT}/app/install",
"site.global.hbase_master_heapsize": "1024m",
"site.global.hbase_regionserver_heapsize": "1024m",
+ "site.global.hbase_instance_name": "instancename",
+ "site.global.hbase_root_password": "secret",
"site.global.user_group": "hadoop",
"site.global.security_enabled": "false",
+ "site.global.monitor_protocol": "http",
"site.global.ganglia_server_host": "${NN_HOST}",
"site.global.ganglia_server_port": "8667",
"site.global.ganglia_server_id": "Application1",
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/pom.xml
----------------------------------------------------------------------
diff --git a/app-packages/hbase/pom.xml b/app-packages/hbase/pom.xml
index 6872ac8..3854496 100644
--- a/app-packages/hbase/pom.xml
+++ b/app-packages/hbase/pom.xml
@@ -24,7 +24,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>slider-hbase-app-package</artifactId>
- <packaging>pom</packaging>
+ <packaging>jar</packaging>
<name>Slider HBase App Package</name>
<description>Slider HBase App Package</description>
<properties>
@@ -70,16 +70,90 @@
<configuration>
<includeArtifactIds>hbase</includeArtifactIds>
<includeTypes>tar.gz</includeTypes>
+ <excludeTransitive>true</excludeTransitive>
<outputDirectory>${project.build.directory}/${work.dir}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>run-integration-tests</id>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <systemPropertyVariables>
+ <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
+ <java.awt.headless>true</java.awt.headless>
+ <!-- this property must be supplied-->
+ <slider.conf.dir>${slider.conf.dir}</slider.conf.dir>
+ <slider.bin.dir>../../slider-assembly/target/slider-${project.version}-all/slider-${project.version}</slider.bin.dir>
+ <test.app.pkg.dir>target</test.app.pkg.dir>
+ <test.app.pkg.file>${app.package.name}.zip</test.app.pkg.file>
+ <test.app.resource>target/test-config/resources.json</test.app.resource>
+ <test.app.template>target/${app.package.name}/appConfig.json</test.app.template>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
</plugins>
</build>
</profile>
</profiles>
+ <build>
+ <!-- resources are filtered for dynamic updates. This gets build info in-->
+ <resources>
+ <resource>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
+ <targetPath>${project.build.directory}/test-config</targetPath>
+ </resource>
+ </resources>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <configuration>
+ <compilerId>groovy-eclipse-compiler</compilerId>
+ <!-- set verbose to be true if you want lots of uninteresting messages -->
+ <!-- <verbose>true</verbose> -->
+ <source>${project.java.src.version}</source>
+ <target>${project.java.src.version}</target>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-eclipse-compiler</artifactId>
+ <version>${groovy-eclipse-compiler.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-eclipse-batch</artifactId>
+ <version>${groovy-eclipse-batch.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- can't figure out how to get the surefire plugin not to pick up the ITs, so skip it entirely -->
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
<dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
@@ -88,6 +162,92 @@
<classifier>bin</classifier>
<type>tar.gz</type>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-client</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-minicluster</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-server</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-protocol</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-common</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-common</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-it</artifactId>
+ <classifier>tests</classifier>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-client</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-hadoop-compat</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-hadoop2-compat</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hbase</groupId>
+ <artifactId>hbase-server</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.slider</groupId>
+ <artifactId>slider-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.slider</groupId>
+ <artifactId>slider-funtest</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/resources.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase/resources.json b/app-packages/hbase/resources.json
index 9cc1b47..e0ff26f 100644
--- a/app-packages/hbase/resources.json
+++ b/app-packages/hbase/resources.json
@@ -7,13 +7,15 @@
"components": {
"HBASE_MASTER": {
"yarn.role.priority": "1",
- "yarn.component.instances": "1"
+ "yarn.component.instances": "1",
+ "yarn.memory": "256"
},
"slider-appmaster": {
},
"HBASE_REGIONSERVER": {
"yarn.role.priority": "2",
- "yarn.component.instances": "1"
+ "yarn.component.instances": "1",
+ "yarn.memory": "256"
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/assembly/hbase.xml
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/assembly/hbase.xml b/app-packages/hbase/src/assembly/hbase.xml
index 00b69ff..143c88f 100644
--- a/app-packages/hbase/src/assembly/hbase.xml
+++ b/app-packages/hbase/src/assembly/hbase.xml
@@ -23,7 +23,7 @@
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>hbase_v${hbase.version}</id>
<formats>
- <format>zip</format>
+ <format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseAgentCommandTestBase.groovy
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseAgentCommandTestBase.groovy b/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseAgentCommandTestBase.groovy
new file mode 100644
index 0000000..0026b62
--- /dev/null
+++ b/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseAgentCommandTestBase.groovy
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+package org.apache.slider.funtest.hbase
+
+import groovy.util.logging.Slf4j
+import org.apache.slider.funtest.framework.AgentCommandTestBase
+import org.junit.After
+import org.junit.Before
+
+@Slf4j
+abstract class AccumuloAgentCommandTestBase extends AgentCommandTestBase {
+ protected static final int HBASE_LAUNCH_WAIT_TIME
+ protected static final int HBASE_GO_LIVE_TIME = 60000
+
+ // parameters must match those found in the default appConfig.json
+ protected static final String INSTANCE_NAME = "instancename"
+ protected static final String USER = "root"
+ protected static final String PASSWORD = "secret"
+
+ static {
+ HBASE_LAUNCH_WAIT_TIME = getTimeOptionMillis(SLIDER_CONFIG,
+ KEY_HBASE_LAUNCH_TIME,
+ 1000 * DEFAULT_HBASE_LAUNCH_TIME_SECONDS)
+ }
+
+ abstract public String getClusterName();
+
+ @Before
+ public void prepareCluster() {
+ setupCluster(getClusterName())
+ }
+
+ @After
+ public void destroyCluster() {
+ cleanup(getClusterName())
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseBasicIT.groovy
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseBasicIT.groovy b/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseBasicIT.groovy
new file mode 100644
index 0000000..52e19cd
--- /dev/null
+++ b/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseBasicIT.groovy
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+package org.apache.slider.funtest.hbase
+
+import groovy.util.logging.Slf4j
+import org.apache.slider.api.ClusterDescription
+import org.apache.slider.client.SliderClient
+import org.apache.slider.common.SliderKeys
+import org.apache.slider.core.registry.docstore.PublishedConfiguration
+import org.apache.slider.core.registry.info.ServiceInstanceData
+import org.apache.slider.core.registry.retrieve.RegistryRetriever
+import org.apache.slider.funtest.framework.SliderShell
+import org.apache.slider.server.services.curator.CuratorServiceInstance
+import org.junit.Test
+
+@Slf4j
+class HBaseBasicIT extends HBaseAgentCommandTestBase {
+
+ @Override
+ public String getClusterName() {
+ return "test_hbase_basic"
+ }
+
+ @Test
+ public void testHBaseClusterCreate() throws Throwable {
+
+ describe getDescription()
+
+ def path = buildClusterPath(getClusterName())
+ assert !clusterFS.exists(path)
+
+ SliderShell shell = slider(EXIT_SUCCESS,
+ [
+ ACTION_CREATE, getClusterName(),
+ ARG_IMAGE, agentTarballPath.toString(),
+ ARG_TEMPLATE, APP_TEMPLATE,
+ ARG_RESOURCES, APP_RESOURCE
+ ])
+
+ logShell(shell)
+
+ ensureApplicationIsUp(getClusterName())
+
+ // must match the values in src/test/resources/resources.json
+ Map<String, Integer> roleMap = [
+ "HBASE_MASTER" : 1,
+ "HBASE_REGIONSERVER" : 1
+ ];
+
+ //get a slider client against the cluster
+ SliderClient sliderClient = bondToCluster(SLIDER_CONFIG, getClusterName())
+ ClusterDescription cd = sliderClient.clusterDescription
+ assert getClusterName() == cd.name
+
+ log.info("Connected via Client {}", sliderClient.toString())
+
+ //wait for the role counts to be reached
+ waitForRoleCount(sliderClient, roleMap, HBASE_LAUNCH_WAIT_TIME)
+
+ sleep(HBASE_GO_LIVE_TIME)
+
+ clusterLoadOperations(cd, sliderClient)
+ }
+
+
+ public String getDescription() {
+ return "Create a working HBase cluster $clusterName"
+ }
+
+ public static String getMonitorUrl(SliderClient sliderClient, String clusterName) {
+ CuratorServiceInstance<ServiceInstanceData> instance =
+ sliderClient.getRegistry().queryForInstance(SliderKeys.APP_TYPE, clusterName)
+ ServiceInstanceData serviceInstanceData = instance.payload
+ RegistryRetriever retriever = new RegistryRetriever(serviceInstanceData)
+ PublishedConfiguration configuration = retriever.retrieveConfiguration(
+ retriever.getConfigurations(true), "quicklinks", true)
+
+ // must match name set in metainfo.xml
+ String monitorUrl = configuration.entries.get("org.apache.slider.monitor")
+
+ assertNotNull monitorUrl
+ return monitorUrl
+ }
+
+ public static void checkMonitorPage(String monitorUrl) {
+ String monitor = fetchWebPageWithoutError(monitorUrl);
+ assume monitor != null, "Monitor page null"
+ assume monitor.length() > 100, "Monitor page too short"
+ assume monitor.contains("Table Name"), "Monitor page didn't contain expected text"
+ }
+
+ /**
+ * Override point for any cluster load operations
+ */
+ public void clusterLoadOperations(ClusterDescription cd, SliderClient sliderClient) {
+ String monitorUrl = getMonitorUrl(sliderClient, getClusterName())
+ assert monitorUrl.startsWith("http://"), "Monitor URL didn't have expected protocol"
+ checkMonitorPage(monitorUrl)
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseMonitorSSLIT.groovy
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseMonitorSSLIT.groovy b/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseMonitorSSLIT.groovy
new file mode 100644
index 0000000..12bf7ea
--- /dev/null
+++ b/app-packages/hbase/src/test/groovy/org/apache/slider/funtest/hbase/HBaseMonitorSSLIT.groovy
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+package org.apache.slider.funtest.hbase
+
+import groovy.util.logging.Slf4j
+import org.apache.slider.api.ClusterDescription
+import org.apache.slider.client.SliderClient
+
+import javax.net.ssl.KeyManager
+import javax.net.ssl.SSLContext
+import javax.net.ssl.TrustManager
+import javax.net.ssl.X509TrustManager
+import java.security.SecureRandom
+import java.security.cert.CertificateException
+import java.security.cert.X509Certificate
+
+@Slf4j
+class HBaseMonitorSSLIT extends HBaseBasicIT {
+ HBaseMonitorSSLIT() {
+ APP_TEMPLATE = "target/test-config/appConfig_monitor_ssl.json"
+ }
+
+ @Override
+ public String getClusterName() {
+ return "test_monitor_ssl";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Test enable monitor SSL $clusterName"
+ }
+
+ @Override
+ public void clusterLoadOperations(ClusterDescription cd, SliderClient sliderClient) {
+ String monitorUrl = getMonitorUrl(sliderClient, getClusterName())
+ assert monitorUrl.startsWith("https://"), "Monitor URL didn't have expected protocol"
+
+ SSLContext ctx = SSLContext.getInstance("SSL");
+ TrustManager[] t = new TrustManager[1];
+ t[0] = new DefaultTrustManager();
+ ctx.init(new KeyManager[0], t, new SecureRandom());
+ SSLContext.setDefault(ctx);
+ checkMonitorPage(monitorUrl)
+ }
+
+ private static class DefaultTrustManager implements X509TrustManager {
+ @Override
+ public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/test/java/org/apache/slider/funtest/hbase/StubToForceGroovyTestsToCompile.java
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/java/org/apache/slider/funtest/hbase/StubToForceGroovyTestsToCompile.java b/app-packages/hbase/src/test/java/org/apache/slider/funtest/hbase/StubToForceGroovyTestsToCompile.java
new file mode 100644
index 0000000..8143fcf
--- /dev/null
+++ b/app-packages/hbase/src/test/java/org/apache/slider/funtest/hbase/StubToForceGroovyTestsToCompile.java
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+
+package org.apache.slider.funtest.hbase;
+
+public class StubToForceGroovyTestsToCompile {
+}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json b/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
new file mode 100644
index 0000000..37d72d0
--- /dev/null
+++ b/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
@@ -0,0 +1,68 @@
+{
+ "schema": "http://example.org/specification/v2.0.0",
+ "metadata": {
+ },
+ "global": {
+ "agent.conf": "agent.ini",
+ "application.def": "${app.package.name}.zip",
+ "create.default.zookeeper.node": "true",
+ "config_types": "core-site,hdfs-site,hbase-site",
+ "java_home": "/usr/jdk64/jdk1.7.0_45",
+ "package_list": "files/hbase-${hbase.version}-bin.tar.gz",
+ "site.global.app_user": "yarn",
+ "site.global.app_log_dir": "app/log",
+ "site.global.app_pid_dir": "${AGENT_WORK_ROOT}/app/run",
+ "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-${hbase.version}",
+ "site.global.app_install_dir": "${AGENT_WORK_ROOT}/app/install",
+ "site.global.hbase_master_heapsize": "1024m",
+ "site.global.hbase_regionserver_heapsize": "1024m",
+ "site.global.hbase_instance_name": "instancename",
+ "site.global.hbase_root_password": "secret",
+ "site.global.user_group": "hadoop",
+ "site.global.security_enabled": "false",
+ "site.global.monitor_protocol": "https",
+ "site.global.ganglia_server_host": "${NN_HOST}",
+ "site.global.ganglia_server_port": "8667",
+ "site.global.ganglia_server_id": "Application1",
+ "site.hbase-site.hbase.hstore.flush.retries.number": "120",
+ "site.hbase-site.hbase.client.keyvalue.maxsize": "10485760",
+ "site.hbase-site.hbase.hstore.compactionThreshold": "3",
+ "site.hbase-site.hbase.rootdir": "${DEFAULT_DATA_DIR}/data",
+ "site.hbase-site.hbase.stagingdir": "${DEFAULT_DATA_DIR}/staging",
+ "site.hbase-site.hbase.regionserver.handler.count": "60",
+ "site.hbase-site.hbase.regionserver.global.memstore.lowerLimit": "0.38",
+ "site.hbase-site.hbase.hregion.memstore.block.multiplier": "2",
+ "site.hbase-site.hbase.hregion.memstore.flush.size": "134217728",
+ "site.hbase-site.hbase.superuser": "yarn",
+ "site.hbase-site.hbase.zookeeper.property.clientPort": "2181",
+ "site.hbase-site.hbase.regionserver.global.memstore.upperLimit": "0.4",
+ "site.hbase-site.zookeeper.session.timeout": "30000",
+ "site.hbase-site.hbase.tmp.dir": "${AGENT_WORK_ROOT}/work/app/tmp",
+ "site.hbase-site.hbase.local.dir": "${hbase.tmp.dir}/local",
+ "site.hbase-site.hbase.hregion.max.filesize": "10737418240",
+ "site.hbase-site.hfile.block.cache.size": "0.40",
+ "site.hbase-site.hbase.security.authentication": "simple",
+ "site.hbase-site.hbase.defaults.for.version.skip": "true",
+ "site.hbase-site.hbase.zookeeper.quorum": "${ZK_HOST}",
+ "site.hbase-site.zookeeper.znode.parent": "/hbase-unsecure",
+ "site.hbase-site.hbase.hstore.blockingStoreFiles": "10",
+ "site.hbase-site.hbase.hregion.majorcompaction": "86400000",
+ "site.hbase-site.hbase.security.authorization": "false",
+ "site.hbase-site.hbase.cluster.distributed": "true",
+ "site.hbase-site.hbase.hregion.memstore.mslab.enabled": "true",
+ "site.hbase-site.hbase.client.scanner.caching": "100",
+ "site.hbase-site.hbase.zookeeper.useMulti": "true",
+ "site.hbase-site.hbase.regionserver.info.port": "0",
+ "site.hbase-site.hbase.master.info.port": "${HBASE_MASTER.ALLOCATED_PORT}",
+ "site.hbase-site.hbase.regionserver.port": "0"
+ },
+ "components": {
+ "HBASE_MASTER": {
+ },
+ "slider-appmaster": {
+ "jvm.heapsize": "256M"
+ },
+ "HBASE_REGIONSERVER": {
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2d8f68d1/app-packages/hbase/src/test/resources/resources.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/resources/resources.json b/app-packages/hbase/src/test/resources/resources.json
new file mode 100644
index 0000000..e0ff26f
--- /dev/null
+++ b/app-packages/hbase/src/test/resources/resources.json
@@ -0,0 +1,21 @@
+{
+ "schema": "http://example.org/specification/v2.0.0",
+ "metadata": {
+ },
+ "global": {
+ },
+ "components": {
+ "HBASE_MASTER": {
+ "yarn.role.priority": "1",
+ "yarn.component.instances": "1",
+ "yarn.memory": "256"
+ },
+ "slider-appmaster": {
+ },
+ "HBASE_REGIONSERVER": {
+ "yarn.role.priority": "2",
+ "yarn.component.instances": "1",
+ "yarn.memory": "256"
+ }
+ }
+}