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/11/01 20:09:59 UTC

[1/5] ambari git commit: AMBARI-18711: Ambari-server: DB changes to enable/disable credential store support

Repository: ambari
Updated Branches:
  refs/heads/branch-feature-AMBARI-18634 1b46747d4 -> 0d90ba353


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/c0c02d05
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c0c02d05
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c0c02d05

Branch: refs/heads/branch-feature-AMBARI-18634
Commit: c0c02d05ff184f89df8e152a63689318160efb18
Parents: b89b9e1
Author: Nahappan Somasundaram <ns...@hortonworks.com>
Authored: Mon Oct 31 09:25:58 2016 -0700
Committer: Nahappan Somasundaram <ns...@hortonworks.com>
Committed: Tue Nov 1 09:24:10 2016 -0700

----------------------------------------------------------------------
 .../orm/entities/ServiceDesiredStateEntity.java | 42 +++++++++
 .../org/apache/ambari/server/state/Service.java | 31 +++++++
 .../apache/ambari/server/state/ServiceImpl.java | 95 ++++++++++++++++++++
 .../server/upgrade/UpgradeCatalog250.java       | 21 ++++-
 .../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 +
 .../server/upgrade/UpgradeCatalog250Test.java   | 24 +++++
 11 files changed, 224 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c0c02d05/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..e4401a1 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,42 @@ public class ServiceDesiredStateEntity {
     this.securityState = securityState;
   }
 
+  /**
+   * Gets a value indicating if credential store is supported or not.
+   *
+   * @return true or false
+   */
+  public boolean isCredentialStoreSupported() {
+    return credentialStoreSupported != 0;
+  }
+
+  /**
+   * Sets a value indicating if credential store is supported or not.
+   *
+   * @param credentialStoreSupported
+   */
+  public void setCredentialStoreSupported(boolean credentialStoreSupported) {
+    this.credentialStoreSupported = (short)((credentialStoreSupported == false) ? 0 : 1);
+  }
+
+  /**
+   * Gets a value indicating if credential store use is enabled or not.
+   *
+   * @return true or false
+   */
+  public boolean isCredentialStoreEnabled() {
+    return credentialStoreEnabled != 0;
+  }
+
+  /**
+   * Sets a value indicating if credential store use is enabled or not.
+   *
+   * @param credentialStoreEnabled
+   */
+  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/c0c02d05/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/c0c02d05/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/c0c02d05/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
index 0220464..723edf4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
@@ -58,6 +58,10 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog {
   public static final String COMPONENT_VERSION_FK_COMPONENT = "FK_scv_component_id";
   public static final String COMPONENT_VERSION_FK_REPO_VERSION = "FK_scv_repo_version_id";
 
+  protected static final String SERVICE_DESIRED_STATE_TABLE = "servicedesiredstate";
+  protected static final String CREDENTIAL_STORE_SUPPORTED_COL = "credential_store_supported";
+  protected static final String CREDENTIAL_STORE_ENABLED_COL = "credential_store_enabled";
+
   /**
    * Logger.
    */
@@ -110,7 +114,7 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog {
     dbAccessor.addColumn("stage",
       new DBAccessor.DBColumnInfo("command_execution_type", String.class, 32, CommandExecutionType.STAGE.toString(),
         false));
-
+    updateServiceDesiredStateTable();
   }
 
   /**
@@ -255,5 +259,20 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog {
 
     addSequence("servicecomponent_version_id_seq", 0L, false);
   }
+
+  /**
+   * Alter servicedesiredstate table.
+   * @throws SQLException
+   */
+  private void updateServiceDesiredStateTable() throws SQLException {
+    // ALTER TABLE servicedesiredstate ADD COLUMN
+    // credential_store_supported SMALLINT DEFAULT 0 NOT NULL
+    // credential_store_enabled SMALLINT DEFAULT 0 NOT NULL
+    dbAccessor.addColumn(SERVICE_DESIRED_STATE_TABLE,
+            new DBColumnInfo(CREDENTIAL_STORE_SUPPORTED_COL, Short.class, null, 0, false));
+
+    dbAccessor.addColumn(SERVICE_DESIRED_STATE_TABLE,
+            new DBColumnInfo(CREDENTIAL_STORE_ENABLED_COL, Short.class, null, 0, false));
+  }
 }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/c0c02d05/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/c0c02d05/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/c0c02d05/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/c0c02d05/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/c0c02d05/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/c0c02d05/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));

http://git-wip-us.apache.org/repos/asf/ambari/blob/c0c02d05/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
index b0dc224..65ba406 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
@@ -130,6 +130,11 @@ public class UpgradeCatalog250Test {
         eq(UpgradeCatalog250.COMPONENT_VERSION_FK_REPO_VERSION), eq("repo_version_id"),
         eq("repo_version"), eq("repo_version_id"), eq(false));
 
+    // servicedesiredstate table
+    Capture<DBAccessor.DBColumnInfo> capturedCredentialStoreSupportedCol = newCapture();
+    Capture<DBAccessor.DBColumnInfo> capturedCredentialStoreEnabledCol = newCapture();
+    dbAccessor.addColumn(eq(UpgradeCatalog250.SERVICE_DESIRED_STATE_TABLE), capture(capturedCredentialStoreSupportedCol));
+    dbAccessor.addColumn(eq(UpgradeCatalog250.SERVICE_DESIRED_STATE_TABLE), capture(capturedCredentialStoreEnabledCol));
 
     expect(dbAccessor.getConnection()).andReturn(connection);
     expect(connection.createStatement()).andReturn(statement);
@@ -180,6 +185,25 @@ public class UpgradeCatalog250Test {
     // did we get them all?
     Assert.assertEquals(0, expected.size());
 
+    // Verify if credential_store_supported & credential_store_enabled columns
+    // were added to servicedesiredstate table
+    DBAccessor.DBColumnInfo capturedCredentialStoreSupportedColValues = capturedCredentialStoreSupportedCol.getValue();
+    Assert.assertNotNull(capturedCredentialStoreSupportedColValues);
+
+    Assert.assertEquals(UpgradeCatalog250.CREDENTIAL_STORE_SUPPORTED_COL, capturedCredentialStoreSupportedColValues.getName());
+    Assert.assertEquals(null, capturedCredentialStoreSupportedColValues.getLength());
+    Assert.assertEquals(Short.class, capturedCredentialStoreSupportedColValues.getType());
+    Assert.assertEquals(0, capturedCredentialStoreSupportedColValues.getDefaultValue());
+    Assert.assertEquals(false, capturedCredentialStoreSupportedColValues.isNullable());
+
+    DBAccessor.DBColumnInfo capturedCredentialStoreEnabledColValues = capturedCredentialStoreEnabledCol.getValue();
+    Assert.assertNotNull(capturedCredentialStoreEnabledColValues);
+
+    Assert.assertEquals(UpgradeCatalog250.CREDENTIAL_STORE_ENABLED_COL, capturedCredentialStoreEnabledColValues.getName());
+    Assert.assertEquals(null, capturedCredentialStoreEnabledColValues.getLength());
+    Assert.assertEquals(Short.class, capturedCredentialStoreEnabledColValues.getType());
+    Assert.assertEquals(0, capturedCredentialStoreEnabledColValues.getDefaultValue());
+    Assert.assertEquals(false, capturedCredentialStoreEnabledColValues.isNullable());
   }
 
   @Test


[2/5] ambari git commit: AMBARI-18725. Ambari Database Check failed to Complete Error (rlevas)

Posted by nc...@apache.org.
AMBARI-18725. Ambari Database Check failed to Complete Error (rlevas)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/38cbda88
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/38cbda88
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/38cbda88

Branch: refs/heads/branch-feature-AMBARI-18634
Commit: 38cbda8826c126ca50aff6928c437d59b0168c7d
Parents: c0c02d0
Author: Robert Levas <rl...@hortonworks.com>
Authored: Tue Nov 1 12:36:02 2016 -0400
Committer: Robert Levas <rl...@hortonworks.com>
Committed: Tue Nov 1 12:36:02 2016 -0400

----------------------------------------------------------------------
 ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/38cbda88/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 2507b45..15d6120 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -1350,7 +1350,7 @@ INSERT INTO permission_roleauthorization(permission_id, authorization_id)
   SELECT permission_id, 'CLUSTER.TOGGLE_ALERTS' FROM adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
   SELECT permission_id, 'CLUSTER.TOGGLE_KERBEROS' FROM adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
   SELECT permission_id, 'CLUSTER.UPGRADE_DOWNGRADE_STACK' FROM adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
-  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL;
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
   SELECT permission_id, 'CLUSTER.RUN_CUSTOM_COMMAND' FROM adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR';
 
 -- Set authorizations for Administrator role


[3/5] ambari git commit: AMBARI-18760 ambari-server.pid might not be created (dsen)

Posted by nc...@apache.org.
AMBARI-18760 ambari-server.pid might not be created (dsen)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c143be33
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c143be33
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c143be33

Branch: refs/heads/branch-feature-AMBARI-18634
Commit: c143be331f670da3aef2451ed6d3fe1b41c6d8c4
Parents: 38cbda8
Author: Dmytro Sen <ds...@apache.org>
Authored: Tue Nov 1 19:26:05 2016 +0200
Committer: Dmytro Sen <ds...@apache.org>
Committed: Tue Nov 1 19:26:05 2016 +0200

----------------------------------------------------------------------
 ambari-server/src/main/python/ambari_server/utils.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c143be33/ambari-server/src/main/python/ambari_server/utils.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/utils.py b/ambari-server/src/main/python/ambari_server/utils.py
index 5886561..348d5df 100644
--- a/ambari-server/src/main/python/ambari_server/utils.py
+++ b/ambari-server/src/main/python/ambari_server/utils.py
@@ -105,12 +105,14 @@ def save_pid(pid, pidfile):
   try:
     pfile = open(pidfile, "w")
     pfile.write("%s\n" % pid)
-  except IOError:
+  except IOError as e:
+    print_error_msg("Failed to write PID to " + pidfile + " due to " + str(e))
     pass
   finally:
     try:
       pfile.close()
-    except:
+    except Exception as e:
+      print_error_msg("Failed to close PID file " + pidfile + " due to " + str(e))
       pass
 
 
@@ -132,12 +134,14 @@ def save_main_pid_ex(pids, pidfile, exclude_list=[], kill_exclude_list=False, sk
           os.kill(int(item["pid"]), signal.SIGKILL)
         except:
           pass
-  except IOError:
+  except IOError as e:
+    print_error_msg("Failed to write PID to " + pidfile + " due to " + str(e))
     pass
   finally:
     try:
       pfile.close()
-    except:
+    except Exception as e:
+      print_error_msg("Failed to close PID file " + pidfile + " due to " + str(e))
       pass
 
 


[5/5] ambari git commit: Merge branch 'trunk' into branch-feature-AMBARI-18634

Posted by nc...@apache.org.
Merge branch 'trunk' into branch-feature-AMBARI-18634


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0d90ba35
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0d90ba35
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0d90ba35

Branch: refs/heads/branch-feature-AMBARI-18634
Commit: 0d90ba353d5df972ffddbc37b01ab350f1844c06
Parents: 1b46747 cc14719
Author: Nate Cole <nc...@hortonworks.com>
Authored: Tue Nov 1 16:09:45 2016 -0400
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Tue Nov 1 16:09:45 2016 -0400

----------------------------------------------------------------------
 .../orm/entities/ServiceDesiredStateEntity.java | 42 +++++++++
 .../org/apache/ambari/server/state/Service.java | 31 +++++++
 .../apache/ambari/server/state/ServiceImpl.java | 95 ++++++++++++++++++++
 .../server/upgrade/UpgradeCatalog250.java       | 21 ++++-
 .../main/python/ambari_server/serverUpgrade.py  |  2 +-
 .../src/main/python/ambari_server/utils.py      | 12 ++-
 .../main/resources/Ambari-DDL-Derby-CREATE.sql  |  2 +
 .../main/resources/Ambari-DDL-MySQL-CREATE.sql  |  2 +
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql |  4 +-
 .../resources/Ambari-DDL-Postgres-CREATE.sql    |  2 +
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql |  2 +
 .../resources/Ambari-DDL-SQLServer-CREATE.sql   |  2 +
 .../server/upgrade/UpgradeCatalog250Test.java   | 24 +++++
 13 files changed, 234 insertions(+), 7 deletions(-)
----------------------------------------------------------------------



[4/5] ambari git commit: AMBARI-18763: Ambari upgrade fails when add-on mpack is installed (jluniya)

Posted by nc...@apache.org.
AMBARI-18763: Ambari upgrade fails when add-on mpack is installed (jluniya)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cc14719c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cc14719c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cc14719c

Branch: refs/heads/branch-feature-AMBARI-18634
Commit: cc14719c774097af24faa559000fb3b714266802
Parents: c143be3
Author: Jayush Luniya <jl...@hortonworks.com>
Authored: Tue Nov 1 10:49:18 2016 -0700
Committer: Jayush Luniya <jl...@hortonworks.com>
Committed: Tue Nov 1 10:49:18 2016 -0700

----------------------------------------------------------------------
 ambari-server/src/main/python/ambari_server/serverUpgrade.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/cc14719c/ambari-server/src/main/python/ambari_server/serverUpgrade.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/serverUpgrade.py b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
index 7e321c1..7d7a9ab 100644
--- a/ambari-server/src/main/python/ambari_server/serverUpgrade.py
+++ b/ambari-server/src/main/python/ambari_server/serverUpgrade.py
@@ -544,7 +544,7 @@ def restore_custom_services():
         continue
 
       # process dirs only
-      if os.path.isdir(backup_service):
+      if os.path.isdir(backup_service) and not os.path.islink(backup_service):
         service_name = os.path.basename(backup_service)
         if not service_name in managed_services:
           shutil.copytree(backup_service, os.path.join(current_base_service_dir,service_name))