You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rn...@apache.org on 2018/06/11 18:09:03 UTC
[ambari] branch trunk updated: [AMBARI-24059] Ambari Views auto
create instance should support matching to all known stacks (#1502)
This is an automated email from the ASF dual-hosted git repository.
rnettleton pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new ab70364 [AMBARI-24059] Ambari Views auto create instance should support matching to all known stacks (#1502)
ab70364 is described below
commit ab70364cf6432f71952f36d012e16cb2373f9a94
Author: Robert Nettleton <rn...@hortonworks.com>
AuthorDate: Mon Jun 11 14:08:52 2018 -0400
[AMBARI-24059] Ambari Views auto create instance should support matching to all known stacks (#1502)
* [AMBARI-24059] Ambari Views auto create instance should support matching to all known stacks
* Updating after review comments.
---
.../apache/ambari/server/view/ViewRegistry.java | 6 ++++
.../ambari/server/view/ViewRegistryTest.java | 35 ++++++++++++++++++----
2 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index 138ebcd..cd871b3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -1136,6 +1136,12 @@ public class ViewRegistry {
String configStackId = autoConfig.getStackId();
if (configStackId != null) {
+ if (configStackId.equals("*")) {
+ // always return true when the auto-instance is configured to match
+ // against all stacks
+ return true;
+ }
+
StackId id = new StackId(configStackId);
if (id.getStackName().equals(stackId.getStackName())) {
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
index a28d419..7703aaf 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
@@ -198,6 +198,17 @@ public class ViewRegistryTest {
" </auto-instance>\n" +
"</view>";
+ private static final String AUTO_VIEW_WILD_ALL_STACKS_XML = "<view>\n" +
+ " <name>MY_VIEW</name>\n" +
+ " <label>My View!</label>\n" +
+ " <version>1.0.0</version>\n" +
+ " <auto-instance>\n" +
+ " <name>AUTO-INSTANCE</name>\n" +
+ " <stack-id>*</stack-id>\n" +
+ " <services><service>HIVE</service><service>HDFS</service></services>\n" +
+ " </auto-instance>\n" +
+ "</view>";
+
private static final String AUTO_VIEW_BAD_STACK_XML = "<view>\n" +
" <name>MY_VIEW</name>\n" +
" <label>My View!</label>\n" +
@@ -209,6 +220,8 @@ public class ViewRegistryTest {
" </auto-instance>\n" +
"</view>";
+ private static final String EXPECTED_HDP_2_0_STACK_NAME = "HDP-2.0";
+
// registry mocks
private static final ViewDAO viewDAO = createMock(ViewDAO.class);
private static final ViewInstanceDAO viewInstanceDAO = createNiceMock(ViewInstanceDAO.class);
@@ -226,6 +239,7 @@ public class ViewRegistryTest {
private static final Clusters clusters = createNiceMock(Clusters.class);
+
@Before
public void resetGlobalMocks() {
ViewRegistry.initInstance(getRegistry(viewInstanceOperationHandler, viewDAO, viewInstanceDAO, userDAO, memberDAO, privilegeDAO,
@@ -1347,7 +1361,7 @@ public class ViewRegistryTest {
serviceNames.add("HDFS");
serviceNames.add("HIVE");
- testOnAmbariEventServiceCreation(AUTO_VIEW_XML, serviceNames, true);
+ testOnAmbariEventServiceCreation(AUTO_VIEW_XML, serviceNames, EXPECTED_HDP_2_0_STACK_NAME,true);
}
@Test
@@ -1356,7 +1370,16 @@ public class ViewRegistryTest {
serviceNames.add("HDFS");
serviceNames.add("HIVE");
- testOnAmbariEventServiceCreation(AUTO_VIEW_WILD_STACK_XML, serviceNames, true);
+ testOnAmbariEventServiceCreation(AUTO_VIEW_WILD_STACK_XML, serviceNames, EXPECTED_HDP_2_0_STACK_NAME,true);
+ }
+
+ @Test
+ public void testOnAmbariEventServiceCreation_widcardAllStacks() throws Exception {
+ Set<String> serviceNames = new HashSet<>();
+ serviceNames.add("HDFS");
+ serviceNames.add("HIVE");
+
+ testOnAmbariEventServiceCreation(AUTO_VIEW_WILD_ALL_STACKS_XML, serviceNames, "HDF-3.1", true);
}
@Test
@@ -1365,7 +1388,7 @@ public class ViewRegistryTest {
serviceNames.add("HDFS");
serviceNames.add("HIVE");
- testOnAmbariEventServiceCreation(AUTO_VIEW_BAD_STACK_XML, serviceNames, false);
+ testOnAmbariEventServiceCreation(AUTO_VIEW_BAD_STACK_XML, serviceNames, EXPECTED_HDP_2_0_STACK_NAME, false);
}
@Test
@@ -1374,7 +1397,7 @@ public class ViewRegistryTest {
serviceNames.add("STORM");
serviceNames.add("HIVE");
- testOnAmbariEventServiceCreation(AUTO_VIEW_XML, serviceNames, false);
+ testOnAmbariEventServiceCreation(AUTO_VIEW_XML, serviceNames, EXPECTED_HDP_2_0_STACK_NAME, false);
}
@Test
@@ -1879,7 +1902,7 @@ public class ViewRegistryTest {
return viewInstanceDefinition;
}
- private void testOnAmbariEventServiceCreation(String xml, Set<String> serviceNames, boolean success) throws Exception {
+ private void testOnAmbariEventServiceCreation(String xml, Set<String> serviceNames, String stackName, boolean success) throws Exception {
ViewConfig config = ViewConfigTest.getConfig(xml);
ViewEntity viewDefinition = ViewEntityTest.getViewEntity(config);
@@ -1890,7 +1913,7 @@ public class ViewRegistryTest {
ViewInstanceEntity viewInstanceEntity = createNiceMock(ViewInstanceEntity.class);
Cluster cluster = createNiceMock(Cluster.class);
Service service = createNiceMock(Service.class);
- StackId stackId = new StackId("HDP-2.0");
+ StackId stackId = new StackId(stackName);
Map<String, Service> serviceMap = new HashMap<>();
--
To stop receiving notification emails like this one, please contact
rnettleton@apache.org.