You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2015/11/23 18:20:40 UTC
[28/50] incubator-slider git commit: SLIDER-907: AgentWebPagesIT
downgrades on HTTPS RM proxies by skipping all proxied tests,
retaining the direct ones
SLIDER-907: AgentWebPagesIT downgrades on HTTPS RM proxies by skipping all proxied tests, retaining the direct ones
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/d4d343a7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/d4d343a7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/d4d343a7
Branch: refs/heads/develop
Commit: d4d343a777ffe27a0b2111008b78531312b988dd
Parents: f36c0da
Author: Steve Loughran <st...@apache.org>
Authored: Wed Nov 18 14:25:11 2015 +0000
Committer: Steve Loughran <st...@apache.org>
Committed: Wed Nov 18 14:25:11 2015 +0000
----------------------------------------------------------------------
.../funtest/lifecycle/AgentWebPagesIT.groovy | 97 +++++++++++---------
1 file changed, 52 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/d4d343a7/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy
----------------------------------------------------------------------
diff --git a/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy b/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy
index 62be615..682caf8 100644
--- a/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy
+++ b/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentWebPagesIT.groovy
@@ -23,13 +23,9 @@ import groovy.transform.CompileStatic
import groovy.util.logging.Slf4j
import org.apache.hadoop.registry.client.api.RegistryOperations
import org.apache.hadoop.security.UserGroupInformation
-import org.apache.hadoop.yarn.api.ApplicationClientProtocol
-import org.apache.hadoop.yarn.client.ClientRMProxy
-import org.apache.hadoop.yarn.webapp.ForbiddenException
import org.apache.slider.agent.rest.IpcApiClientTestDelegates
import org.apache.slider.agent.rest.JerseyTestDelegates
import org.apache.slider.agent.rest.AbstractRestTestDelegate
-import org.apache.slider.agent.rest.LowLevelRestTestDelegates
import org.apache.slider.agent.rest.RestAPIClientTestDelegates
import org.apache.slider.client.SliderClient
import org.apache.slider.client.ipc.SliderApplicationIpcClient
@@ -40,6 +36,7 @@ import org.apache.slider.common.SliderXmlConfKeys
import org.apache.slider.common.params.Arguments
import org.apache.slider.common.params.SliderActions
import org.apache.slider.common.tools.ConfigHelper
+import org.apache.slider.funtest.ResourcePaths
import org.apache.slider.funtest.framework.AgentCommandTestBase
import org.apache.slider.funtest.framework.FuntestProperties
import org.apache.slider.funtest.framework.SliderShell
@@ -59,7 +56,7 @@ public class AgentWebPagesIT extends AgentCommandTestBase
static String CLUSTER = "test-agent-web"
- static String APP_RESOURCE2 = "../slider-core/src/test/app_packages/test_command_log/resources_no_role.json"
+ static String APP_RESOURCE2 = ResourcePaths.COMMAND_LOG_RESOURCES_NO_ROLE
@Before
public void prepareCluster() {
@@ -72,12 +69,11 @@ public class AgentWebPagesIT extends AgentCommandTestBase
}
@Test
- @Ignore("SLIDER-907")
public void testAgentWeb() throws Throwable {
describe("Web queries & REST operations against an AM")
// verify the ws/ path is open for all HTTP verbs
- def sliderConfiguration = ConfigHelper.loadSliderConfiguration();
+ ConfigHelper.loadSliderConfiguration();
/*
Is the back door required? If so, don't test complex verbs via the proxy
@@ -91,7 +87,7 @@ public class AgentWebPagesIT extends AgentCommandTestBase
def directComplexVerbs = proxyComplexVerbs || SLIDER_CONFIG.getBoolean(
SliderXmlConfKeys.X_DEV_INSECURE_WS,
SliderXmlConfKeys.X_DEV_INSECURE_DEFAULT)
- def clusterpath = buildClusterPath(CLUSTER)
+ buildClusterPath(CLUSTER)
File launchReportFile = createTempJsonFile();
SliderShell shell = createTemplatedSliderApplication(CLUSTER,
APP_TEMPLATE,
@@ -118,63 +114,74 @@ public class AgentWebPagesIT extends AgentCommandTestBase
def proxyAM = report.url
+ // decide whether or not to use https
+ def proxyTests = !proxyAM.toLowerCase(Locale.ENGLISH).startsWith("https:")
+
// here the URL has been published, but it may not be live yet, due to the time
// it takes the AM to build app state and boostrap the Web UI
def directAM = report.origTrackingUrl;
- describe "Proxy Jersey Tests"
-
Client jerseyClient = createUGIJerseyClient()
- JerseyTestDelegates proxyJerseyTests =
- new JerseyTestDelegates(proxyAM, jerseyClient, proxyComplexVerbs)
+ if (proxyTests) {
+ describe "Proxy Jersey Tests"
+
+ JerseyTestDelegates proxyJerseyTests =
+ new JerseyTestDelegates(proxyAM, jerseyClient, proxyComplexVerbs)
+
+ // wait it coming up
+ awaitRestEndpointLive(proxyJerseyTests, instanceLaunchTime)
+
+ proxyJerseyTests.testSuiteGetOperations()
+
+ describe "Proxy SliderRestClient Tests"
+ RestAPIClientTestDelegates proxySliderRestAPI =
+ new RestAPIClientTestDelegates(proxyAM, jerseyClient, proxyComplexVerbs)
+ proxySliderRestAPI.testSuiteAll()
- // wait it coming up
- awaitRestEndpointLive(proxyJerseyTests, instanceLaunchTime)
- proxyJerseyTests.testSuiteGetOperations()
+ if (UserGroupInformation.securityEnabled) {
+ describe "Insecure Proxy Tests against a secure cluster"
+
+ // these tests use the Jersey client without the Hadoop-specific
+ // SPNEGO
+ JerseyTestDelegates basicJerseyClientTests =
+ new JerseyTestDelegates(proxyAM, createBasicJerseyClient())
+ basicJerseyClientTests.testSuiteGetOperations()
+ }
+
+ // create the Rest client via the registry
+
+ //get a slider client against the cluster
+
+ SliderClient sliderClient = bondToCluster(SLIDER_CONFIG, CLUSTER)
+ RegistryOperations operations = sliderClient.registryOperations;
+ def restClientFactory = new RestClientFactory(
+ operations, jerseyClient,
+ "~", SliderKeys.APP_TYPE, CLUSTER)
+ def sliderApplicationApi = restClientFactory.createSliderAppApiClient();
+ sliderApplicationApi.desiredModel
+ sliderApplicationApi.resolvedModel
+ if (proxyComplexVerbs) {
+ sliderApplicationApi.ping("registry located")
+ }
+
+ } else {
+ describe "skipping tests against HTTPS RM proxy $proxyAM"
+ }
+
describe "Direct Jersey Tests"
JerseyTestDelegates directJerseyTests =
new JerseyTestDelegates(directAM, jerseyClient, directComplexVerbs)
directJerseyTests.testSuiteAll()
- describe "Proxy SliderRestClient Tests"
- RestAPIClientTestDelegates proxySliderRestAPI =
- new RestAPIClientTestDelegates(proxyAM, jerseyClient, proxyComplexVerbs)
- proxySliderRestAPI.testSuiteAll()
-
describe "Direct SliderRestClient Tests"
RestAPIClientTestDelegates directSliderRestAPI =
new RestAPIClientTestDelegates(directAM, jerseyClient, directComplexVerbs)
directSliderRestAPI.testSuiteAll()
- if (UserGroupInformation.securityEnabled) {
- describe "Insecure Proxy Tests against a secure cluster"
-
- // these tests use the Jersey client without the Hadoop-specific
- // SPNEGO
- JerseyTestDelegates basicJerseyClientTests =
- new JerseyTestDelegates(proxyAM, createBasicJerseyClient())
- basicJerseyClientTests.testSuiteGetOperations()
- }
-
- // create the Rest client via the registry
-
- //get a slider client against the cluster
-
- SliderClient sliderClient = bondToCluster(SLIDER_CONFIG, CLUSTER)
- RegistryOperations operations = sliderClient.registryOperations;
- def restClientFactory = new RestClientFactory(
- operations, jerseyClient,
- "~", SliderKeys.APP_TYPE, CLUSTER)
- def sliderApplicationApi = restClientFactory.createSliderAppApiClient();
- sliderApplicationApi.desiredModel
- sliderApplicationApi.resolvedModel
- if (proxyComplexVerbs) {
- sliderApplicationApi.ping("registry located")
- }
// maybe execute IPC operations.