ambari git commit: AMBARI-9852. Kerberos: Kerberos Service Check needs to generate and destroy it's own unique identity for testing (rlevas)

2015-03-03 Thread rlevas
Repository: ambari
Updated Branches:
  refs/heads/branch-2.0.0 375c6908f - 24b2af40f


AMBARI-9852. Kerberos: Kerberos Service Check needs to generate and destroy 
it's own unique identity for testing (rlevas)


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

Branch: refs/heads/branch-2.0.0
Commit: 24b2af40f112ee72e851ecb3f5bea626ea920546
Parents: 375c690
Author: Robert Levas rle...@hortonworks.com
Authored: Tue Mar 3 10:35:23 2015 -0500
Committer: Robert Levas rle...@hortonworks.com
Committed: Tue Mar 3 10:35:27 2015 -0500

--
 .../AmbariManagementControllerImpl.java |  51 +-
 .../server/controller/KerberosHelper.java   | 636 ++-
 .../1.10.3-10/package/scripts/params.py |   9 +-
 .../1.10.3-10/package/scripts/service_check.py  |  46 +-
 .../server/controller/KerberosHelperTest.java   | 393 
 5 files changed, 946 insertions(+), 189 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/24b2af40/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 2bf0cbf..dcbbed2 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
@@ -40,7 +40,6 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.text.MessageFormat;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EnumMap;
@@ -55,6 +54,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.concurrent.TimeUnit;
 
+import com.google.gson.reflect.TypeToken;
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.ClusterNotFoundException;
 import org.apache.ambari.server.DuplicateResourceException;
@@ -2902,23 +2902,30 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
 actionManager,
 actionRequest);
 
+ExecuteCommandJson jsons = 
customCommandExecutionHelper.getCommandJson(actionExecContext, cluster);
+String commandParamsForStage = jsons.getCommandParamsForStage();
+
 // If the request is to perform the Kerberos service check, set up the 
stages to
 // ensure that the (cluster-level) smoke user principal and keytab is 
available on all hosts
-if 
(Role.KERBEROS_SERVICE_CHECK.name().equals(actionRequest.getCommandName())) {
+boolean kerberosServiceCheck = 
Role.KERBEROS_SERVICE_CHECK.name().equals(actionRequest.getCommandName());
+if (kerberosServiceCheck) {
+  // Parse the command parameters into a map so that additional values may 
be added to it
+  MapString, String commandParamsStage = 
gson.fromJson(commandParamsForStage,
+  new TypeTokenMapString, String() {
+  }.getType());
+
   try {
-requestStageContainer = kerberosHelper.ensureIdentities(cluster,
-Collections.String, 
CollectionStringsingletonMap(Service.Type.KERBEROS.name(), null),
-Collections.singleton(/smokeuser), requestStageContainer);
+requestStageContainer = kerberosHelper.createTestIdentity(cluster, 
commandParamsStage, requestStageContainer);
   } catch (KerberosOperationException e) {
 throw new IllegalArgumentException(e.getMessage(), e);
   }
-}
 
-ExecuteCommandJson jsons = customCommandExecutionHelper.getCommandJson(
-actionExecContext, cluster);
+  // Recreate commandParamsForStage with the added values
+  commandParamsForStage = gson.toJson(commandParamsStage);
+}
 
 Stage stage = createNewStage(requestStageContainer.getLastStageId(), 
cluster, requestId, requestContext,
-jsons.getClusterHostInfo(), jsons.getCommandParamsForStage(), 
jsons.getHostParamsForStage());
+jsons.getClusterHostInfo(), commandParamsForStage, 
jsons.getHostParamsForStage());
 
 if (actionRequest.isCommand()) {
   
customCommandExecutionHelper.addExecutionCommandsToStage(actionExecContext, 
stage, requestProperties, false);
@@ -2938,18 +2945,28 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
 ListStage stages = rg.getStages();
 
 if (stages != null  !stages.isEmpty()) {
+  // If this is a Kerberos service 

ambari git commit: AMBARI-9852. Kerberos: Kerberos Service Check needs to generate and destroy it's own unique identity for testing (rlevas)

2015-03-03 Thread rlevas
Repository: ambari
Updated Branches:
  refs/heads/trunk c313023bd - 954b96e1e


AMBARI-9852. Kerberos: Kerberos Service Check needs to generate and destroy 
it's own unique identity for testing (rlevas)


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

Branch: refs/heads/trunk
Commit: 954b96e1edf8fc313ce06d57928b3e26e714770a
Parents: c313023
Author: Robert Levas rle...@hortonworks.com
Authored: Tue Mar 3 09:59:50 2015 -0500
Committer: Robert Levas rle...@hortonworks.com
Committed: Tue Mar 3 09:59:59 2015 -0500

--
 .../AmbariManagementControllerImpl.java |  51 +-
 .../server/controller/KerberosHelper.java   | 636 ++-
 .../1.10.3-10/package/scripts/params.py |   9 +-
 .../1.10.3-10/package/scripts/service_check.py  |  46 +-
 .../server/controller/KerberosHelperTest.java   | 393 
 5 files changed, 946 insertions(+), 189 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/954b96e1/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 2bf0cbf..dcbbed2 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
@@ -40,7 +40,6 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.text.MessageFormat;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EnumMap;
@@ -55,6 +54,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.concurrent.TimeUnit;
 
+import com.google.gson.reflect.TypeToken;
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.ClusterNotFoundException;
 import org.apache.ambari.server.DuplicateResourceException;
@@ -2902,23 +2902,30 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
 actionManager,
 actionRequest);
 
+ExecuteCommandJson jsons = 
customCommandExecutionHelper.getCommandJson(actionExecContext, cluster);
+String commandParamsForStage = jsons.getCommandParamsForStage();
+
 // If the request is to perform the Kerberos service check, set up the 
stages to
 // ensure that the (cluster-level) smoke user principal and keytab is 
available on all hosts
-if 
(Role.KERBEROS_SERVICE_CHECK.name().equals(actionRequest.getCommandName())) {
+boolean kerberosServiceCheck = 
Role.KERBEROS_SERVICE_CHECK.name().equals(actionRequest.getCommandName());
+if (kerberosServiceCheck) {
+  // Parse the command parameters into a map so that additional values may 
be added to it
+  MapString, String commandParamsStage = 
gson.fromJson(commandParamsForStage,
+  new TypeTokenMapString, String() {
+  }.getType());
+
   try {
-requestStageContainer = kerberosHelper.ensureIdentities(cluster,
-Collections.String, 
CollectionStringsingletonMap(Service.Type.KERBEROS.name(), null),
-Collections.singleton(/smokeuser), requestStageContainer);
+requestStageContainer = kerberosHelper.createTestIdentity(cluster, 
commandParamsStage, requestStageContainer);
   } catch (KerberosOperationException e) {
 throw new IllegalArgumentException(e.getMessage(), e);
   }
-}
 
-ExecuteCommandJson jsons = customCommandExecutionHelper.getCommandJson(
-actionExecContext, cluster);
+  // Recreate commandParamsForStage with the added values
+  commandParamsForStage = gson.toJson(commandParamsStage);
+}
 
 Stage stage = createNewStage(requestStageContainer.getLastStageId(), 
cluster, requestId, requestContext,
-jsons.getClusterHostInfo(), jsons.getCommandParamsForStage(), 
jsons.getHostParamsForStage());
+jsons.getClusterHostInfo(), commandParamsForStage, 
jsons.getHostParamsForStage());
 
 if (actionRequest.isCommand()) {
   
customCommandExecutionHelper.addExecutionCommandsToStage(actionExecContext, 
stage, requestProperties, false);
@@ -2938,18 +2945,28 @@ public class AmbariManagementControllerImpl implements 
AmbariManagementControlle
 ListStage stages = rg.getStages();
 
 if (stages != null  !stages.isEmpty()) {
+  // If this is a Kerberos service check, set the