You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by be...@apache.org on 2018/05/25 16:39:29 UTC

[ambari] branch branch-feature-AMBARI-14714 updated: AMBARI-23032 export cluster as blueprint for 3.0 update (#1367)

This is an automated email from the ASF dual-hosted git repository.

benyoka pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714 by this push:
     new 7bbf158  AMBARI-23032 export cluster as blueprint for 3.0 update (#1367)
7bbf158 is described below

commit 7bbf1586fcadcf368aa80b85f94ead553d9d444c
Author: benyoka <be...@users.noreply.github.com>
AuthorDate: Fri May 25 18:39:26 2018 +0200

    AMBARI-23032 export cluster as blueprint for 3.0 update (#1367)
    
    * AMBARI-23032 fix execptions, export cluster settings and single mpacks (benyoka)
    
    * AMBARI-23032 fix review comments (benyoka)
    
    * AMBARI-23032 better method naming (benyoka)
    
    * AMBARI-23032 fix review comments #2 (benyoka)
    
    * AMBARI-23032 fix review comments #3 (benyoka)
    
    * AMBARI-23032 fix swallowed exceptions during mpack installation
    
    * AMBARI-23032 prepare for mpack info in component
    
    * AMBARI-23032 fix exceptions during installation and blueprint export (benyoka)
    
    * AMBARI-23032 revert accidental changes (benyoka)
    
    * AMBARI-23032 revert accidental changes #2 (benyoka)
    
    * AMBARI-23032 fixed a number of unit tests (benyoka)
    
    * AMBARI-23032 make sure Blueprints tag is exported (benyoka)
    
    * Merge branch-feature-AMBARI-14714
    
    * AMBARI-23032 fix import error (benyoka)
    
    * AMBARI-23032 fix equals() in Component (benyoka)
---
 .../server/api/query/render/ClusterBlueprintRenderer.java      | 10 +++++-----
 .../server/controller/internal/ExportBlueprintRequest.java     |  2 +-
 .../main/java/org/apache/ambari/server/topology/Component.java |  3 ++-
 .../server/api/query/render/ClusterBlueprintRendererTest.java  |  4 ++++
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
index e2c9bfd..c7ad7e3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRenderer.java
@@ -244,13 +244,13 @@ public class ClusterBlueprintRenderer extends BaseRenderer implements Renderer {
    * Adds mpack instances to the exported blueprint resource.
    */
   private void addMpackInstances(Resource blueprintResource, TreeNode<Resource> clusterNode) {
-    List<Map<String, Object>> mpackInstances = clusterNode.getChild("stack_versions").getChildren().stream().map(
+    // TODO: find a way to add mpack uri
+    List<Map<String, Object>> mpackInstances = clusterNode.getChild("servicegroups").getChildren().stream().map(
       child -> {
-        Map<String, Object> stackVersionProps = child.getObject().getPropertiesMap().get("ClusterStackVersions");
+        Map<String, Object> serviceGroupProps = child.getObject().getPropertiesMap().get("ServiceGroupInfo");
         return ImmutableMap.of(
-          "name", stackVersionProps.get("stack"),
-          "version", stackVersionProps.get("version"),
-          "url", stackVersionProps.get("mpack_uri"));
+          "name", serviceGroupProps.get("mpack_name"),
+          "version", serviceGroupProps.get("mpack_version"));
       }).
       collect(toList());
     blueprintResource.setProperty(BlueprintResourceProvider.MPACK_INSTANCES_PROPERTY_ID, mpackInstances);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
index 14179f4..dc3f2d5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExportBlueprintRequest.java
@@ -82,7 +82,7 @@ public class ExportBlueprintRequest implements TopologyRequest {
     // create service group to mpack map
     serviceGroupToMpack = clusterNode.getChild("servicegroups").getChildren().stream().
       map(tn -> tn.getObject().getPropertiesMap().get(ServiceGroupResourceProvider.RESPONSE_KEY)).
-      collect(toMap(m -> m.get("service_group_name").toString(), m -> new StackId(m.get("version").toString())));
+      collect(toMap(m -> m.get("service_group_name").toString(), m -> new StackId(m.get("stack").toString())));
 
     createConfiguration(clusterNode);
     //todo: should be parsing Configuration from the beginning
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/topology/Component.java b/ambari-server/src/main/java/org/apache/ambari/server/topology/Component.java
index 40d81fa..eac584f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/topology/Component.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/topology/Component.java
@@ -88,6 +88,7 @@ public class Component {
   public String getMpackInstance() {
     return this.mpackInstance;
   }
+
   /**
    * @return the service instance this component belongs to. Can be {@code null} if component does not belong to a service
    * instance (there is a single service of the component's service type)
@@ -99,7 +100,7 @@ public class Component {
   /**
    * Gets the provision action associated with this component.
    *
-   * @return the provision action for this component, whichRequest's Mpack instances isRequest's Mpack instances is
+   * @return the provision action for this component, which
    *         may be null if the default action is to be used
    */
   public ProvisionAction getProvisionAction() {
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java
index 34e3bd3..5298d1f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/ClusterBlueprintRendererTest.java
@@ -287,6 +287,8 @@ public class ClusterBlueprintRendererTest {
     serviceGroupResource.setProperty("ServiceGroupInfo/cluster_name", "c1");
     serviceGroupResource.setProperty("ServiceGroupInfo/service_group_id", "1");
     serviceGroupResource.setProperty("ServiceGroupInfo/service_group_name", "core");
+    serviceGroupResource.setProperty("ServiceGroupInfo/mpack_name", "HDP");
+    serviceGroupResource.setProperty("ServiceGroupInfo/mpack_version", "1.3.3");
     TreeNode<Resource> serviceGroup1Tree = serviceGroupsTree.addChild(serviceGroupResource, "ServiceGroup:1");
     clusterTree.addChild(serviceGroupsTree);
 
@@ -710,6 +712,8 @@ public class ClusterBlueprintRendererTest {
     serviceGroupResource.setProperty("ServiceGroupInfo/cluster_name", "c1");
     serviceGroupResource.setProperty("ServiceGroupInfo/service_group_id", "1");
     serviceGroupResource.setProperty("ServiceGroupInfo/service_group_name", "core");
+    serviceGroupResource.setProperty("ServiceGroupInfo/mpack_name", "HDP");
+    serviceGroupResource.setProperty("ServiceGroupInfo/mpack_version", "1.3.3");
     TreeNode<Resource> serviceGroup1Tree = serviceGroupsTree.addChild(serviceGroupResource, "ServiceGroup:1");
     clusterTree.addChild(serviceGroupsTree);
 

-- 
To stop receiving notification emails like this one, please contact
benyoka@apache.org.