You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2018/06/14 17:26:53 UTC

[ambari] branch branch-feature-AMBARI-14714 updated: [AMBARI-24096] Add Upgrade Pack to Upgrade Plan (#1537)

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

ncole 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 59dff1a  [AMBARI-24096] Add Upgrade Pack to Upgrade Plan (#1537)
59dff1a is described below

commit 59dff1afe0d55683d87b8731a215455e36e5386c
Author: ncole <nc...@hortonworks.com>
AuthorDate: Thu Jun 14 13:26:39 2018 -0400

    [AMBARI-24096] Add Upgrade Pack to Upgrade Plan (#1537)
---
 .../internal/UpgradePlanResourceProvider.java      | 22 +++++++++++++++++++---
 .../orm/entities/UpgradePlanConfigEntity.java      |  2 +-
 .../orm/entities/UpgradePlanDetailEntity.java      | 17 +++++++++++++++++
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql |  3 ++-
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql |  3 ++-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql    |  3 ++-
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql  |  3 ++-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql    |  3 ++-
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql |  3 ++-
 .../internal/UpgradePlanResourceProviderTest.java  |  2 ++
 10 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProvider.java
index ff92eb8..a2308a8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProvider.java
@@ -83,7 +83,6 @@ public class UpgradePlanResourceProvider extends AbstractControllerResourceProvi
   public static final String UPGRADE_PLAN_SKIP_SERVICE_CHECKS         = UPGRADE_PLAN + "skip_service_checks";
   public static final String UPGRADE_PLAN_SKIP_SERVICE_CHECK_FAILURES = UPGRADE_PLAN + "skip_service_check_failures";
   public static final String UPGRADE_PLAN_FAIL_ON_CHECK_WARNINGS      = UPGRADE_PLAN + "fail_on_check_warnings";
-
   public static final String UPGRADE_PLAN_SERVICE_GROUPS              = UPGRADE_PLAN + "servicegroups";
 
   private static final Map<Resource.Type, String> KEY_PROPERTY_IDS = ImmutableMap.<Resource.Type, String>builder()
@@ -152,9 +151,9 @@ public class UpgradePlanResourceProvider extends AbstractControllerResourceProvi
     String json = s_gson.toJson(groupMaps);
 
     java.lang.reflect.Type listType = new TypeToken<ArrayList<ServiceGroupJson>>(){}.getType();
-    List<ServiceGroupJson> l = s_gson.fromJson(json, listType);
+    List<ServiceGroupJson> sgList = s_gson.fromJson(json, listType);
 
-    UpgradePlanEntity entity = toEntity(propertyMap, l);
+    UpgradePlanEntity entity = toEntity(propertyMap, sgList);
 
     s_upgradePlanDAO.create(entity);
 
@@ -316,6 +315,14 @@ public class UpgradePlanResourceProvider extends AbstractControllerResourceProvi
         UpgradePlanDetailEntity detail = new UpgradePlanDetailEntity();
         detail.setServiceGroupId(sgJson.serviceGroupId);
         detail.setMpackTargetId(sgJson.mpackTargetId);
+        if (StringUtils.isNotBlank(sgJson.upgradePack)) {
+          // !!! find and verify the target mpack has the upgrade pack asked for
+          detail.setUpgradePack(sgJson.upgradePack);
+        } else {
+          // !!! TODO find the upgrade pack in the target that will update the
+          // service group
+          detail.setUpgradePack("foo");
+        }
 
         // !!! TODO During create, we have to resolve the config changes and persist them
         // to allow the user to override them.  Ignore passed-in values, this has to come
@@ -374,6 +381,14 @@ public class UpgradePlanResourceProvider extends AbstractControllerResourceProvi
     @JsonProperty("mpack_target_id")
     private Long mpackTargetId;
 
+    /**
+     * Upgrade pack to use.  This property is not expected to be sent by the UI
+     * but is used for API testing.
+     */
+    @SerializedName("upgrade_pack")
+    @JsonProperty("upgrade_pack")
+    private String upgradePack;
+
     @SerializedName("configuration_changes")
     @JsonProperty("configuration_changes")
     private List<ConfigurationChangeJson> config_changes;
@@ -381,6 +396,7 @@ public class UpgradePlanResourceProvider extends AbstractControllerResourceProvi
     private ServiceGroupJson(UpgradePlanDetailEntity detail) {
       serviceGroupId = detail.getServiceGroupId();
       mpackTargetId = detail.getMpackTargetId();
+      upgradePack = detail.getUpgradePack();
 
       config_changes = detail.getConfigChanges().stream()
           .map(ConfigurationChangeJson::new).collect(Collectors.toList());
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanConfigEntity.java
index 89bdfb8..54d24b1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanConfigEntity.java
@@ -46,7 +46,7 @@ public class UpgradePlanConfigEntity {
   @Column(name = "config_type", nullable = false, insertable = true, updatable = false)
   private String type;
 
-  @Column(name = "key", nullable = false, insertable = true, updatable = false)
+  @Column(name = "config_key", nullable = false, insertable = true, updatable = false)
   private String key;
 
   @Column(name="new_value", insertable = true, updatable = false)
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanDetailEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanDetailEntity.java
index d25e471..4626786 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanDetailEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/UpgradePlanDetailEntity.java
@@ -59,6 +59,9 @@ public class UpgradePlanDetailEntity {
   @Column(name = "mpack_target_id", nullable = false, insertable = true, updatable = true)
   private Long mpackTargetId;
 
+  @Column(name = "upgrade_pack", nullable = false, insertable = true, updatable = true)
+  private String upgradePack;
+
   @ManyToOne
   @JoinColumn(name = "upgrade_plan_id", referencedColumnName = "id", nullable = false)
   private UpgradePlanEntity upgradePlanEntity;
@@ -116,6 +119,20 @@ public class UpgradePlanDetailEntity {
   }
 
   /**
+   * @return the resolved upgrade pack name from the target mpack
+   */
+  public String getUpgradePack() {
+    return upgradePack;
+  }
+
+  /**
+   * @param pack the resolved upgrade pack from the mpack.
+   */
+  public void setUpgradePack(String pack) {
+    upgradePack = pack;
+  }
+
+  /**
    * @param changes
    *          the changes for this detail
    */
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
index a4cfeb6..9acb83f 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -1036,6 +1036,7 @@ CREATE TABLE upgrade_plan_detail (
   upgrade_plan_id BIGINT NOT NULL,
   service_group_id BIGINT NOT NULL,
   mpack_target_id BIGINT NOT NULL,
+  upgrade_pack VARCHAR(255) NOT NULL,
   CONSTRAINT PK_upgrade_plan_detail PRIMARY KEY (id),
   CONSTRAINT FK_upgrade_det_upgrade_plan FOREIGN KEY (upgrade_plan_id) REFERENCES upgrade_plan (id)
 );
@@ -1044,7 +1045,7 @@ CREATE TABLE upgrade_plan_config (
   id BIGINT NOT NULL,
   upgrade_plan_detail_id BIGINT NOT NULL,
   config_type VARCHAR(255) NOT NULL,
-  key VARCHAR(255) NOT NULL,
+  config_key VARCHAR(255) NOT NULL,
   new_value VARCHAR(3000),
   remove SMALLINT DEFAULT 0 NOT NULL,
   CONSTRAINT PK_upgrade_plan_config PRIMARY KEY (id),
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 4dce027..9ee0646 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -1053,6 +1053,7 @@ CREATE TABLE upgrade_plan_detail (
   upgrade_plan_id BIGINT NOT NULL,
   service_group_id BIGINT NOT NULL,
   mpack_target_id BIGINT NOT NULL,
+  upgrade_pack VARCHAR(255) NOT NULL,
   CONSTRAINT PK_upgrade_plan_detail PRIMARY KEY (id),
   CONSTRAINT FK_upgrade_det_upgrade_plan FOREIGN KEY (upgrade_plan_id) REFERENCES upgrade_plan (id)
 );
@@ -1061,7 +1062,7 @@ CREATE TABLE upgrade_plan_config (
   id BIGINT NOT NULL,
   upgrade_plan_detail_id BIGINT NOT NULL,
   config_type VARCHAR(255) NOT NULL,
-  `key` VARCHAR(255) NOT NULL,
+  config_key VARCHAR(255) NOT NULL,
   new_value LONGTEXT,
   remove SMALLINT DEFAULT 0 NOT NULL,
   CONSTRAINT PK_upgrade_plan_config PRIMARY KEY (id),
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index 88bb0c3..9614ff9 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -1031,6 +1031,7 @@ CREATE TABLE upgrade_plan_detail (
   upgrade_plan_id NUMBER(19) NOT NULL,
   service_group_id NUMBER(19) NOT NULL,
   mpack_target_id NUMBER(19) NOT NULL,
+  upgrade_pack VARCHAR2(255) NOT NULL,
   CONSTRAINT PK_upgrade_plan_detail PRIMARY KEY (id),
   CONSTRAINT FK_upgrade_det_upgrade_plan FOREIGN KEY (upgrade_plan_id) REFERENCES upgrade_plan (id)
 );
@@ -1039,7 +1040,7 @@ CREATE TABLE upgrade_plan_config (
   id NUMBER(19) NOT NULL,
   upgrade_plan_detail_id NUMBER(19) NOT NULL,
   config_type VARCHAR2(255) NOT NULL,
-  key VARCHAR2(255) NOT NULL,
+  config_key VARCHAR2(255) NOT NULL,
   new_value CLOB,
   remove NUMBER(1) DEFAULT 0 NOT NULL,
   CONSTRAINT PK_upgrade_plan_config PRIMARY KEY (id),
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index dc33e43..cd16fa4 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -1037,6 +1037,7 @@ CREATE TABLE upgrade_plan_detail (
   upgrade_plan_id BIGINT NOT NULL,
   service_group_id BIGINT NOT NULL,
   mpack_target_id BIGINT NOT NULL,
+  upgrade_pack VARCHAR(255) NOT NULL,
   CONSTRAINT PK_upgrade_plan_detail PRIMARY KEY (id),
   CONSTRAINT FK_upgrade_det_upgrade_plan FOREIGN KEY (upgrade_plan_id) REFERENCES upgrade_plan (id)
 );
@@ -1045,7 +1046,7 @@ CREATE TABLE upgrade_plan_config (
   id BIGINT NOT NULL,
   upgrade_plan_detail_id BIGINT NOT NULL,
   config_type VARCHAR(255) NOT NULL,
-  key VARCHAR(255) NOT NULL,
+  config_key VARCHAR(255) NOT NULL,
   new_value TEXT,
   remove SMALLINT DEFAULT 0 NOT NULL,
   CONSTRAINT PK_upgrade_plan_config PRIMARY KEY (id),
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
index 3e847c6..bca753b 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
@@ -1032,6 +1032,7 @@ CREATE TABLE upgrade_plan_detail (
   upgrade_plan_id NUMERIC(19) NOT NULL,
   service_group_id NUMERIC(19) NOT NULL,
   mpack_target_id NUMERIC(19) NOT NULL,
+  upgrade_pack VARCHAR(255) NOT NULL,
   CONSTRAINT PK_upgrade_plan_detail PRIMARY KEY (id),
   CONSTRAINT FK_upgrade_det_upgrade_plan FOREIGN KEY (upgrade_plan_id) REFERENCES upgrade_plan (id)
 );
@@ -1040,7 +1041,7 @@ CREATE TABLE upgrade_plan_config (
   id NUMERIC(19) NOT NULL,
   upgrade_plan_detail_id NUMERIC(19) NOT NULL,
   config_type VARCHAR(255) NOT NULL,
-  key VARCHAR(255) NOT NULL,
+  config_key VARCHAR(255) NOT NULL,
   new_value TEXT,
   remove SMALLINT DEFAULT 0 NOT NULL,
   CONSTRAINT PK_upgrade_plan_config PRIMARY KEY (id),
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index 1f1a24d..66638ea 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -1054,6 +1054,7 @@ CREATE TABLE upgrade_plan_detail (
   upgrade_plan_id BIGINT NOT NULL,
   service_group_id BIGINT NOT NULL,
   mpack_target_id BIGINT NOT NULL,
+  upgrade_pack VARCHAR(255) NOT NULL,
   CONSTRAINT PK_upgrade_plan_detail PRIMARY KEY (id),
   CONSTRAINT FK_upgrade_det_upgrade_plan FOREIGN KEY (upgrade_plan_id) REFERENCES upgrade_plan (id)
 );
@@ -1062,7 +1063,7 @@ CREATE TABLE upgrade_plan_config (
   id BIGINT NOT NULL,
   upgrade_plan_detail_id BIGINT NOT NULL,
   config_type VARCHAR(255) NOT NULL,
-  key VARCHAR(255) NOT NULL,
+  config_key VARCHAR(255) NOT NULL,
   new_value TEXT,
   remove SMALLINT NOT NULL DEFAULT 0,
   CONSTRAINT PK_upgrade_plan_config PRIMARY KEY (id),
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProviderTest.java
index 8ec2fa7..b3a9be2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradePlanResourceProviderTest.java
@@ -116,6 +116,7 @@ public class UpgradePlanResourceProviderTest {
     Map<String, Object> serviceGroups = ImmutableMap.<String, Object>builder()
         .put("service_group_id", 4L)
         .put("mpack_target_id", 2L)
+        .put("upgrade_pack", "up.xml")
         .build();
 
     Map<String, Object> requestMap = ImmutableMap.<String, Object>builder()
@@ -142,6 +143,7 @@ public class UpgradePlanResourceProviderTest {
     UpgradePlanDetailEntity detail = entity.getDetails().iterator().next();
     assertEquals(4L, detail.getServiceGroupId());
     assertEquals(2L, detail.getMpackTargetId());
+    assertEquals("up.xml", detail.getUpgradePack());
     assertNotNull(detail.getConfigChanges());
     // !!! TODO when more thorough code is added, we'll be able to test more assertions
     assertEquals(0, detail.getConfigChanges().size());

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