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 2016/10/28 17:45:55 UTC
[16/38] ambari git commit: AMBARI-18711: Ambari-server: DB changes to
enable/disable credential store support
AMBARI-18711: Ambari-server: DB changes to enable/disable credential store support
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/edc74e6f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/edc74e6f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/edc74e6f
Branch: refs/heads/branch-feature-AMBARI-18634
Commit: edc74e6f2a6375064c5a49bef709c24546f09932
Parents: 6c222a5
Author: Nahappan Somasundaram <ns...@hortonworks.com>
Authored: Thu Oct 27 15:03:34 2016 -0700
Committer: Nahappan Somasundaram <ns...@hortonworks.com>
Committed: Thu Oct 27 20:59:49 2016 -0700
----------------------------------------------------------------------
.../orm/entities/ServiceDesiredStateEntity.java | 22 +++++
.../org/apache/ambari/server/state/Service.java | 31 +++++++
.../apache/ambari/server/state/ServiceImpl.java | 95 ++++++++++++++++++++
.../main/resources/Ambari-DDL-Derby-CREATE.sql | 2 +
.../main/resources/Ambari-DDL-MySQL-CREATE.sql | 2 +
.../main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +
.../resources/Ambari-DDL-Postgres-CREATE.sql | 2 +
.../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 2 +
.../resources/Ambari-DDL-SQLServer-CREATE.sql | 2 +
9 files changed, 160 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java
index 6cb3dde..f2ed50f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceDesiredStateEntity.java
@@ -67,6 +67,12 @@ public class ServiceDesiredStateEntity {
@Enumerated(value = EnumType.STRING)
private SecurityState securityState = SecurityState.UNSECURED;
+ @Column(name = "credential_store_supported", nullable = false, insertable = true, updatable = true)
+ private Short credentialStoreSupported = 0;
+
+ @Column(name = "credential_store_enabled", nullable = false, insertable = true, updatable = true)
+ private Short credentialStoreEnabled = 0;
+
@OneToOne
@javax.persistence.JoinColumns(
{
@@ -131,6 +137,22 @@ public class ServiceDesiredStateEntity {
this.securityState = securityState;
}
+ public boolean isCredentialStoreSupported() {
+ return credentialStoreSupported != 0;
+ }
+
+ public void setCredentialStoreSupported(boolean credentialStoreSupported) {
+ this.credentialStoreSupported = (short)((credentialStoreSupported == false) ? 0 : 1);
+ }
+
+ public boolean isCredentialStoreEnabled() {
+ return credentialStoreEnabled != 0;
+ }
+
+ public void setCredentialStoreEnabled(boolean credentialStoreEnabled) {
+ this.credentialStoreEnabled = (short)((credentialStoreEnabled == false) ? 0 : 1);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java b/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
index df3cfd8..cf36a8b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
@@ -102,6 +102,37 @@ public interface Service {
*/
MaintenanceState getMaintenanceState();
+ /**
+ * Get a true or false value specifying
+ * whether credential store is supported by this service.
+ * @return true or false
+ */
+ boolean isCredentialStoreSupported();
+
+ /**
+ * Set a true or false value specifying if this
+ * service supports credential store.
+ *
+ * @param credentialStoreSupported - true or false
+ */
+ void setCredentialStoreSupported(boolean credentialStoreSupported);
+
+ /**
+ * Get a true or false value specifying whether
+ * credential store use is enabled for this service.
+ *
+ * @return true or false
+ */
+ boolean isCredentialStoreEnabled();
+
+ /**
+ * Set a true or false value specifying whether this
+ * service is to be enabled for credential store use.
+ *
+ * @param credentialStoreEnabled - true or false
+ */
+ void setCredentialStoreEnabled(boolean credentialStoreEnabled);
+
enum Type {
HDFS,
GLUSTERFS,
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
index 9b56059..6f8d306 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
@@ -318,6 +318,101 @@ public class ServiceImpl implements Service {
return cluster;
}
+ /**
+ * Get a true or false value specifying whether
+ * credential store is supported by this service.
+ *
+ * @return true or false
+ */
+ @Override
+ public boolean isCredentialStoreSupported() {
+ ServiceDesiredStateEntity desiredStateEntity = getServiceDesiredStateEntity();
+
+ if (desiredStateEntity != null) {
+ return desiredStateEntity.isCredentialStoreSupported();
+ } else {
+ LOG.warn("Trying to fetch a member from an entity object that may " +
+ "have been previously deleted, serviceName = " + getName());
+ }
+ return false;
+ }
+
+
+ /**
+ * Set a true or false value specifying whether this
+ * service supports credential store.
+ *
+ * @param credentialStoreSupported - true or false
+ */
+ @Override
+ public void setCredentialStoreSupported(boolean credentialStoreSupported) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Setting CredentialStoreEnabled of Service" + ", clusterName="
+ + cluster.getClusterName() + ", clusterId="
+ + cluster.getClusterId() + ", serviceName=" + getName()
+ + ", oldCredentialStoreSupported=" + isCredentialStoreSupported()
+ + ", newCredentialStoreSupported=" + credentialStoreSupported);
+ }
+
+ ServiceDesiredStateEntity desiredStateEntity = getServiceDesiredStateEntity();
+
+ if (desiredStateEntity != null) {
+ desiredStateEntity.setCredentialStoreSupported(credentialStoreSupported);
+ serviceDesiredStateDAO.merge(desiredStateEntity);
+
+ } else {
+ LOG.warn("Setting a member on an entity object that may have been "
+ + "previously deleted, serviceName = " + getName());
+ }
+ }
+
+ /**
+ * Get a true or false value specifying whether
+ * credential store use is enabled for this service.
+ *
+ * @return true or false
+ */
+ @Override
+ public boolean isCredentialStoreEnabled() {
+ ServiceDesiredStateEntity desiredStateEntity = getServiceDesiredStateEntity();
+
+ if (desiredStateEntity != null) {
+ return desiredStateEntity.isCredentialStoreEnabled();
+ } else {
+ LOG.warn("Trying to fetch a member from an entity object that may " +
+ "have been previously deleted, serviceName = " + getName());
+ }
+ return false;
+ }
+
+
+ /**
+ * Set a true or false value specifying whether this
+ * service is to be enabled for credential store use.
+ *
+ * @param credentialStoreEnabled - true or false
+ */
+ @Override
+ public void setCredentialStoreEnabled(boolean credentialStoreEnabled) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Setting CredentialStoreEnabled of Service" + ", clusterName="
+ + cluster.getClusterName() + ", clusterId="
+ + cluster.getClusterId() + ", serviceName=" + getName()
+ + ", oldCredentialStoreEnabled=" + isCredentialStoreEnabled()
+ + ", newCredentialStoreEnabled=" + credentialStoreEnabled);
+ }
+
+ ServiceDesiredStateEntity desiredStateEntity = getServiceDesiredStateEntity();
+
+ if (desiredStateEntity != null) {
+ desiredStateEntity.setCredentialStoreEnabled(credentialStoreEnabled);
+ desiredStateEntity = serviceDesiredStateDAO.merge(desiredStateEntity);
+ } else {
+ LOG.warn("Setting a member on an entity object that may have been "
+ + "previously deleted, serviceName = " + getName());
+ }
+ }
+
@Override
public void debugDump(StringBuilder sb) {
sb.append("Service={ serviceName=" + getName() + ", clusterName=" + cluster.getClusterName()
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
----------------------------------------------------------------------
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 a0a0afd..8cf2c0d 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -259,6 +259,8 @@ CREATE TABLE servicedesiredstate (
service_name VARCHAR(255) NOT NULL,
maintenance_state VARCHAR(32) NOT NULL,
security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED',
+ credential_store_supported SMALLINT NOT NULL DEFAULT 0,
+ credential_store_enabled SMALLINT NOT NULL DEFAULT 0,
CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name),
CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id),
CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
----------------------------------------------------------------------
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 7a02315..37a9757 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -259,6 +259,8 @@ CREATE TABLE servicedesiredstate (
service_name VARCHAR(255) NOT NULL,
maintenance_state VARCHAR(32) NOT NULL DEFAULT 'ACTIVE',
security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED',
+ credential_store_supported SMALLINT NOT NULL DEFAULT 0,
+ credential_store_enabled SMALLINT NOT NULL DEFAULT 0,
CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name),
CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id),
CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
----------------------------------------------------------------------
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 4ba371a..2507b45 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -250,6 +250,8 @@ CREATE TABLE servicedesiredstate (
service_name VARCHAR2(255) NOT NULL,
maintenance_state VARCHAR2(32) NOT NULL,
security_state VARCHAR2(32) DEFAULT 'UNSECURED' NOT NULL,
+ credential_store_supported SMALLINT DEFAULT 0 NOT NULL,
+ credential_store_enabled SMALLINT DEFAULT 0 NOT NULL,
CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name),
CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id),
CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
----------------------------------------------------------------------
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 c5a9119..5a82a52 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -259,6 +259,8 @@ CREATE TABLE servicedesiredstate (
service_name VARCHAR(255) NOT NULL,
maintenance_state VARCHAR(32) NOT NULL,
security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED',
+ credential_store_supported SMALLINT NOT NULL DEFAULT 0,
+ credential_store_enabled SMALLINT NOT NULL DEFAULT 0,
CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name),
CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id),
CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
----------------------------------------------------------------------
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 2905eda..659e4dc 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
@@ -248,6 +248,8 @@ CREATE TABLE servicedesiredstate (
service_name VARCHAR(255) NOT NULL,
maintenance_state VARCHAR(32) NOT NULL DEFAULT 'ACTIVE',
security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED',
+ credential_store_supported SMALLINT NOT NULL DEFAULT 0,
+ credential_store_enabled SMALLINT NOT NULL DEFAULT 0,
CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name),
CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id),
CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id));
http://git-wip-us.apache.org/repos/asf/ambari/blob/edc74e6f/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
----------------------------------------------------------------------
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 6b19974..e9a258a 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -262,6 +262,8 @@ CREATE TABLE servicedesiredstate (
service_name VARCHAR(255) NOT NULL,
maintenance_state VARCHAR(32) NOT NULL,
security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED',
+ credential_store_supported SMALLINT NOT NULL DEFAULT 0,
+ credential_store_enabled SMALLINT NOT NULL DEFAULT 0,
CONSTRAINT PK_servicedesiredstate PRIMARY KEY CLUSTERED (cluster_id,service_name),
CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id),
CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id));