Repository: incubator-slider
Updated Branches:
  refs/heads/develop 172536d14 -> ee7844ea2


SLIDER-392 auto set the global security_enabled app config property


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

Branch: refs/heads/develop
Commit: ee7844ea28734b7056c44f6e012de4dff3cf0720
Parents: 172536d
Author: Jon Maron <jma...@hortonworks.com>
Authored: Thu Oct 9 12:54:38 2014 -0700
Committer: Jon Maron <jma...@hortonworks.com>
Committed: Thu Oct 9 12:54:38 2014 -0700

----------------------------------------------------------------------
 app-packages/accumulo/appConfig-default.json    |  1 -
 app-packages/hbase-win/appConfig-default.json   |  1 -
 app-packages/hbase/appConfig-default.json       |  1 -
 .../test/resources/appConfig_monitor_ssl.json   |  1 -
 app-packages/storm/appConfig-default.json       |  1 -
 .../org/apache/slider/common/SliderKeys.java    |  1 +
 .../server/appmaster/SliderAppMaster.java       | 22 ++++++++++++--------
 .../slider/providers/agent/conf/command.json    |  1 -
 .../providers/agent/conf/command_template.json  |  1 -
 .../slider/client/TestClientBasicArgs.groovy    |  4 +++-
 .../publisher/TestPublisherRestResources.groovy |  8 ++++++-
 .../publisher/TestAgentProviderService.java     |  5 ++++-
 12 files changed, 28 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/app-packages/accumulo/appConfig-default.json
----------------------------------------------------------------------
diff --git a/app-packages/accumulo/appConfig-default.json 
b/app-packages/accumulo/appConfig-default.json
index de370bf..0cc740f 100644
--- a/app-packages/accumulo/appConfig-default.json
+++ b/app-packages/accumulo/appConfig-default.json
@@ -20,7 +20,6 @@
     "site.global.accumulo_instance_name": "${USER}-${CLUSTER_NAME}",
     "site.global.accumulo_root_password": "NOT_USED",
     "site.global.user_group": "${app.user.group}",
-    "site.global.security_enabled": "false",
     "site.global.ssl_cert_dir": "ssl",
     "site.global.monitor_protocol": "http",
     "site.accumulo-site.instance.volumes": "${DEFAULT_DATA_DIR}/data",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/app-packages/hbase-win/appConfig-default.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase-win/appConfig-default.json 
b/app-packages/hbase-win/appConfig-default.json
index 95e79ab..e82a65f 100644
--- a/app-packages/hbase-win/appConfig-default.json
+++ b/app-packages/hbase-win/appConfig-default.json
@@ -12,7 +12,6 @@
         "site.global.hbase_instance_name": "instancename",
         "site.global.hbase_root_password": "secret",
         "site.global.user_group": "hadoop",
-        "site.global.security_enabled": "false",
         "site.global.monitor_protocol": "http",
         "site.global.hbase_additional_cp": "c:\\java\\lib\\tools.jar;",
         "site.global.java_library_path": 
"c:\\hdp\\hadoop-2.4.0.2.1.3.0-1990\\bin",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/app-packages/hbase/appConfig-default.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase/appConfig-default.json 
b/app-packages/hbase/appConfig-default.json
index 658d727..ffd964d 100644
--- a/app-packages/hbase/appConfig-default.json
+++ b/app-packages/hbase/appConfig-default.json
@@ -19,7 +19,6 @@
         "site.global.hbase_instance_name": "instancename",
         "site.global.hbase_root_password": "secret",
         "site.global.user_group": "hadoop",
-        "site.global.security_enabled": "false",
         "site.global.monitor_protocol": "http",
         "site.global.hbase_thrift_port": "${HBASE_THRIFT.ALLOCATED_PORT}",
         "site.global.hbase_thrift2_port": "${HBASE_THRIFT2.ALLOCATED_PORT}",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
----------------------------------------------------------------------
diff --git a/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json 
b/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
index 37d72d0..73b33ed 100644
--- a/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
+++ b/app-packages/hbase/src/test/resources/appConfig_monitor_ssl.json
@@ -19,7 +19,6 @@
     "site.global.hbase_instance_name": "instancename",
     "site.global.hbase_root_password": "secret",
     "site.global.user_group": "hadoop",
-    "site.global.security_enabled": "false",
     "site.global.monitor_protocol": "https",
     "site.global.ganglia_server_host": "${NN_HOST}",
     "site.global.ganglia_server_port": "8667",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/app-packages/storm/appConfig-default.json
----------------------------------------------------------------------
diff --git a/app-packages/storm/appConfig-default.json 
b/app-packages/storm/appConfig-default.json
index dc07ee3..f4be9da 100644
--- a/app-packages/storm/appConfig-default.json
+++ b/app-packages/storm/appConfig-default.json
@@ -11,7 +11,6 @@
     "site.global.app_user": "yarn",
     "site.global.app_root": 
"${AGENT_WORK_ROOT}/app/install/apache-storm-${pkg.version}",
     "site.global.user_group": "hadoop",
-    "site.global.security_enabled": "false",
     "site.global.ganglia_server_host": "${NN_HOST}",
     "site.global.ganglia_server_id": "Application2",
     "site.global.ganglia_enabled":"true",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java 
b/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
index 4348fb0..68cef45 100644
--- a/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
+++ b/slider-core/src/main/java/org/apache/slider/common/SliderKeys.java
@@ -174,6 +174,7 @@ public interface SliderKeys extends SliderXmlConfKeys {
   String AM_LOGIN_KEYTAB_NAME = "slider.am.login.keytab.name";
   String AM_KEYTAB_LOCAL_PATH = "slider.am.keytab.local.path";
   String KEYTAB_PRINCIPAL = "slider.keytab.principal.name";
+  String SECURITY_ENABLED = "site.global.security_enabled";
 
   /**
    * Python specific

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
index 6a3f48b..fcc2802 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
@@ -551,12 +551,20 @@ public class SliderAppMaster extends 
AbstractSliderLaunchedService
     log.info("Deploying cluster {}:", instanceDefinition);
 
     stateForProviders.setApplicationName(clustername);
-    
-    // triggers resolution and snapshotting in agent
-    appState.updateInstanceDefinition(instanceDefinition);
 
     Configuration serviceConf = getConfig();
 
+    SecurityConfiguration securityConfiguration = new SecurityConfiguration(
+        serviceConf, instanceDefinition, clustername);
+    // obtain security state
+    boolean securityEnabled = securityConfiguration.isSecurityEnabled();
+    // set the global security flag for the instance definition
+    instanceDefinition.getAppConfOperations().set(
+        SECURITY_ENABLED, securityEnabled);
+
+    // triggers resolution and snapshotting in agent
+    appState.updateInstanceDefinition(instanceDefinition);
+
     File confDir = getLocalConfDir();
     if (!confDir.exists() || !confDir.isDirectory()) {
       log.info("Conf dir {} does not exist.", confDir);
@@ -723,10 +731,6 @@ public class SliderAppMaster extends 
AbstractSliderLaunchedService
       // code to allow for future tokens...
       containerTokens = credentials;
 
-      SecurityConfiguration securityConfiguration = new SecurityConfiguration(
-          serviceConf, instanceDefinition, clustername);
-      // obtain security state
-      boolean securityEnabled = securityConfiguration.isSecurityEnabled();
       if (securityEnabled) {
         secretManager.setMasterKey(
             amRegistrationData.getClientToAMTokenMasterKey().array());
@@ -938,9 +942,9 @@ public class SliderAppMaster extends 
AbstractSliderLaunchedService
     appInformation.put(StatusKeys.INFO_AM_AGENT_OPS_URL, agentOpsUrl + "/");
     appInformation.put(StatusKeys.INFO_AM_AGENT_STATUS_URL, agentStatusUrl + 
"/");
     appInformation.set(StatusKeys.INFO_AM_AGENT_STATUS_PORT,
-        agentWebApp.getPort());
+                       agentWebApp.getPort());
     appInformation.set(StatusKeys.INFO_AM_AGENT_OPS_PORT,
-        agentWebApp.getSecuredPort());
+                       agentWebApp.getSecuredPort());
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command.json
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command.json
 
b/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command.json
index 1bc8381..197a046 100644
--- 
a/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command.json
+++ 
b/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command.json
@@ -56,7 +56,6 @@
     },
     "global": {
       "hbase_root": "/share/hbase/hbase-0.96.1-hadoop2",
-      "security_enabled": "false",
       "hbase_pid_dir": "/var/run/hbase",
       "proxyuser_group": "users",
       "syncLimit": "5",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command_template.json
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command_template.json
 
b/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command_template.json
index cab952e..da06c13 100644
--- 
a/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command_template.json
+++ 
b/slider-core/src/main/resources/org/apache/slider/providers/agent/conf/command_template.json
@@ -56,7 +56,6 @@
     },
     "global": {
       "hbase_root": "{{HBASE_HOME}}",
-      "security_enabled": "false",
       "hbase_pid_dir": "{{PID_DIR}}",
       "proxyuser_group": "users",
       "syncLimit": "5",

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/test/groovy/org/apache/slider/client/TestClientBasicArgs.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/client/TestClientBasicArgs.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/client/TestClientBasicArgs.groovy
index 161bafe..1c4ab4f 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/client/TestClientBasicArgs.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/client/TestClientBasicArgs.groovy
@@ -57,7 +57,9 @@ class TestClientBasicArgs extends ServiceLauncherBaseTest {
     }
   }
 
-  @Test
+  // removed due to retry policy dicating 15 minutes of retries for the
+  // generated UnknownHostExceptionj
+  //@Test
   public void testListUnknownRM() throws Throwable {
     try {
       ServiceLauncher launcher = launch(SliderClient,

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/rest/publisher/TestPublisherRestResources.groovy
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/rest/publisher/TestPublisherRestResources.groovy
 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/rest/publisher/TestPublisherRestResources.groovy
index 44f1214..1964497 100644
--- 
a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/rest/publisher/TestPublisherRestResources.groovy
+++ 
b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/rest/publisher/TestPublisherRestResources.groovy
@@ -118,7 +118,13 @@ class TestPublisherRestResources extends AgentTestBase {
     Map<String,String> val = 
webResource.type(MediaType.APPLICATION_JSON).get(Map.class);
     assert "val1".equals(val.get("prop1"))
 
-    // some negative tests...
+    // testing security_enabled auto-setting feature (SLIDER-392)
+    webResource = client.resource(sliderConfigset +
+                                  "global/site.global.security_enabled");
+    val = webResource.type(MediaType.APPLICATION_JSON).get(Map.class);
+    assert "false".equals(val.get("site.global.security_enabled"))
+
+      // some negative tests...
     webResource = client.resource(appendToURL(sliderConfigset,
         "foobar-site"));
 

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/ee7844ea/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
 
b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
index 3fa880d..7fceac7 100644
--- 
a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
+++ 
b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/publisher/TestAgentProviderService.java
@@ -51,7 +51,10 @@ public class TestAgentProviderService extends 
AgentProviderService {
     log.info("publishing dummy-site.xml with values {}", dummyProps);
     publishApplicationInstanceData("dummy-site", "dummy configuration",
                                    dummyProps.entrySet());
-
+    // publishing global config for testing purposes
+    publishApplicationInstanceData("global", "global configuration",
+                                   stateAccessor.getAppConfSnapshot()
+                                       .getGlobalOptions().entrySet());
   }
 
 }

Reply via email to