AMBARI-19183. Ambari allows creation of invalid config type. (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/20a50767 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/20a50767 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/20a50767 Branch: refs/heads/branch-dev-patch-upgrade Commit: 20a50767cfb7c3923ce945bddbafe0573c692f05 Parents: 315691f Author: Myroslav Papirkovskyi <[email protected]> Authored: Tue Jan 3 19:53:24 2017 +0200 Committer: Myroslav Papirkovskyi <[email protected]> Committed: Tue Jan 3 20:20:28 2017 +0200 ---------------------------------------------------------------------- .../server/controller/internal/ConfigGroupResourceProvider.java | 4 ++-- .../controller/internal/ConfigGroupResourceProviderTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/20a50767/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 2373068..17924cd 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 @@ -579,6 +579,8 @@ public class ConfigGroupResourceProvider extends getManagementController().getAuthName(), request.getGroupName(), request.getTag(), cluster.getClusterName()); + verifyConfigs(request.getConfigs(), cluster.getClusterName()); + ConfigGroup configGroup = configGroupFactory.createNew(cluster, request.getGroupName(), request.getTag(), request.getDescription(), @@ -586,8 +588,6 @@ public class ConfigGroupResourceProvider extends configGroup.setServiceName(serviceName); - verifyConfigs(configGroup.getConfigurations(), cluster.getClusterName()); - cluster.addConfigGroup(configGroup); if (serviceName != null) { cluster.createServiceConfigVersion(serviceName, getManagementController().getAuthName(), http://git-wip-us.apache.org/repos/asf/ambari/blob/20a50767/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 1d7a50b..9471a81 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,6 +160,8 @@ public class ConfigGroupResourceProviderTest { expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes(); expect(clusters.getHost("h1")).andReturn(h1); expect(clusters.getHost("h2")).andReturn(h2); + expect(cluster.getClusterName()).andReturn("Cluster100").anyTimes(); + expect(cluster.isConfigTypeExists(anyString())).andReturn(true).anyTimes(); expect(managementController.getConfigGroupFactory()).andReturn(configGroupFactory); expect(managementController.getAuthName()).andReturn("admin").anyTimes(); expect(hostDAO.findByName("h1")).andReturn(hostEntity1).atLeastOnce();
