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));