This is an automated email from the ASF dual-hosted git repository. mradhakrishnan pushed a commit to branch AMBARI-24711 in repository https://gitbox.apache.org/repos/asf/ambari.git
commit 29aa64d6ea9015a395a4410cf90f445c79dd7d45 Author: Jayush Luniya <jlun...@hortonworks.com> AuthorDate: Mon Feb 12 18:04:08 2018 -0800 AMBARI-22971: Remove current_mpack_id to mpack_id in stacks table (jluniya) --- .../api/resources/MpackResourceDefinition.java | 4 +- .../resources/StackVersionResourceDefinition.java | 3 +- .../controller/internal/MpackResourceProvider.java | 2 +- .../apache/ambari/server/mpack/MpackManager.java | 9 ++- .../org/apache/ambari/server/orm/dao/StackDAO.java | 2 +- .../ambari/server/orm/entities/StackEntity.java | 18 +++--- .../src/main/resources/Ambari-DDL-Derby-CREATE.sql | 4 +- .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql | 4 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 4 +- .../main/resources/Ambari-DDL-Postgres-CREATE.sql | 4 +- .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 4 +- .../main/resources/Ambari-DDL-SQLServer-CREATE.sql | 69 +++++++++++++++++++++- 12 files changed, 96 insertions(+), 31 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/resources/MpackResourceDefinition.java b/ambari-server/src/main/java/org/apache/ambari/server/api/resources/MpackResourceDefinition.java index 167e773..c9560ab 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/resources/MpackResourceDefinition.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/api/resources/MpackResourceDefinition.java @@ -96,13 +96,13 @@ public class MpackResourceDefinition extends BaseResourceDefinition { } /*** - * Post processing to change the name of the result node to current_mpack + * Post processing to change the name of the result node to mpack */ private class MpackPostProcessor implements PostProcessor { @Override public void process(Request request, TreeNode<Resource> resultNode, String href) { if (href.contains("/stacks/")) { - resultNode.setName("current_mpack"); + resultNode.setName("mpack"); } } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinition.java b/ambari-server/src/main/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinition.java index d621210..0e2026a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinition.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinition.java @@ -92,14 +92,13 @@ public class StackVersionResourceDefinition extends BaseResourceDefinition { } /*** - * Post processing to change the name of the result node to current_mpack + * Post processing to change the name of the result node to stack */ private class StackVersionPostProcessor implements PostProcessor { @Override public void process(Request request, TreeNode<Resource> resultNode, String href) { if (href.contains("/mpacks/")) { resultNode.setName("stack"); - } } } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java index adae593..3771258 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java @@ -246,7 +246,7 @@ public class MpackResourceProvider extends AbstractControllerResourceProvider { String stackName = (String) propertyMap.get(STACK_NAME_PROPERTY_ID); String stackVersion = (String) propertyMap.get(STACK_VERSION_PROPERTY_ID); StackEntity stackEntity = stackDAO.find(stackName, stackVersion); - mpackId = stackEntity.getCurrentMpackId(); + mpackId = stackEntity.getMpackId(); if (mpackId != null) { MpackResponse response = getManagementController().getMpack(mpackId); Resource resource = new ResourceImpl(Resource.Type.Mpack); diff --git a/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java b/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java index 8a1604c..69495d2 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java @@ -547,11 +547,14 @@ public class MpackManager { stackEntity = new StackEntity(); stackEntity.setStackName(stackName); stackEntity.setStackVersion(stackVersion); - stackEntity.setCurrentMpackId(mpacks.getMpackId()); + + stackEntity.setMpackId(mpack.getMpackId()); stackDAO.create(stackEntity); } else { - LOG.info("Updating stack {}-{} to the database", stackName, stackVersion); - stackEntity.setCurrentMpackId(mpacks.getMpackId()); + LOG.error("Updating stack {}-{} to the database", stackName, stackVersion); + + stackEntity.setMpackId(mpack.getMpackId()); + stackDAO.merge(stackEntity); } } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/StackDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/StackDAO.java index 57327c6..559f47c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/StackDAO.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/StackDAO.java @@ -196,7 +196,7 @@ public class StackDAO { public StackEntity findByMpack(Long mpackId) { TypedQuery<StackEntity> query = entityManagerProvider.get().createNamedQuery( "StackEntity.findByMpack", StackEntity.class); - query.setParameter("currentMpackId", mpackId); + query.setParameter("mpackId", mpackId); return daoUtils.selectOne(query); } diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/StackEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/StackEntity.java index bee53b6..a2a5698 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/StackEntity.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/StackEntity.java @@ -40,7 +40,7 @@ import javax.persistence.UniqueConstraint; @TableGenerator(name = "stack_id_generator", table = "ambari_sequences", pkColumnName = "sequence_name", valueColumnName = "sequence_value", pkColumnValue = "stack_id_seq", initialValue = 0) @NamedQueries({ @NamedQuery(name = "StackEntity.findAll", query = "SELECT stack FROM StackEntity stack"), - @NamedQuery(name = "StackEntity.findByMpack", query = "SELECT stack FROM StackEntity stack where stack.currentMpackId = :currentMpackId"), + @NamedQuery(name = "StackEntity.findByMpack", query = "SELECT stack FROM StackEntity stack where stack.mpackId = :mpackId"), @NamedQuery(name = "StackEntity.findByNameAndVersion", query = "SELECT stack FROM StackEntity stack WHERE stack.stackName = :stackName AND stack.stackVersion = :stackVersion", hints = { @QueryHint(name = "eclipselink.query-results-cache", value = "true"), @@ -60,17 +60,15 @@ public class StackEntity { @Column(name = "stack_version", length = 255, nullable = false) private String stackVersion; + @Column(name = "mpack_id") + private Long mpackId; - @Column(name = "current_mpack_id") - private Long currentMpackId; - - - public Long getCurrentMpackId() { - return currentMpackId; + public Long getMpackId() { + return mpackId; } - public void setCurrentMpackId(Long currentMpackId) { - this.currentMpackId = currentMpackId; + public void setMpackId(Long mpackId) { + this.mpackId = mpackId; } @@ -169,7 +167,7 @@ public class StackEntity { buffer.append("id=").append(stackId); buffer.append(", name=").append(stackName); buffer.append(", version=").append(stackVersion); - buffer.append(", current_mpack_id=").append(currentMpackId); + buffer.append(", mpack_id=").append(mpackId); buffer.append("}"); return buffer.toString(); } 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 bef2c1c..c8c69de 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql @@ -38,9 +38,9 @@ CREATE TABLE stack( stack_id BIGINT NOT NULL, stack_name VARCHAR(255) NOT NULL, stack_version VARCHAR(255) NOT NULL, - current_mpack_id BIGINT, + mpack_id BIGINT, CONSTRAINT PK_stack PRIMARY KEY (stack_id), - CONSTRAINT FK_mpacks FOREIGN KEY (current_mpack_id) REFERENCES mpacks(id), + CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id), CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version)); CREATE TABLE extension( 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 f24844e..7cd756b 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql @@ -57,9 +57,9 @@ CREATE TABLE stack( stack_id BIGINT NOT NULL, stack_name VARCHAR(100) NOT NULL, stack_version VARCHAR(100) NOT NULL, - current_mpack_id BIGINT, + mpack_id BIGINT, CONSTRAINT PK_stack PRIMARY KEY (stack_id), - CONSTRAINT FK_mpacks FOREIGN KEY (current_mpack_id) REFERENCES mpacks(id), + CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id), CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version)); CREATE TABLE extension( 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 7c8ca77..e752744 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql @@ -38,9 +38,9 @@ CREATE TABLE stack( stack_id NUMBER(19) NOT NULL, stack_name VARCHAR2(255) NOT NULL, stack_version VARCHAR2(255) NOT NULL, - current_mpack_id BIGINT, + mpack_id NUMBER(19), CONSTRAINT PK_stack PRIMARY KEY (stack_id), - CONSTRAINT FK_mpacks FOREIGN KEY (current_mpack_id) REFERENCES mpacks(id), + CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id), CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version)); CREATE TABLE extension( 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 a6efcbc..190b307 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql @@ -38,9 +38,9 @@ CREATE TABLE stack( stack_id BIGINT NOT NULL, stack_name VARCHAR(255) NOT NULL, stack_version VARCHAR(255) NOT NULL, - current_mpack_id BIGINT, + mpack_id BIGINT, CONSTRAINT PK_stack PRIMARY KEY (stack_id), - CONSTRAINT FK_mpacks FOREIGN KEY (current_mpack_id) REFERENCES mpacks(id), + CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id), CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version)); CREATE TABLE extension( 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 76fa36c..8ba40b4 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql @@ -37,9 +37,9 @@ CREATE TABLE stack( stack_id NUMERIC(19) NOT NULL, stack_name VARCHAR(255) NOT NULL, stack_version VARCHAR(255) NOT NULL, - current_mpack_id BIGINT, + mpack_id BIGINT, CONSTRAINT PK_stack PRIMARY KEY (stack_id), - CONSTRAINT FK_mpacks FOREIGN KEY (current_mpack_id) REFERENCES mpacks(id), + CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id), CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version)); CREATE TABLE extension( 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 0ce1cde..975e762 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql @@ -50,9 +50,9 @@ CREATE TABLE stack( stack_id BIGINT NOT NULL, stack_name VARCHAR(255) NOT NULL, stack_version VARCHAR(255) NOT NULL, - current_mpack_id BIGINT, + mpack_id BIGINT, CONSTRAINT PK_stack PRIMARY KEY CLUSTERED (stack_id), - CONSTRAINT FK_mpacks FOREIGN KEY (current_mpack_id) REFERENCES mpacks(id), + CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id), CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version)); CREATE TABLE extension( @@ -97,6 +97,71 @@ CREATE TABLE clusters ( CONSTRAINT FK_clusters_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), CONSTRAINT FK_clusters_resource_id FOREIGN KEY (resource_id) REFERENCES adminresource(resource_id)); +CREATE TABLE ambari_configuration ( + category_name VARCHAR(100) NOT NULL, + property_name VARCHAR(100) NOT NULL, + property_value VARCHAR(255) NOT NULL, + CONSTRAINT PK_ambari_configuration PRIMARY KEY (category_name, property_name) +); + +CREATE TABLE hosts ( + host_id BIGINT NOT NULL, + host_name VARCHAR(255) NOT NULL, + cpu_count INTEGER NOT NULL, + ph_cpu_count INTEGER, + cpu_info VARCHAR(255) NOT NULL, + discovery_status VARCHAR(2000) NOT NULL, + host_attributes VARCHAR(MAX) NOT NULL, + ipv4 VARCHAR(255), + ipv6 VARCHAR(255), + public_host_name VARCHAR(255), + last_registration_time BIGINT NOT NULL, + os_arch VARCHAR(255) NOT NULL, + os_info VARCHAR(1000) NOT NULL, + os_type VARCHAR(255) NOT NULL, + rack_info VARCHAR(255) NOT NULL, + total_mem BIGINT NOT NULL, + CONSTRAINT PK_hosts PRIMARY KEY CLUSTERED (host_id), + CONSTRAINT UQ_hosts_host_name UNIQUE (host_name)); + +CREATE TABLE clustersettings ( + id BIGINT NOT NULL, + setting_name VARCHAR(255) NOT NULL, + setting_value VARCHAR(255) NOT NULL, + cluster_id BIGINT NOT NULL, + CONSTRAINT PK_clustersettings PRIMARY KEY (id), + CONSTRAINT FK_clustersettings_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); + +CREATE TABLE servicegroups ( + id BIGINT NOT NULL, + service_group_name VARCHAR(255) NOT NULL, + cluster_id BIGINT NOT NULL, + stack_id BIGINT NOT NULL, + CONSTRAINT PK_servicegroups PRIMARY KEY (id, cluster_id), + CONSTRAINT FK_servicegroups_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); + +CREATE TABLE servicegroupdependencies ( + id BIGINT NOT NULL, + service_group_id BIGINT NOT NULL, + service_group_cluster_id BIGINT NOT NULL, + dependent_service_group_id BIGINT NOT NULL, + dependent_service_group_cluster_id BIGINT NOT NULL, + CONSTRAINT PK_servicegroupdependencies PRIMARY KEY (id), + CONSTRAINT UQ_servicegroupdependencies UNIQUE (service_group_id, service_group_cluster_id, dependent_service_group_id, dependent_service_group_cluster_id), + CONSTRAINT FK_svcgrpdep_svcgrp_cl_id FOREIGN KEY (service_group_id, service_group_cluster_id) REFERENCES servicegroups (id, cluster_id), + CONSTRAINT FK_svcgrpdep_dep_svcgrp_cl_id FOREIGN KEY (dependent_service_group_id, dependent_service_group_cluster_id) REFERENCES servicegroups (id, cluster_id)); + +CREATE TABLE clusterservices ( + id BIGINT NOT NULL, + service_name VARCHAR(255) NOT NULL, + service_type VARCHAR(255) NOT NULL, + cluster_id BIGINT NOT NULL, + service_group_id BIGINT NOT NULL, + service_enabled INT NOT NULL, + CONSTRAINT PK_clusterservices PRIMARY KEY (id, service_group_id, cluster_id), + CONSTRAINT UQ_service_id UNIQUE (id), + CONSTRAINT FK_clusterservices_cluster_id FOREIGN KEY (service_group_id, cluster_id) REFERENCES servicegroups (id, cluster_id)); + CREATE TABLE clusterconfig ( config_id BIGINT NOT NULL, version_tag VARCHAR(255) NOT NULL,