You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2016/06/16 14:09:02 UTC

ambari git commit: AMBARI-17223. Ability to add "javax.jdo.option.ConnectionPassword" to hive clients from ambari.(vbrodetskyi)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.4 0a3c729a4 -> 27e665c95


AMBARI-17223. Ability to add "javax.jdo.option.ConnectionPassword" to hive clients from ambari.(vbrodetskyi)


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

Branch: refs/heads/branch-2.4
Commit: 27e665c95c138fc133d71b768e7bc595a9b2a411
Parents: 0a3c729
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Thu Jun 16 00:02:11 2016 +0300
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Thu Jun 16 00:02:11 2016 +0300

----------------------------------------------------------------------
 .../ambari/server/actionmanager/ActionScheduler.java     | 11 +++++++++--
 .../ambari/server/configuration/Configuration.java       |  2 ++
 .../controller/AmbariManagementControllerImpl.java       | 10 +++++++++-
 .../internal/ClientConfigResourceProvider.java           |  9 ++++++++-
 4 files changed, 28 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/27e665c9/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java
index 33c0a1f..4078500 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java
@@ -328,12 +328,19 @@ class ActionScheduler implements Runnable {
         //Schedule what we have so far
 
         for (ExecutionCommand cmd : commandsToSchedule) {
-
+          boolean hidePassword = true;
+          Map<String, Map<String, String>> configurations = cmd.getConfigurations();
+          if(configurations != null && configurations.containsKey(Configuration.HIVE_ENV_CONFIG_TAG)){
+            if(configurations.get(Configuration.HIVE_ENV_CONFIG_TAG).containsKey(Configuration.HIVE_ENV_HIDE_PASSWORD_PROPERTY)) {
+              String hidePasswordStr = configurations.get(Configuration.HIVE_ENV_CONFIG_TAG).get(Configuration.HIVE_ENV_HIDE_PASSWORD_PROPERTY);
+              hidePassword = Boolean.parseBoolean(hidePasswordStr);
+            }
+          }
           // Hack - Remove passwords from configs
           if ((cmd.getRole().equals(Role.HIVE_CLIENT.toString()) ||
                   cmd.getRole().equals(Role.WEBHCAT_SERVER.toString()) ||
                   cmd.getRole().equals(Role.HCAT.toString())) &&
-                  cmd.getConfigurations().containsKey(Configuration.HIVE_CONFIG_TAG)) {
+                  cmd.getConfigurations().containsKey(Configuration.HIVE_CONFIG_TAG) && hidePassword) {
             cmd.getConfigurations().get(Configuration.HIVE_CONFIG_TAG).remove(Configuration.HIVE_METASTORE_PASSWORD_PROPERTY);
           }
           processHostRole(stage, cmd, commandsToStart, commandsToUpdate);

http://git-wip-us.apache.org/repos/asf/ambari/blob/27e665c9/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 2b7fca0..29b678e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -365,7 +365,9 @@ public class Configuration {
   public static final String MAPREDUCE2_LOG4J_CONFIG_TAG = "mapreduce2-log4j";
   public static final String RCA_ENABLED_PROPERTY = "rca_enabled";
   public static final String HIVE_CONFIG_TAG = "hive-site";
+  public static final String HIVE_ENV_CONFIG_TAG = "hive-env";
   public static final String HIVE_METASTORE_PASSWORD_PROPERTY = "javax.jdo.option.ConnectionPassword";
+  public static final String HIVE_ENV_HIDE_PASSWORD_PROPERTY = "javax.jdo.option.ConnectionPassword.hide";
   public static final String MASTER_KEY_PERSISTED = "security.master.key.ispersisted";
   public static final String MASTER_KEY_LOCATION = "security.master.key.location";
   public static final String MASTER_KEYSTORE_LOCATION = "security.master.keystore.location";

http://git-wip-us.apache.org/repos/asf/ambari/blob/27e665c9/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index b5c6fc2..68a315c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -2806,10 +2806,18 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
     }
 
     // Hack - Remove passwords from configs
+    boolean hidePassword = true;
+    Map<String, Map<String, String>> configs = ec.getConfigurations();
+    if(configs.containsKey(Configuration.HIVE_ENV_CONFIG_TAG)){
+      if(configs.get(Configuration.HIVE_ENV_CONFIG_TAG).containsKey(Configuration.HIVE_ENV_HIDE_PASSWORD_PROPERTY)) {
+        String hidePasswordStr = configs.get(Configuration.HIVE_ENV_CONFIG_TAG).get(Configuration.HIVE_ENV_HIDE_PASSWORD_PROPERTY);
+        hidePassword = Boolean.parseBoolean(hidePasswordStr);
+      }
+    }
     if ((ec.getRole().equals(Role.HIVE_CLIENT.toString()) ||
             ec.getRole().equals(Role.WEBHCAT_SERVER.toString()) ||
             ec.getRole().equals(Role.HCAT.toString())) &&
-        ec.getConfigurations().containsKey(Configuration.HIVE_CONFIG_TAG)) {
+        ec.getConfigurations().containsKey(Configuration.HIVE_CONFIG_TAG) && hidePassword) {
       ec.getConfigurations().get(Configuration.HIVE_CONFIG_TAG).remove(Configuration.HIVE_METASTORE_PASSWORD_PROPERTY);
     }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/27e665c9/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
index 9a86827..700e81f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
@@ -265,7 +265,14 @@ public class ClientConfigResourceProvider extends AbstractControllerResourceProv
       }
 
       // Hack - Remove passwords from configs
-      if (configurations.get(Configuration.HIVE_CONFIG_TAG)!=null) {
+      boolean hidePassword = true;
+      if(configurations.containsKey(Configuration.HIVE_ENV_CONFIG_TAG)){
+        if(configurations.get(Configuration.HIVE_ENV_CONFIG_TAG).containsKey(Configuration.HIVE_ENV_HIDE_PASSWORD_PROPERTY)) {
+          String hidePasswordStr = configurations.get(Configuration.HIVE_ENV_CONFIG_TAG).get(Configuration.HIVE_ENV_HIDE_PASSWORD_PROPERTY);
+          hidePassword = Boolean.parseBoolean(hidePasswordStr);
+        }
+      }
+      if (configurations.get(Configuration.HIVE_CONFIG_TAG)!=null && hidePassword) {
         configurations.get(Configuration.HIVE_CONFIG_TAG).remove(Configuration.HIVE_METASTORE_PASSWORD_PROPERTY);
       }