AMBARI-17588. Creation of config groups with invalid config type doesn't throw 
any error. (mpapirkovskyy)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/445bf7af
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/445bf7af
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/445bf7af

Branch: refs/heads/trunk
Commit: 445bf7aff5b955bcd6cd7571eba15e3250819e6c
Parents: 6d00d39
Author: Myroslav Papirkovskyi <[email protected]>
Authored: Wed Jul 6 18:09:33 2016 +0300
Committer: Myroslav Papirkovskyi <[email protected]>
Committed: Wed Jul 6 18:13:08 2016 +0300

----------------------------------------------------------------------
 .../server/controller/internal/ConfigGroupResourceProvider.java  | 4 ++++
 .../controller/internal/ConfigGroupResourceProviderTest.java     | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/445bf7af/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
index 9402c95..d4e3828 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
@@ -391,6 +391,9 @@ public class ConfigGroupResourceProvider extends
   }
 
   private void verifyConfigs(Map<String, Config> configs, String clusterName) 
throws AmbariException {
+    if (configs == null) {
+      return;
+    }
     Clusters clusters = getManagementController().getClusters();
     for (String key : configs.keySet()) {
       if(!clusters.getCluster(clusterName).isConfigTypeExists(key)){
@@ -570,6 +573,7 @@ public class ConfigGroupResourceProvider extends
         request.getTag(), request.getDescription(),
         request.getConfigs(), hosts);
 
+      verifyConfigs(configGroup.getConfigurations(), cluster.getClusterName());
       configGroup.setServiceName(serviceName);
 
       // Persist before add, since id is auto-generated

http://git-wip-us.apache.org/repos/asf/ambari/blob/445bf7af/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
index a5c71c4..dc8017a 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
@@ -160,7 +160,7 @@ public class ConfigGroupResourceProviderTest {
     ConfigGroupFactory configGroupFactory = 
createNiceMock(ConfigGroupFactory.class);
     ConfigGroup configGroup = createNiceMock(ConfigGroup.class);
 
-    expect(managementController.getClusters()).andReturn(clusters);
+    expect(managementController.getClusters()).andReturn(clusters).anyTimes();
     expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes();
     expect(clusters.getHost("h1")).andReturn(h1);
     expect(clusters.getHost("h2")).andReturn(h2);

Reply via email to