Repository: ambari Updated Branches: refs/heads/branch-2.4 ed5bcbf9e -> dd3770771 refs/heads/trunk 6d00d3988 -> 445bf7aff
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/dd377077 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dd377077 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dd377077 Branch: refs/heads/branch-2.4 Commit: dd3770771df5da755c6cb89db1fdb09a4c5a4cf3 Parents: ed5bcbf Author: Myroslav Papirkovskyi <[email protected]> Authored: Wed Jul 6 18:09:33 2016 +0300 Committer: Myroslav Papirkovskyi <[email protected]> Committed: Wed Jul 6 18:09:33 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/dd377077/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/dd377077/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);
