http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/FixOozieAdminUsersTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/FixOozieAdminUsersTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/FixOozieAdminUsersTest.java index 314e955..d4c90b8 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/FixOozieAdminUsersTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/FixOozieAdminUsersTest.java @@ -17,7 +17,16 @@ */ package org.apache.ambari.server.serveraction.upgrades; -import com.google.inject.Injector; +import static org.easymock.EasyMock.anyObject; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + import org.apache.ambari.server.actionmanager.ExecutionCommandWrapper; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.agent.CommandReport; @@ -25,18 +34,11 @@ import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Map; - -import static org.easymock.EasyMock.*; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import com.google.inject.Injector; /** * Tests OozieConfigCalculation logic @@ -53,52 +55,28 @@ public class FixOozieAdminUsersTest { clusters = EasyMock.createMock(Clusters.class); cluster = EasyMock.createMock(Cluster.class); + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("falcon_user", "falcon"); + }}; + + Config falconEnvConfig = EasyMock.createNiceMock(Config.class); + expect(falconEnvConfig.getType()).andReturn("falcon-env").anyTimes(); + expect(falconEnvConfig.getProperties()).andReturn(mockProperties).anyTimes(); + + mockProperties = new HashMap<String, String>() {{ + put("oozie_admin_users", "oozie, oozie-admin"); + }}; + + Config oozieEnvConfig = EasyMock.createNiceMock(Config.class); + expect(oozieEnvConfig.getType()).andReturn("oozie-env").anyTimes(); + expect(oozieEnvConfig.getProperties()).andReturn(mockProperties).anyTimes(); - Config falconEnvConfig = new ConfigImpl("falcon-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("falcon_user", "falcon"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; - Config oozieEnvConfig = new ConfigImpl("oozie-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("oozie_admin_users", "oozie, oozie-admin"); - }}; - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; expect(cluster.getDesiredConfigByType("falcon-env")).andReturn(falconEnvConfig).atLeastOnce(); expect(cluster.getDesiredConfigByType("oozie-env")).andReturn(oozieEnvConfig).atLeastOnce(); expect(clusters.getCluster((String) anyObject())).andReturn(cluster).anyTimes(); expect(injector.getInstance(Clusters.class)).andReturn(clusters).atLeastOnce(); - replay(injector, clusters); + replay(injector, clusters, falconEnvConfig, oozieEnvConfig); clustersField = FixOozieAdminUsers.class.getDeclaredField("clusters"); clustersField.setAccessible(true);
http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HBaseEnvMaxDirectMemorySizeActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HBaseEnvMaxDirectMemorySizeActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HBaseEnvMaxDirectMemorySizeActionTest.java index 4c1d7a3..f8a5373 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HBaseEnvMaxDirectMemorySizeActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HBaseEnvMaxDirectMemorySizeActionTest.java @@ -17,8 +17,18 @@ */ package org.apache.ambari.server.serveraction.upgrades; -import com.google.inject.Injector; -import junit.framework.Assert; +import static org.easymock.EasyMock.anyObject; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import org.apache.ambari.server.actionmanager.ExecutionCommandWrapper; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.agent.CommandReport; @@ -26,21 +36,13 @@ import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import com.google.inject.Injector; -import static org.easymock.EasyMock.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import junit.framework.Assert; /** * Tests HiveEnvClasspathAction logic @@ -55,99 +57,86 @@ public class HBaseEnvMaxDirectMemorySizeActionTest { injector = EasyMock.createMock(Injector.class); clusters = EasyMock.createMock(Clusters.class); Cluster cluster = EasyMock.createMock(Cluster.class); - - Config hbaseEnv = new ConfigImpl("hbase-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("content","# Set environment variables here.\n" + - "\n" + - "# The java implementation to use. Java 1.6 required.\n" + - "export JAVA_HOME={{java64_home}}\n" + - "\n" + - "# HBase Configuration directory\n" + - "export HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}\n" + - "\n" + - "# Extra Java CLASSPATH elements. Optional.\n" + - "export HBASE_CLASSPATH=${HBASE_CLASSPATH}\n" + - "\n" + - "# The maximum amount of heap to use, in MB. Default is 1000.\n" + - "# export HBASE_HEAPSIZE=1000\n" + - "\n" + - "# Extra Java runtime options.\n" + - "# Below are what we set by default. May only work with SUN JVM.\n" + - "# For more on why as well as other possible settings,\n" + - "# see http://wiki.apache.org/hadoop/PerformanceTuning\n" + - "export SERVER_GC_OPTS=\"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{{log_dir}}/gc.log-`date +'%Y%m%d%H%M'`\"\n" + - "# Uncomment below to enable java garbage collection logging.\n" + - "# export HBASE_OPTS=\"$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log -Djava.io.tmpdir={{java_io_tmpdir}}\"\n" + - "\n" + - "# Uncomment and adjust to enable JMX exporting\n" + - "# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access.\n" + - "# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html\n" + - "#\n" + - "# export HBASE_JMX_BASE=\"-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false\"\n" + - "# If you want to configure BucketCache, specify '-XX: MaxDirectMemorySize=' with proper direct memory size\n" + - "# export HBASE_THRIFT_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103\"\n" + - "# export HBASE_ZOOKEEPER_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104\"\n" + - "\n" + - "# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default.\n" + - "export HBASE_REGIONSERVERS=${HBASE_CONF_DIR}/regionservers\n" + - "\n" + - "# Extra ssh options. Empty by default.\n" + - "# export HBASE_SSH_OPTS=\"-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR\"\n" + - "\n" + - "# Where log files are stored. $HBASE_HOME/logs by default.\n" + - "export HBASE_LOG_DIR={{log_dir}}\n" + - "\n" + - "# A string representing this instance of hbase. $USER by default.\n" + - "# export HBASE_IDENT_STRING=$USER\n" + - "\n" + - "# The scheduling priority for daemon processes. See 'man nice'.\n" + - "# export HBASE_NICENESS=10\n" + - "\n" + - "# The directory where pid files are stored. /tmp by default.\n" + - "export HBASE_PID_DIR={{pid_dir}}\n" + - "\n" + - "# Seconds to sleep between slave commands. Unset by default. This\n" + - "# can be useful in large clusters, where, e.g., slave rsyncs can\n" + - "# otherwise arrive faster than the master can service them.\n" + - "# export HBASE_SLAVE_SLEEP=0.1\n" + - "\n" + - "# Tell HBase whether it should manage it's own instance of Zookeeper or not.\n" + - "export HBASE_MANAGES_ZK=false\n" + - "\n" + - "{% if security_enabled %}\n" + - "export HBASE_OPTS=\"$HBASE_OPTS -XX:+UseConcMarkSweepGC -XX:ErrorFile={{log_dir}}/hs_err_pid%p.log -Djava.security.auth.login.config={{client_jaas_config_file}} -Djava.io.tmpdir={{java_io_tmpdir}}\"\n" + - "export HBASE_MASTER_OPTS=\"$HBASE_MASTER_OPTS -Xmx{{master_heapsize}} -Djava.security.auth.login.config={{master_jaas_config_file}}\"\n" + - "export HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}} -Djava.security.auth.login.config={{regionserver_jaas_config_file}}\"\n" + - "{% else %}\n" + - "export HBASE_OPTS=\"$HBASE_OPTS -XX:+UseConcMarkSweepGC -XX:ErrorFile={{log_dir}}/hs_err_pid%p.log -Djava.io.tmpdir={{java_io_tmpdir}}\"\n" + - "export HBASE_MASTER_OPTS=\"$HBASE_MASTER_OPTS -Xmx{{master_heapsize}}\"\n" + - "export HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}\"\n" + - "{% endif %}"); - }}; - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; - + Config hbaseEnv = EasyMock.createNiceMock(Config.class); + + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("content","# Set environment variables here.\n" + + "\n" + + "# The java implementation to use. Java 1.6 required.\n" + + "export JAVA_HOME={{java64_home}}\n" + + "\n" + + "# HBase Configuration directory\n" + + "export HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}\n" + + "\n" + + "# Extra Java CLASSPATH elements. Optional.\n" + + "export HBASE_CLASSPATH=${HBASE_CLASSPATH}\n" + + "\n" + + "# The maximum amount of heap to use, in MB. Default is 1000.\n" + + "# export HBASE_HEAPSIZE=1000\n" + + "\n" + + "# Extra Java runtime options.\n" + + "# Below are what we set by default. May only work with SUN JVM.\n" + + "# For more on why as well as other possible settings,\n" + + "# see http://wiki.apache.org/hadoop/PerformanceTuning\n" + + "export SERVER_GC_OPTS=\"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{{log_dir}}/gc.log-`date +'%Y%m%d%H%M'`\"\n" + + "# Uncomment below to enable java garbage collection logging.\n" + + "# export HBASE_OPTS=\"$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log -Djava.io.tmpdir={{java_io_tmpdir}}\"\n" + + "\n" + + "# Uncomment and adjust to enable JMX exporting\n" + + "# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access.\n" + + "# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html\n" + + "#\n" + + "# export HBASE_JMX_BASE=\"-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false\"\n" + + "# If you want to configure BucketCache, specify '-XX: MaxDirectMemorySize=' with proper direct memory size\n" + + "# export HBASE_THRIFT_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103\"\n" + + "# export HBASE_ZOOKEEPER_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104\"\n" + + "\n" + + "# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default.\n" + + "export HBASE_REGIONSERVERS=${HBASE_CONF_DIR}/regionservers\n" + + "\n" + + "# Extra ssh options. Empty by default.\n" + + "# export HBASE_SSH_OPTS=\"-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR\"\n" + + "\n" + + "# Where log files are stored. $HBASE_HOME/logs by default.\n" + + "export HBASE_LOG_DIR={{log_dir}}\n" + + "\n" + + "# A string representing this instance of hbase. $USER by default.\n" + + "# export HBASE_IDENT_STRING=$USER\n" + + "\n" + + "# The scheduling priority for daemon processes. See 'man nice'.\n" + + "# export HBASE_NICENESS=10\n" + + "\n" + + "# The directory where pid files are stored. /tmp by default.\n" + + "export HBASE_PID_DIR={{pid_dir}}\n" + + "\n" + + "# Seconds to sleep between slave commands. Unset by default. This\n" + + "# can be useful in large clusters, where, e.g., slave rsyncs can\n" + + "# otherwise arrive faster than the master can service them.\n" + + "# export HBASE_SLAVE_SLEEP=0.1\n" + + "\n" + + "# Tell HBase whether it should manage it's own instance of Zookeeper or not.\n" + + "export HBASE_MANAGES_ZK=false\n" + + "\n" + + "{% if security_enabled %}\n" + + "export HBASE_OPTS=\"$HBASE_OPTS -XX:+UseConcMarkSweepGC -XX:ErrorFile={{log_dir}}/hs_err_pid%p.log -Djava.security.auth.login.config={{client_jaas_config_file}} -Djava.io.tmpdir={{java_io_tmpdir}}\"\n" + + "export HBASE_MASTER_OPTS=\"$HBASE_MASTER_OPTS -Xmx{{master_heapsize}} -Djava.security.auth.login.config={{master_jaas_config_file}}\"\n" + + "export HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}} -Djava.security.auth.login.config={{regionserver_jaas_config_file}}\"\n" + + "{% else %}\n" + + "export HBASE_OPTS=\"$HBASE_OPTS -XX:+UseConcMarkSweepGC -XX:ErrorFile={{log_dir}}/hs_err_pid%p.log -Djava.io.tmpdir={{java_io_tmpdir}}\"\n" + + "export HBASE_MASTER_OPTS=\"$HBASE_MASTER_OPTS -Xmx{{master_heapsize}}\"\n" + + "export HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}\"\n" + + "{% endif %}"); + }}; + + expect(hbaseEnv.getType()).andReturn("hbase-env").anyTimes(); + expect(hbaseEnv.getProperties()).andReturn(mockProperties).anyTimes(); expect(cluster.getDesiredConfigByType("hbase-env")).andReturn(hbaseEnv).atLeastOnce(); expect(clusters.getCluster((String) anyObject())).andReturn(cluster).anyTimes(); expect(injector.getInstance(Clusters.class)).andReturn(clusters).atLeastOnce(); - replay(injector, clusters, cluster); + replay(injector, clusters, cluster, hbaseEnv); m_clusterField = HBaseEnvMaxDirectMemorySizeAction.class.getDeclaredField("clusters"); m_clusterField.setAccessible(true); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveEnvClasspathActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveEnvClasspathActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveEnvClasspathActionTest.java index 9bde631..8926203 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveEnvClasspathActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveEnvClasspathActionTest.java @@ -17,8 +17,18 @@ */ package org.apache.ambari.server.serveraction.upgrades; -import com.google.inject.Injector; -import junit.framework.Assert; +import static org.easymock.EasyMock.anyObject; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.replay; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import org.apache.ambari.server.actionmanager.ExecutionCommandWrapper; import org.apache.ambari.server.actionmanager.HostRoleCommand; import org.apache.ambari.server.agent.CommandReport; @@ -26,22 +36,13 @@ import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import com.google.inject.Injector; -import static org.easymock.EasyMock.anyObject; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import junit.framework.Assert; /** * Tests HiveEnvClasspathAction logic @@ -57,79 +58,66 @@ public class HiveEnvClasspathActionTest { m_clusters = EasyMock.createMock(Clusters.class); Cluster cluster = EasyMock.createMock(Cluster.class); - Config hiveEnv = new ConfigImpl("hive-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("content", " export HADOOP_USER_CLASSPATH_FIRST=true #this prevents old metrics libs from mapreduce lib from bringing in old jar deps overriding HIVE_LIB\n" + - " if [ \"$SERVICE\" = \"cli\" ]; then\n" + - " if [ -z \"$DEBUG\" ]; then\n" + - " export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseNUMA -XX:+UseParallelGC -XX:-UseGCOverheadLimit\"\n" + - " else\n" + - " export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n" + - " fi\n" + - " fi\n" + - "\n" + - " # The heap size of the jvm stared by hive shell script can be controlled via:\n" + - "\n" + - " if [ \"$SERVICE\" = \"metastore\" ]; then\n" + - " export HADOOP_HEAPSIZE={{hive_metastore_heapsize}} # Setting for HiveMetastore\n" + - " else\n" + - " export HADOOP_HEAPSIZE={{hive_heapsize}} # Setting for HiveServer2 and Client\n" + - " fi\n" + - "\n" + - " export HADOOP_CLIENT_OPTS=\"$HADOOP_CLIENT_OPTS -Xmx${HADOOP_HEAPSIZE}m\"\n" + - "\n" + - " # Larger heap size may be required when running queries over large number of files or partitions.\n" + - " # By default hive shell scripts use a heap size of 256 (MB). Larger heap size would also be\n" + - " # appropriate for hive server (hwi etc).\n" + - "\n" + - "\n" + - " # Set HADOOP_HOME to point to a specific hadoop install directory\n" + - " HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n" + - "\n" + - " # Hive Configuration Directory can be controlled by:\n" + - " export HIVE_CONF_DIR=test\n" + - "\n" + - " # Folder containing extra libraries required for hive compilation/execution can be controlled by:\n" + - " if [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n" + - " if [ -f \"${HIVE_AUX_JARS_PATH}\" ]; then\n" + - " export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\n" + - " elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n" + - " export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n" + - " fi\n" + - " elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n" + - " export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n" + - " fi\n" + - "\n" + - " export METASTORE_PORT={{hive_metastore_port}}\n" + - "\n" + - " {% if sqla_db_used or lib_dir_available %}\n" + - " export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH:{{jdbc_libs_dir}}\"\n" + - " export JAVA_LIBRARY_PATH=\"$JAVA_LIBRARY_PATH:{{jdbc_libs_dir}}\"\n" + - " {% endif %}"); - }}; - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; - + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("content", " export HADOOP_USER_CLASSPATH_FIRST=true #this prevents old metrics libs from mapreduce lib from bringing in old jar deps overriding HIVE_LIB\n" + + " if [ \"$SERVICE\" = \"cli\" ]; then\n" + + " if [ -z \"$DEBUG\" ]; then\n" + + " export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseNUMA -XX:+UseParallelGC -XX:-UseGCOverheadLimit\"\n" + + " else\n" + + " export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n" + + " fi\n" + + " fi\n" + + "\n" + + " # The heap size of the jvm stared by hive shell script can be controlled via:\n" + + "\n" + + " if [ \"$SERVICE\" = \"metastore\" ]; then\n" + + " export HADOOP_HEAPSIZE={{hive_metastore_heapsize}} # Setting for HiveMetastore\n" + + " else\n" + + " export HADOOP_HEAPSIZE={{hive_heapsize}} # Setting for HiveServer2 and Client\n" + + " fi\n" + + "\n" + + " export HADOOP_CLIENT_OPTS=\"$HADOOP_CLIENT_OPTS -Xmx${HADOOP_HEAPSIZE}m\"\n" + + "\n" + + " # Larger heap size may be required when running queries over large number of files or partitions.\n" + + " # By default hive shell scripts use a heap size of 256 (MB). Larger heap size would also be\n" + + " # appropriate for hive server (hwi etc).\n" + + "\n" + + "\n" + + " # Set HADOOP_HOME to point to a specific hadoop install directory\n" + + " HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n" + + "\n" + + " # Hive Configuration Directory can be controlled by:\n" + + " export HIVE_CONF_DIR=test\n" + + "\n" + + " # Folder containing extra libraries required for hive compilation/execution can be controlled by:\n" + + " if [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n" + + " if [ -f \"${HIVE_AUX_JARS_PATH}\" ]; then\n" + + " export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\n" + + " elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n" + + " export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n" + + " fi\n" + + " elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n" + + " export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n" + + " fi\n" + + "\n" + + " export METASTORE_PORT={{hive_metastore_port}}\n" + + "\n" + + " {% if sqla_db_used or lib_dir_available %}\n" + + " export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH:{{jdbc_libs_dir}}\"\n" + + " export JAVA_LIBRARY_PATH=\"$JAVA_LIBRARY_PATH:{{jdbc_libs_dir}}\"\n" + + " {% endif %}"); + }}; + + Config hiveEnv = EasyMock.createNiceMock(Config.class); + expect(hiveEnv.getType()).andReturn("hive-env").anyTimes(); + expect(hiveEnv.getProperties()).andReturn(mockProperties).anyTimes(); expect(cluster.getDesiredConfigByType("hive-env")).andReturn(hiveEnv).atLeastOnce(); expect(m_clusters.getCluster((String) anyObject())).andReturn(cluster).anyTimes(); expect(m_injector.getInstance(Clusters.class)).andReturn(m_clusters).atLeastOnce(); - replay(m_injector, m_clusters, cluster); + replay(m_injector, m_clusters, cluster, hiveEnv); m_clusterField = HiveEnvClasspathAction.class.getDeclaredField("clusters"); m_clusterField.setAccessible(true); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveZKQuorumConfigActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveZKQuorumConfigActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveZKQuorumConfigActionTest.java index 907194c..cd5eb9d 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveZKQuorumConfigActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/HiveZKQuorumConfigActionTest.java @@ -91,7 +91,7 @@ public class HiveZKQuorumConfigActionTest { m_hiveSiteConfig.setProperties(EasyMock.anyObject(Map.class)); EasyMock.expectLastCall().once(); - m_hiveSiteConfig.persist(false); + m_hiveSiteConfig.save(); EasyMock.expectLastCall().once(); EasyMock.expect(m_cluster.getDesiredConfigByType(HiveZKQuorumConfigAction.HIVE_SITE_CONFIG_TYPE)).andReturn(m_hiveSiteConfig).atLeastOnce(); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/KerberosKeytabsActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/KerberosKeytabsActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/KerberosKeytabsActionTest.java index d374d75..d18f727 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/KerberosKeytabsActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/KerberosKeytabsActionTest.java @@ -36,7 +36,6 @@ import org.apache.ambari.server.controller.KerberosHelper; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; import org.apache.ambari.server.state.SecurityType; import org.apache.commons.lang.StringUtils; import org.easymock.EasyMock; @@ -65,26 +64,13 @@ public class KerberosKeytabsActionTest { m_clusters = EasyMock.createMock(Clusters.class); m_kerberosHelper = EasyMock.createMock(KerberosHelper.class); - m_kerberosConfig = new ConfigImpl("kerberos-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("kerberos-env", ""); - }}; + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("kerberos-env", ""); + }}; - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; + m_kerberosConfig = EasyMock.createNiceMock(Config.class); + expect(m_kerberosConfig.getType()).andReturn("kerberos-env").anyTimes(); + expect(m_kerberosConfig.getProperties()).andReturn(mockProperties).anyTimes(); Cluster cluster = EasyMock.createMock(Cluster.class); @@ -92,7 +78,7 @@ public class KerberosKeytabsActionTest { expect(cluster.getSecurityType()).andReturn(SecurityType.KERBEROS).anyTimes(); expect(m_clusters.getCluster((String) anyObject())).andReturn(cluster).anyTimes(); - replay(m_clusters, cluster); + replay(m_clusters, cluster, m_kerberosConfig); m_injector = Guice.createInjector(new AbstractModule() { http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerConfigCalculationTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerConfigCalculationTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerConfigCalculationTest.java index e673714..7a6a6c3 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerConfigCalculationTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerConfigCalculationTest.java @@ -35,7 +35,6 @@ import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; @@ -57,54 +56,27 @@ public class RangerConfigCalculationTest { m_clusters = EasyMock.createMock(Clusters.class); Cluster cluster = EasyMock.createMock(Cluster.class); - Config adminConfig = new ConfigImpl("admin-properties") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("DB_FLAVOR", "MYSQL"); - put("db_host", "host1"); - put("db_name", "ranger"); - put("audit_db_name", "ranger_audit"); - }}; - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config adminSiteConfig = new ConfigImpl("admin-properties") { - Map<String, String> mockProperties = new HashMap<String, String>(); - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; - - Config rangerEnv = new ConfigImpl("ranger-env") { - Map<String, String> mockProperties = new HashMap<String, String>(); - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("DB_FLAVOR", "MYSQL"); + put("db_host", "host1"); + put("db_name", "ranger"); + put("audit_db_name", "ranger_audit"); + }}; + + Config adminConfig = EasyMock.createNiceMock(Config.class); + expect(adminConfig.getType()).andReturn("admin-properties").anyTimes(); + expect(adminConfig.getProperties()).andReturn(mockProperties).anyTimes(); + + mockProperties = new HashMap<String, String>(); + + Config adminSiteConfig = EasyMock.createNiceMock(Config.class); + expect(adminSiteConfig.getType()).andReturn("admin-properties").anyTimes(); + expect(adminSiteConfig.getProperties()).andReturn(mockProperties).anyTimes(); + + Config rangerEnv = EasyMock.createNiceMock(Config.class); + expect(rangerEnv.getType()).andReturn("ranger-env").anyTimes(); + expect(rangerEnv.getProperties()).andReturn(mockProperties).anyTimes(); + expect(cluster.getDesiredConfigByType("admin-properties")).andReturn(adminConfig).atLeastOnce(); expect(cluster.getDesiredConfigByType("ranger-admin-site")).andReturn(adminSiteConfig).atLeastOnce(); @@ -113,7 +85,7 @@ public class RangerConfigCalculationTest { expect(m_clusters.getCluster((String) anyObject())).andReturn(cluster).anyTimes(); expect(m_injector.getInstance(Clusters.class)).andReturn(m_clusters).atLeastOnce(); - replay(m_injector, m_clusters, cluster); + replay(m_injector, m_clusters, cluster, adminConfig, adminSiteConfig, rangerEnv); m_clusterField = RangerConfigCalculation.class.getDeclaredField("m_clusters"); m_clusterField.setAccessible(true); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKerberosConfigCalculationTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKerberosConfigCalculationTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKerberosConfigCalculationTest.java index 25acb45..06092c3 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKerberosConfigCalculationTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKerberosConfigCalculationTest.java @@ -25,6 +25,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Field; +import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -34,9 +35,8 @@ import org.apache.ambari.server.agent.CommandReport; import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; -import org.apache.ambari.server.state.SecurityType; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; +import org.apache.ambari.server.state.SecurityType; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; @@ -59,124 +59,50 @@ public class RangerKerberosConfigCalculationTest { m_clusters = EasyMock.createMock(Clusters.class); Cluster cluster = EasyMock.createMock(Cluster.class); - Config hadoopConfig = new ConfigImpl("hadoop-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("hdfs_user", "hdfs"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - - Config hiveConfig = new ConfigImpl("hive-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("hive_user", "hive"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config yarnConfig = new ConfigImpl("yarn-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("yarn_user", "yarn"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config hbaseConfig = new ConfigImpl("hbase-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("hbase_user", "hbase"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config knoxConfig = new ConfigImpl("knox-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("knox_user", "knox"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config stormConfig = new ConfigImpl("storm-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("storm_user", "storm"); - put("storm_principal_name", "[email protected]"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config kafkaConfig = new ConfigImpl("kafka-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("kafka_user", "kafka"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config kmsConfig = new ConfigImpl("kms-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("kms_user", "kms"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config hdfsSiteConfig = new ConfigImpl("hdfs-site") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("dfs.web.authentication.kerberos.keytab", "/etc/security/keytabs/spnego.kytab"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - }; - - Config adminSiteConfig = new ConfigImpl("ranger-admin-site") { - Map<String, String> mockProperties = new HashMap<String, String>(); - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; + Config hadoopConfig = EasyMock.createNiceMock(Config.class); + expect(hadoopConfig.getType()).andReturn("hadoop-env").anyTimes(); + expect(hadoopConfig.getProperties()).andReturn(Collections.singletonMap("hdfs_user", "hdfs")).anyTimes(); + + Config hiveConfig = EasyMock.createNiceMock(Config.class); + expect(hiveConfig.getType()).andReturn("hive-env").anyTimes(); + expect(hiveConfig.getProperties()).andReturn(Collections.singletonMap("hive_user", "hive")).anyTimes(); + + Config yarnConfig = EasyMock.createNiceMock(Config.class); + expect(yarnConfig.getType()).andReturn("yarn-env").anyTimes(); + expect(yarnConfig.getProperties()).andReturn(Collections.singletonMap("yarn_user", "yarn")).anyTimes(); + + Config hbaseConfig = EasyMock.createNiceMock(Config.class); + expect(hbaseConfig.getType()).andReturn("hbase-env").anyTimes(); + expect(hbaseConfig.getProperties()).andReturn(Collections.singletonMap("hbase_user", "hbase")).anyTimes(); + + Config knoxConfig = EasyMock.createNiceMock(Config.class); + expect(knoxConfig.getType()).andReturn("knox-env").anyTimes(); + expect(knoxConfig.getProperties()).andReturn(Collections.singletonMap("knox_user", "knox")).anyTimes(); + + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("storm_user", "storm"); + put("storm_principal_name", "[email protected]"); + }}; + + Config stormConfig = EasyMock.createNiceMock(Config.class); + expect(stormConfig.getType()).andReturn("storm-env").anyTimes(); + expect(stormConfig.getProperties()).andReturn(mockProperties).anyTimes(); + + Config kafkaConfig = EasyMock.createNiceMock(Config.class); + expect(kafkaConfig.getType()).andReturn("kafka-env").anyTimes(); + expect(kafkaConfig.getProperties()).andReturn(Collections.singletonMap("kafka_user", "kafka")).anyTimes(); + + Config kmsConfig = EasyMock.createNiceMock(Config.class); + expect(kmsConfig.getType()).andReturn("kms-env").anyTimes(); + expect(kmsConfig.getProperties()).andReturn(Collections.singletonMap("kms_user", "kms")).anyTimes(); + + Config hdfsSiteConfig = EasyMock.createNiceMock(Config.class); + expect(hdfsSiteConfig.getType()).andReturn("hdfs-site").anyTimes(); + expect(hdfsSiteConfig.getProperties()).andReturn(Collections.singletonMap("dfs.web.authentication.kerberos.keytab", "/etc/security/keytabs/spnego.kytab")).anyTimes(); + + Config adminSiteConfig = EasyMock.createNiceMock(Config.class); + expect(adminSiteConfig.getType()).andReturn("ranger-admin-site").anyTimes(); + expect(adminSiteConfig.getProperties()).andReturn(new HashMap<String,String>()).anyTimes(); expect(cluster.getDesiredConfigByType("hadoop-env")).andReturn(hadoopConfig).atLeastOnce(); expect(cluster.getDesiredConfigByType("hive-env")).andReturn(hiveConfig).atLeastOnce(); @@ -193,7 +119,8 @@ public class RangerKerberosConfigCalculationTest { expect(m_injector.getInstance(Clusters.class)).andReturn(m_clusters).atLeastOnce(); expect(cluster.getSecurityType()).andReturn(SecurityType.KERBEROS).anyTimes(); - replay(m_injector, m_clusters, cluster); + replay(m_injector, m_clusters, cluster, hadoopConfig, hiveConfig, yarnConfig, hbaseConfig, + knoxConfig, stormConfig, kafkaConfig, kmsConfig, hdfsSiteConfig, adminSiteConfig); m_clusterField = RangerKerberosConfigCalculation.class.getDeclaredField("m_clusters"); m_clusterField.setAccessible(true); @@ -236,7 +163,7 @@ public class RangerKerberosConfigCalculationTest { assertTrue(map.containsKey("ranger.plugins.storm.serviceuser")); assertTrue(map.containsKey("ranger.plugins.kafka.serviceuser")); assertTrue(map.containsKey("ranger.plugins.kms.serviceuser")); - assertTrue(map.containsKey("ranger.spnego.kerberos.keytab")); + assertTrue(map.containsKey("ranger.spnego.kerberos.keytab")); assertEquals("hdfs", map.get("ranger.plugins.hdfs.serviceuser")); @@ -254,4 +181,4 @@ public class RangerKerberosConfigCalculationTest { } -} +} http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKmsProxyConfigTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKmsProxyConfigTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKmsProxyConfigTest.java index e000c65..7a0d66f 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKmsProxyConfigTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/RangerKmsProxyConfigTest.java @@ -34,9 +34,8 @@ import org.apache.ambari.server.agent.CommandReport; import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; -import org.apache.ambari.server.state.SecurityType; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; +import org.apache.ambari.server.state.SecurityType; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; @@ -55,34 +54,19 @@ public class RangerKmsProxyConfigTest { m_clusters = EasyMock.createMock(Clusters.class); Cluster cluster = EasyMock.createMock(Cluster.class); - Config rangerEnv = new ConfigImpl("ranger-env") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ + Map<String, String> mockProperties = new HashMap<String, String>() { + { put("ranger_user", "ranger"); - }}; - - @Override - public Map<String, String> getProperties() { - return mockProperties; } }; - Config kmsSite = new ConfigImpl("kms-site") { - Map<String, String> mockProperties = new HashMap<String, String>(); - @Override - public Map<String, String> getProperties() { - return mockProperties; - } - - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } + Config rangerEnv = EasyMock.createNiceMock(Config.class); + expect(rangerEnv.getType()).andReturn("ranger-env").anyTimes(); + expect(rangerEnv.getProperties()).andReturn(mockProperties).anyTimes(); - @Override - public void persist(boolean newConfig) { - // no-op - } - }; + Config kmsSite = EasyMock.createNiceMock(Config.class); + expect(kmsSite.getType()).andReturn("kms-site").anyTimes(); + expect(kmsSite.getProperties()).andReturn(mockProperties).anyTimes(); expect(cluster.getDesiredConfigByType("ranger-env")).andReturn(rangerEnv).atLeastOnce(); expect(cluster.getDesiredConfigByType("kms-site")).andReturn(kmsSite).atLeastOnce(); @@ -90,7 +74,7 @@ public class RangerKmsProxyConfigTest { expect(m_injector.getInstance(Clusters.class)).andReturn(m_clusters).atLeastOnce(); expect(cluster.getSecurityType()).andReturn(SecurityType.KERBEROS).anyTimes(); - replay(m_injector, m_clusters, cluster); + replay(m_injector, m_clusters, cluster, rangerEnv, kmsSite); m_clusterField = RangerKmsProxyConfig.class.getDeclaredField("m_clusters"); m_clusterField.setAccessible(true); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/SparkShufflePropertyConfigTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/SparkShufflePropertyConfigTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/SparkShufflePropertyConfigTest.java index e65a824..518ab42 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/SparkShufflePropertyConfigTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/SparkShufflePropertyConfigTest.java @@ -36,7 +36,6 @@ import org.apache.ambari.server.agent.ExecutionCommand; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; @@ -58,33 +57,20 @@ public class SparkShufflePropertyConfigTest { m_clusters = EasyMock.createMock(Clusters.class); cluster = EasyMock.createMock(Cluster.class); + Map<String, String> mockProperties = new HashMap<String, String>() {{ + put("yarn.nodemanager.aux-services", "some_service"); + }}; - Config adminConfig = new ConfigImpl("yarn-site") { - Map<String, String> mockProperties = new HashMap<String, String>() {{ - put("yarn.nodemanager.aux-services", "some_service"); - }}; - @Override - public Map<String, String> getProperties() { - return mockProperties; - } + Config yarnConfig = EasyMock.createNiceMock(Config.class); + expect(yarnConfig.getType()).andReturn("yarn-site").anyTimes(); + expect(yarnConfig.getProperties()).andReturn(mockProperties).anyTimes(); - @Override - public void setProperties(Map<String, String> properties) { - mockProperties.putAll(properties); - } - - @Override - public void persist(boolean newConfig) { - // no-op - } - }; - - expect(cluster.getDesiredConfigByType("yarn-site")).andReturn(adminConfig).atLeastOnce(); + expect(cluster.getDesiredConfigByType("yarn-site")).andReturn(yarnConfig).atLeastOnce(); expect(m_clusters.getCluster((String) anyObject())).andReturn(cluster).anyTimes(); expect(m_injector.getInstance(Clusters.class)).andReturn(m_clusters).atLeastOnce(); - replay(m_injector, m_clusters); + replay(m_injector, m_clusters, yarnConfig); clusterField = SparkShufflePropertyConfig.class.getDeclaredField("clusters"); clusterField.setAccessible(true); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java index 8f9d4f4..262b10a 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java @@ -67,7 +67,7 @@ import org.apache.ambari.server.serveraction.ServerAction; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; -import org.apache.ambari.server.state.ConfigImpl; +import org.apache.ambari.server.state.ConfigFactory; import org.apache.ambari.server.state.Host; import org.apache.ambari.server.state.RepositoryInfo; import org.apache.ambari.server.state.RepositoryVersionState; @@ -153,6 +153,8 @@ public class UpgradeActionTest { private AmbariMetaInfo ambariMetaInfo; @Inject private FinalizeUpgradeAction finalizeUpgradeAction; + @Inject + private ConfigFactory configFactory; @Before public void setup() throws Exception { @@ -1043,24 +1045,22 @@ public class UpgradeActionTest { properties.put("a", "a1"); properties.put("b", "b1"); - Config c1 = new ConfigImpl(cluster, "zookeeper-env", properties, propertiesAttributes, m_injector); + configFactory.createNew(cluster, "zookeeper-env", "version-" + System.currentTimeMillis(), + properties, propertiesAttributes); + properties.put("zookeeper_a", "value_1"); properties.put("zookeeper_b", "value_2"); - Config c2 = new ConfigImpl(cluster, "hdfs-site", properties, propertiesAttributes, m_injector); + configFactory.createNew(cluster, "hdfs-site", "version-" + System.currentTimeMillis(), + properties, propertiesAttributes); + properties.put("hdfs_a", "value_3"); properties.put("hdfs_b", "value_4"); - Config c3 = new ConfigImpl(cluster, "core-site", properties, propertiesAttributes, m_injector); - Config c4 = new ConfigImpl(cluster, "foo-site", properties, propertiesAttributes, m_injector); - - cluster.addConfig(c1); - cluster.addConfig(c2); - cluster.addConfig(c3); - cluster.addConfig(c4); - c1.persist(); - c2.persist(); - c3.persist(); - c4.persist(); + configFactory.createNew(cluster, "core-site", "version-" + System.currentTimeMillis(), + properties, propertiesAttributes); + + configFactory.createNew(cluster, "foo-site", "version-" + System.currentTimeMillis(), + properties, propertiesAttributes); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java index 80665a5..f55bf62 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java @@ -89,8 +89,7 @@ public class ConfigGroupTest { Map<String, String> attributes = new HashMap<String, String>(); attributes.put("a", "true"); propertiesAttributes.put("final", attributes); - Config config = configFactory.createNew(cluster, "hdfs-site", properties, propertiesAttributes); - config.setTag("testversion"); + Config config = configFactory.createNew(cluster, "hdfs-site", "testversion", properties, propertiesAttributes); Host host = clusters.getHost("h1"); @@ -103,7 +102,6 @@ public class ConfigGroupTest { ConfigGroup configGroup = configGroupFactory.createNew(cluster, "cg-test", "HDFS", "New HDFS configs for h1", configs, hosts); - configGroup.persist(); cluster.addConfigGroup(configGroup); return configGroup; } @@ -154,28 +152,28 @@ public class ConfigGroupTest { Map<String, String> attributes = new HashMap<String, String>(); attributes.put("key1", "true"); propertiesAttributes.put("final", attributes); - Config config = new ConfigImpl("test-site"); - config.setProperties(properties); - config.setPropertiesAttributes(propertiesAttributes); - config.setTag("version100"); - configGroup.addConfiguration(config); + Config config = configFactory.createNew(cluster, "test-site", "version100", properties, propertiesAttributes); + Map<String, Config> newConfigurations = new HashMap<>(configGroup.getConfigurations()); + newConfigurations.put(config.getType(), config); + + configGroup.setConfigurations(newConfigurations); Assert.assertEquals(2, configGroup.getConfigurations().values().size()); + // re-request it and verify that the config was added + configGroupEntity = configGroupDAO.findById(configGroup.getId()); + Assert.assertEquals(2, configGroupEntity.getConfigGroupConfigMappingEntities().size()); + configGroup.setName("NewName"); configGroup.setDescription("NewDesc"); configGroup.setTag("NewTag"); // Save - configGroup.persist(); - configGroup.refresh(); configGroupEntity = configGroupDAO.findByName("NewName"); Assert.assertNotNull(configGroupEntity); - Assert.assertEquals(2, configGroupEntity - .getConfigGroupHostMappingEntities().size()); - Assert.assertEquals(2, configGroupEntity - .getConfigGroupConfigMappingEntities().size()); + Assert.assertEquals(2, configGroupEntity.getConfigGroupHostMappingEntities().size()); + Assert.assertEquals(2, configGroupEntity.getConfigGroupConfigMappingEntities().size()); Assert.assertEquals("NewTag", configGroupEntity.getTag()); Assert.assertEquals("NewDesc", configGroupEntity.getDescription()); Assert.assertNotNull(cluster.getConfig("test-site", "version100")); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java index d50c92d..526e462 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java @@ -38,7 +38,6 @@ import javax.persistence.EntityManager; import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.actionmanager.RequestFactory; import org.apache.ambari.server.api.services.AmbariMetaInfo; -import org.apache.ambari.server.configuration.Configuration; import org.apache.ambari.server.controller.AmbariCustomCommandExecutionHelper; import org.apache.ambari.server.controller.AmbariManagementController; import org.apache.ambari.server.controller.ClusterRequest; @@ -88,6 +87,7 @@ public class ConfigHelperTest { private static ConfigHelper configHelper; private static AmbariManagementController managementController; private static AmbariMetaInfo metaInfo; + private static ConfigFactory configFactory; @BeforeClass public static void setup() throws Exception { @@ -102,6 +102,7 @@ public class ConfigHelperTest { configHelper = injector.getInstance(ConfigHelper.class); managementController = injector.getInstance(AmbariManagementController.class); metaInfo = injector.getInstance(AmbariMetaInfo.class); + configFactory = injector.getInstance(ConfigFactory.class); clusterName = "c1"; clusters.addCluster(clusterName, new StackId("HDP-2.0.6")); @@ -251,7 +252,6 @@ public class ConfigHelperTest { LOG.info("Config group created with tag " + tag); configGroup.setTag(tag); - configGroup.persist(); cluster.addConfigGroup(configGroup); return configGroup.getId(); @@ -339,14 +339,11 @@ public class ConfigHelperTest { add(clusterRequest6); }}, null); - final Config config = new ConfigImpl("ams-env"); - config.setTag("version122"); - Map<String, String> properties = new HashMap<String, String>(); properties.put("a", "b"); properties.put("c", "d"); - config.setProperties(properties); + final Config config = configFactory.createNew(cluster, "ams-env", "version122", properties, null); Long groupId = addConfigGroup("g1", "t1", new ArrayList<String>() {{ add("h1"); }}, new ArrayList<Config>() {{ @@ -419,19 +416,14 @@ public class ConfigHelperTest { add(clusterRequest3); }}, null); - final Config config1 = new ConfigImpl("core-site2"); - config1.setTag("version122"); - Map<String, String> properties = new HashMap<String, String>(); properties.put("a", "b"); properties.put("c", "d"); - config1.setProperties(properties); + final Config config1 = configFactory.createNew(cluster, "core-site2", "version122", properties, null); - final Config config2 = new ConfigImpl("global2"); - config2.setTag("version122"); Map<String, String> properties2 = new HashMap<String, String>(); properties2.put("namenode_heapsize", "1111"); - config2.setProperties(properties2); + final Config config2 = configFactory.createNew(cluster, "global2", "version122", properties2, null); Long groupId = addConfigGroup("g2", "t1", new ArrayList<String>() {{ add("h1"); @@ -511,24 +503,23 @@ public class ConfigHelperTest { }}, null); - final Config config1 = new ConfigImpl("core-site3"); - config1.setTag("version122"); - Map<String, String> attributes = new HashMap<String, String>(); attributes.put("fs.trash.interval", "11"); attributes.put("b", "y"); Map<String, Map<String, String>> config1Attributes = new HashMap<String, Map<String, String>>(); config1Attributes.put("attribute1", attributes); - config1.setPropertiesAttributes(config1Attributes); - final Config config2 = new ConfigImpl("global3"); - config2.setTag("version122"); + final Config config1 = configFactory.createNew(cluster, "core-site3", "version122", + new HashMap<String, String>(), config1Attributes); + attributes = new HashMap<String, String>(); attributes.put("namenode_heapsize", "z"); attributes.put("c", "q"); Map<String, Map<String, String>> config2Attributes = new HashMap<String, Map<String, String>>(); config2Attributes.put("attribute2", attributes); - config2.setPropertiesAttributes(config2Attributes); + + final Config config2 = configFactory.createNew(cluster, "global3", "version122", + new HashMap<String, String>(), config2Attributes); Long groupId = addConfigGroup("g3", "t1", new ArrayList<String>() {{ add("h3"); @@ -690,7 +681,8 @@ public class ConfigHelperTest { confGroupProperties.put("b", "any"); confGroupProperties.put("c", "any"); - Config overrideConfig = new ConfigImpl(cluster, "type", confGroupProperties, confGroupAttributes, injector); + Config overrideConfig = configFactory.createNew(cluster, "type", null, + confGroupProperties, confGroupAttributes); Map<String, Map<String, String>> result = configHelper.overrideAttributes(overrideConfig, persistedAttributes); @@ -718,7 +710,8 @@ public class ConfigHelperTest { confGroupProperties.put("b", "any"); confGroupProperties.put("c", "any"); - Config overrideConfig = new ConfigImpl(cluster, "type", confGroupProperties, confGroupAttributes, injector); + Config overrideConfig = configFactory.createNew(cluster, "type", null, + confGroupProperties, confGroupAttributes); Map<String, Map<String, String>> result = configHelper.overrideAttributes(overrideConfig, persistedAttributes); @@ -744,7 +737,8 @@ public class ConfigHelperTest { confGroupProperties.put("b", "any"); confGroupProperties.put("c", "any"); - Config overrideConfig = new ConfigImpl(cluster, "type", confGroupProperties, null, injector); + Config overrideConfig = configFactory.createNew(cluster, "type", null, + confGroupProperties, null); Map<String, Map<String, String>> result = configHelper.overrideAttributes(overrideConfig, persistedAttributes); @@ -772,7 +766,8 @@ public class ConfigHelperTest { confGroupFinalAttrs.put("b", "true"); confGroupAttributes.put("final", confGroupFinalAttrs); - Config overrideConfig = new ConfigImpl(cluster, "type", null, confGroupAttributes, injector); + Config overrideConfig = configFactory.createNew(cluster, "type", "version122", + new HashMap<String,String>(), confGroupAttributes); Map<String, Map<String, String>> result = configHelper.overrideAttributes(overrideConfig, persistedAttributes); @@ -921,8 +916,10 @@ public class ConfigHelperTest { List<String> hosts = new ArrayList<String>(); hosts.add("h1"); List<Config> configs = new ArrayList<Config>(); - ConfigImpl configImpl = new ConfigImpl("flume-conf"); - configImpl.setTag("FLUME1"); + + Config configImpl = configFactory.createNew(cluster, "flume-conf", "FLUME1", + new HashMap<String,String>(), null); + configs.add(configImpl); addConfigGroup("configGroup1", "FLUME", hosts, configs); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertReceivedListenerTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertReceivedListenerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertReceivedListenerTest.java index 1867bda..ede94dc 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertReceivedListenerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertReceivedListenerTest.java @@ -56,12 +56,12 @@ import org.apache.ambari.server.utils.EventBusSynchronizer; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.persist.PersistService; import com.google.inject.persist.UnitOfWork; -import org.junit.experimental.categories.Category; /** * Tests the {@link AlertReceivedListener}. @@ -835,17 +835,13 @@ public class AlertReceivedListenerTest { @SuppressWarnings("serial") public void testAlertFirmnessUsingGlobalValueHigherThanOverride() throws Exception { ConfigFactory cf = m_injector.getInstance(ConfigFactory.class); - Config config = cf.createNew(m_cluster, ConfigHelper.CLUSTER_ENV, + Config config = cf.createNew(m_cluster, ConfigHelper.CLUSTER_ENV, "version2", new HashMap<String, String>() { { put(ConfigHelper.CLUSTER_ENV_ALERT_REPEAT_TOLERANCE, "3"); } }, new HashMap<String, Map<String, String>>()); - config.setTag("version2"); - config.persist(); - - m_cluster.addConfig(config); m_cluster.addDesiredConfig("user", Collections.singleton(config)); String definitionName = ALERT_DEFINITION + "1"; http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java index 4fdcc22..9dc405e 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterDeadlockTest.java @@ -124,14 +124,11 @@ public class ClusterDeadlockTest { cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING); - Config config1 = configFactory.createNew(cluster, "test-type1", new HashMap<String, String>(), new HashMap<String, + Config config1 = configFactory.createNew(cluster, "test-type1", "version1", new HashMap<String, String>(), new HashMap<String, Map<String, String>>()); - Config config2 = configFactory.createNew(cluster, "test-type2", new HashMap<String, String>(), new HashMap<String, + Config config2 = configFactory.createNew(cluster, "test-type2", "version1", new HashMap<String, String>(), new HashMap<String, Map<String, String>>()); - config1.persist(); - config2.persist(); - cluster.addConfig(config1); - cluster.addConfig(config2); + cluster.addDesiredConfig("test user", new HashSet<Config>(Arrays.asList(config1, config2))); // 100 hosts @@ -186,7 +183,7 @@ public class ClusterDeadlockTest { } DeadlockWarningThread wt = new DeadlockWarningThread(threads); - + while (true) { if(!wt.isAlive()) { break; @@ -221,7 +218,7 @@ public class ClusterDeadlockTest { } DeadlockWarningThread wt = new DeadlockWarningThread(threads); - + while (true) { if(!wt.isAlive()) { break; @@ -267,7 +264,7 @@ public class ClusterDeadlockTest { clusterWriterThread.start(); schWriterThread.start(); } - + DeadlockWarningThread wt = new DeadlockWarningThread(threads, 20, 1000); while (true) { if(!wt.isAlive()) { @@ -337,7 +334,7 @@ public class ClusterDeadlockTest { @Override public void run() { for (int i =0; i<300; i++) { - config.persist(false); + config.save(); } } } http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java index 90a3d02..fc3646a 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java @@ -87,7 +87,6 @@ import org.apache.ambari.server.state.ComponentInfo; import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.ConfigFactory; import org.apache.ambari.server.state.ConfigHelper; -import org.apache.ambari.server.state.ConfigImpl; import org.apache.ambari.server.state.DesiredConfig; import org.apache.ambari.server.state.Host; import org.apache.ambari.server.state.HostHealthStatus; @@ -964,21 +963,14 @@ public class ClusterTest { Map<String, Map<String, String>> c2PropAttributes = new HashMap<String, Map<String,String>>(); c2PropAttributes.put("final", new HashMap<String, String>()); c2PropAttributes.get("final").put("x", "true"); - Config config1 = configFactory.createNew(c1, "global", + Config config1 = configFactory.createNew(c1, "global", "version1", new HashMap<String, String>() {{ put("a", "b"); }}, c1PropAttributes); - config1.setTag("version1"); - Config config2 = configFactory.createNew(c1, "global", + Config config2 = configFactory.createNew(c1, "global", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, c2PropAttributes); - config2.setTag("version2"); - Config config3 = configFactory.createNew(c1, "core-site", + Config config3 = configFactory.createNew(c1, "core-site", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - config3.setTag("version2"); - - c1.addConfig(config1); - c1.addConfig(config2); - c1.addConfig(config3); c1.addDesiredConfig("_test", Collections.singleton(config1)); Config res = c1.getDesiredConfigByType("global"); @@ -998,21 +990,14 @@ public class ClusterTest { public void testDesiredConfigs() throws Exception { createDefaultCluster(); - Config config1 = configFactory.createNew(c1, "global", + Config config1 = configFactory.createNew(c1, "global", "version1", new HashMap<String, String>() {{ put("a", "b"); }}, new HashMap<String, Map<String,String>>()); - config1.setTag("version1"); - Config config2 = configFactory.createNew(c1, "global", + Config config2 = configFactory.createNew(c1, "global", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - config2.setTag("version2"); - Config config3 = configFactory.createNew(c1, "core-site", + Config config3 = configFactory.createNew(c1, "core-site", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - config3.setTag("version2"); - - c1.addConfig(config1); - c1.addConfig(config2); - c1.addConfig(config3); try { c1.addDesiredConfig(null, Collections.singleton(config1)); @@ -1132,18 +1117,11 @@ public class ClusterTest { c1.addService("HDFS"); - Config config1 = configFactory.createNew(c1, "hdfs-site", + Config config1 = configFactory.createNew(c1, "hdfs-site", "version1", new HashMap<String, String>() {{ put("a", "b"); }}, new HashMap<String, Map<String,String>>()); - config1.setTag("version1"); - Config config2 = configFactory.createNew(c1, "core-site", + Config config2 = configFactory.createNew(c1, "core-site", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - config2.setTag("version2"); - - config1.persist(); - c1.addConfig(config1); - config2.persist(); - c1.addConfig(config2); Set<Config> configs = new HashSet<Config>(); configs.add(config1); @@ -1209,10 +1187,9 @@ public class ClusterTest { Map<String, Map<String, String>> propAttributes = new HashMap<String, Map<String,String>>(); propAttributes.put("final", new HashMap<String, String>()); propAttributes.get("final").put("test", "true"); - Config config = configFactory.createNew(c1, "hdfs-site", new HashMap<String, String>(){{ + Config config = configFactory.createNew(c1, "hdfs-site", "1", new HashMap<String, String>(){{ put("test", "test"); }}, propAttributes); - config.setTag("1"); host1.addDesiredConfig(c1.getClusterId(), true, "test", config); @@ -1247,16 +1224,11 @@ public class ClusterTest { public void testServiceConfigVersions() throws Exception { createDefaultCluster(); - Config config1 = configFactory.createNew(c1, "hdfs-site", + Config config1 = configFactory.createNew(c1, "hdfs-site", "version1", new HashMap<String, String>() {{ put("a", "b"); }}, new HashMap<String, Map<String,String>>()); - config1.setTag("version1"); - Config config2 = configFactory.createNew(c1, "hdfs-site", + Config config2 = configFactory.createNew(c1, "hdfs-site", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - config2.setTag("version2"); - - c1.addConfig(config1); - c1.addConfig(config2); c1.addDesiredConfig("admin", Collections.singleton(config1)); List<ServiceConfigVersionResponse> serviceConfigVersions = @@ -1310,16 +1282,11 @@ public class ClusterTest { public void testSingleServiceVersionForMultipleConfigs() throws Exception { createDefaultCluster(); - Config config1 = configFactory.createNew(c1, "hdfs-site", + Config config1 = configFactory.createNew(c1, "hdfs-site", "version1", new HashMap<String, String>() {{ put("a", "b"); }}, new HashMap<String, Map<String,String>>()); - config1.setTag("version1"); - Config config2 = configFactory.createNew(c1, "core-site", + Config config2 = configFactory.createNew(c1, "core-site", "version2", new HashMap<String, String>() {{ put("x", "y"); }}, new HashMap<String, Map<String,String>>()); - config2.setTag("version2"); - - c1.addConfig(config1); - c1.addConfig(config2); Set<Config> configs = new HashSet<Config>(); configs.add(config1); @@ -1345,11 +1312,8 @@ public class ClusterTest { public void testServiceConfigVersionsForGroups() throws Exception { createDefaultCluster(); - Config config1 = configFactory.createNew(c1, "hdfs-site", + Config config1 = configFactory.createNew(c1, "hdfs-site", "version1", new HashMap<String, String>() {{ put("a", "b"); }}, new HashMap<String, Map<String,String>>()); - config1.setTag("version1"); - - c1.addConfig(config1); ServiceConfigVersionResponse scvResponse = c1.addDesiredConfig("admin", Collections.singleton(config1)); @@ -1361,16 +1325,13 @@ public class ClusterTest { Assert.assertEquals("Only one scv should be active", 1, activeServiceConfigVersions.get("HDFS").size()); //create config group - Config config2 = configFactory.createNew(c1, "hdfs-site", + Config config2 = configFactory.createNew(c1, "hdfs-site", "version2", new HashMap<String, String>() {{ put("a", "c"); }}, new HashMap<String, Map<String,String>>()); - config2.setTag("version2"); ConfigGroup configGroup = configGroupFactory.createNew(c1, "test group", "HDFS", "descr", Collections.singletonMap("hdfs-site", config2), Collections.<Long, Host>emptyMap()); - configGroup.persist(); - c1.addConfigGroup(configGroup); scvResponse = c1.createServiceConfigVersion("HDFS", "admin", "test note", configGroup); @@ -1381,12 +1342,11 @@ public class ClusterTest { Assert.assertEquals("Two service config versions should be active, for default and test groups", 2, activeServiceConfigVersions.get("HDFS").size()); - Config config3 = configFactory.createNew(c1, "hdfs-site", + Config config3 = configFactory.createNew(c1, "hdfs-site", "version3", new HashMap<String, String>() {{ put("a", "d"); }}, new HashMap<String, Map<String,String>>()); configGroup.setConfigurations(Collections.singletonMap("hdfs-site", config3)); - configGroup.persist(); scvResponse = c1.createServiceConfigVersion("HDFS", "admin", "test note", configGroup); assertEquals("SCV 3 should be created", Long.valueOf(3), scvResponse.getVersion()); @@ -1417,16 +1377,14 @@ public class ClusterTest { //check config with empty cluster - Config config4 = new ConfigImpl("hdfs-site"); - config4.setProperties(new HashMap<String, String>() {{ - put("a", "b"); - }}); + Config config4 = configFactory.createReadOnly("hdfs-site", "version4", + Collections.singletonMap("a", "b"), null); ConfigGroup configGroup2 = - configGroupFactory.createNew(c1, "test group 2", "HDFS", "descr", Collections.singletonMap("hdfs-site", config4), + configGroupFactory.createNew(c1, "test group 2", "HDFS", "descr", + new HashMap<>(Collections.singletonMap("hdfs-site", config4)), Collections.<Long, Host>emptyMap()); - configGroup2.persist(); c1.addConfigGroup(configGroup2); scvResponse = c1.createServiceConfigVersion("HDFS", "admin", "test note", configGroup2); @@ -1443,12 +1401,8 @@ public class ClusterTest { // Given createDefaultCluster(); - Config hdfsSiteConfigV1 = configFactory.createNew(c1, "hdfs-site", ImmutableMap.of("p1", "v1"), ImmutableMap.<String, Map<String,String>>of()); - hdfsSiteConfigV1.setTag("version1"); - hdfsSiteConfigV1.persist(); - - c1.addConfig(hdfsSiteConfigV1); - + Config hdfsSiteConfigV1 = configFactory.createNew(c1, "hdfs-site", "version1", + ImmutableMap.of("p1", "v1"), ImmutableMap.<String, Map<String,String>>of()); ServiceConfigVersionResponse hdfsSiteConfigResponseV1 = c1.addDesiredConfig("admin", Collections.singleton(hdfsSiteConfigV1)); List<ConfigurationResponse> configResponsesDefaultGroup = Collections.singletonList( @@ -1459,11 +1413,10 @@ public class ClusterTest { hdfsSiteConfigResponseV1.setConfigurations(configResponsesDefaultGroup); - Config hdfsSiteConfigV2 = configFactory.createNew(c1, "hdfs-site", ImmutableMap.of("p1", "v2"), ImmutableMap.<String, Map<String,String>>of()); - hdfsSiteConfigV2.setTag("version2"); + Config hdfsSiteConfigV2 = configFactory.createNew(c1, "hdfs-site", "version2", + ImmutableMap.of("p1", "v2"), ImmutableMap.<String, Map<String,String>>of()); ConfigGroup configGroup = configGroupFactory.createNew(c1, "configGroup1", "version1", "test description", ImmutableMap.of(hdfsSiteConfigV2.getType(), hdfsSiteConfigV2), ImmutableMap.<Long, Host>of()); - configGroup.persist(); c1.addConfigGroup(configGroup); ServiceConfigVersionResponse hdfsSiteConfigResponseV2 = c1.createServiceConfigVersion("HDFS", "admin", "test note", configGroup); @@ -1507,12 +1460,8 @@ public class ClusterTest { // Given createDefaultCluster(); - Config hdfsSiteConfigV1 = configFactory.createNew(c1, "hdfs-site", ImmutableMap.of("p1", "v1"), ImmutableMap.<String, Map<String,String>>of()); - hdfsSiteConfigV1.setTag("version1"); - hdfsSiteConfigV1.persist(); - - c1.addConfig(hdfsSiteConfigV1); - + Config hdfsSiteConfigV1 = configFactory.createNew(c1, "hdfs-site", "version1", + ImmutableMap.of("p1", "v1"), ImmutableMap.<String, Map<String,String>>of()); ServiceConfigVersionResponse hdfsSiteConfigResponseV1 = c1.addDesiredConfig("admin", Collections.singleton(hdfsSiteConfigV1)); List<ConfigurationResponse> configResponsesDefaultGroup = Collections.singletonList( @@ -1523,11 +1472,10 @@ public class ClusterTest { hdfsSiteConfigResponseV1.setConfigurations(configResponsesDefaultGroup); - Config hdfsSiteConfigV2 = configFactory.createNew(c1, "hdfs-site", ImmutableMap.of("p1", "v2"), ImmutableMap.<String, Map<String,String>>of()); - hdfsSiteConfigV2.setTag("version2"); + Config hdfsSiteConfigV2 = configFactory.createNew(c1, "hdfs-site", "version2", + ImmutableMap.of("p1", "v2"), ImmutableMap.<String, Map<String,String>>of()); ConfigGroup configGroup = configGroupFactory.createNew(c1, "configGroup1", "version1", "test description", ImmutableMap.of(hdfsSiteConfigV2.getType(), hdfsSiteConfigV2), ImmutableMap.<Long, Host>of()); - configGroup.persist(); c1.addConfigGroup(configGroup); ServiceConfigVersionResponse hdfsSiteConfigResponseV2 = c1.createServiceConfigVersion("HDFS", "admin", "test note", configGroup); @@ -2373,17 +2321,13 @@ public class ClusterTest { ClusterEntity clusterEntity = clusterDAO.findByName("c1"); assertEquals(0, clusterEntity.getClusterConfigEntities().size()); - final Config originalConfig = configFactory.createNew(cluster, "foo-site", + final Config originalConfig = configFactory.createNew(cluster, "foo-site", "version3", new HashMap<String, String>() { { put("one", "two"); } }, new HashMap<String, Map<String, String>>()); - originalConfig.setTag("version3"); - originalConfig.persist(); - cluster.addConfig(originalConfig); - ConfigGroup configGroup = configGroupFactory.createNew(cluster, "g1", "t1", "", new HashMap<String, Config>() { { @@ -2391,7 +2335,6 @@ public class ClusterTest { } }, Collections.<Long, Host> emptyMap()); - configGroup.persist(); cluster.addConfigGroup(configGroup); clusterEntity = clusterDAO.findByName("c1"); @@ -2403,8 +2346,7 @@ public class ClusterTest { Map<String, String> properties = config.getProperties(); properties.put("three", "four"); config.setProperties(properties); - - config.persist(false); + config.save(); clusterEntity = clusterDAO.findByName("c1"); assertEquals(1, clusterEntity.getClusterConfigEntities().size()); @@ -2545,13 +2487,7 @@ public class ClusterTest { // foo-type for v1 on current stack properties.put("foo-property-1", "foo-value-1"); - Config c1 = new ConfigImpl(cluster, "foo-type", properties, propertiesAttributes, injector); - c1.setTag("version-1"); - c1.setStackId(stackId); - c1.setVersion(1L); - - cluster.addConfig(c1); - c1.persist(); + Config c1 = configFactory.createNew(cluster, "foo-type", "version-1", properties, propertiesAttributes); // make v1 "current" cluster.addDesiredConfig("admin", Sets.newHashSet(c1), "note-1"); @@ -2562,12 +2498,7 @@ public class ClusterTest { // save v2 // foo-type for v2 on new stack properties.put("foo-property-2", "foo-value-2"); - Config c2 = new ConfigImpl(cluster, "foo-type", properties, propertiesAttributes, injector); - c2.setTag("version-2"); - c2.setStackId(newStackId); - c2.setVersion(2L); - cluster.addConfig(c2); - c2.persist(); + Config c2 = configFactory.createNew(cluster, "foo-type", "version-2", properties, propertiesAttributes); // make v2 "current" cluster.addDesiredConfig("admin", Sets.newHashSet(c2), "note-2"); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java index 5886234..d75d9d0 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java @@ -405,19 +405,15 @@ public class ClustersTest { cluster.transitionClusterVersion(stackId, stackId.getStackVersion(), RepositoryVersionState.CURRENT); - final Config config1 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", + final Config config1 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", "1", new HashMap<String, String>() {{ put("prop1", "val1"); }}, new HashMap<String, Map<String,String>>()); - config1.setTag("1"); - config1.persist(); - Config config2 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", + Config config2 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", "2", new HashMap<String, String>() {{ put("prop2", "val2"); }}, new HashMap<String, Map<String,String>>()); - config2.setTag("2"); - config2.persist(); // cluster desired config cluster.addDesiredConfig("_test", Collections.singleton(config1)); http://git-wip-us.apache.org/repos/asf/ambari/blob/704170e4/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java index 1f09002..96dbf26 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java @@ -114,17 +114,12 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING); - Config config1 = configFactory.createNew(cluster, "test-type1", new HashMap<String, String>(), new HashMap<String, + Config config1 = configFactory.createNew(cluster, "test-type1", null, new HashMap<String, String>(), new HashMap<String, Map<String, String>>()); - Config config2 = configFactory.createNew(cluster, "test-type2", new HashMap<String, String>(), new HashMap<String, + Config config2 = configFactory.createNew(cluster, "test-type2", null, new HashMap<String, String>(), new HashMap<String, Map<String, String>>()); - config1.persist(); - config2.persist(); - - cluster.addConfig(config1); - cluster.addConfig(config2); cluster.addDesiredConfig("test user", new HashSet<Config>(Arrays.asList(config1, config2))); String hostName = "c6401";
