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.