|
@@ -24,8 +24,6 @@ import com.google.inject.servlet.GuiceServletContextListener;
|
|
import com.google.inject.servlet.ServletModule;
|
|
import com.google.inject.servlet.ServletModule;
|
|
import com.sun.jersey.api.client.ClientResponse;
|
|
import com.sun.jersey.api.client.ClientResponse;
|
|
import com.sun.jersey.api.client.WebResource;
|
|
import com.sun.jersey.api.client.WebResource;
|
|
-import com.sun.jersey.api.json.JSONJAXBContext;
|
|
|
|
-import com.sun.jersey.api.json.JSONMarshaller;
|
|
|
|
import com.sun.jersey.guice.spi.container.servlet.GuiceContainer;
|
|
import com.sun.jersey.guice.spi.container.servlet.GuiceContainer;
|
|
import com.sun.jersey.test.framework.WebAppDescriptor;
|
|
import com.sun.jersey.test.framework.WebAppDescriptor;
|
|
import org.apache.hadoop.conf.Configuration;
|
|
import org.apache.hadoop.conf.Configuration;
|
|
@@ -37,10 +35,11 @@ import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration;
|
|
-import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.QueueConfigInfo;
|
|
|
|
-import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.SchedConfUpdateInfo;
|
|
|
|
import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
|
|
import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
|
|
import org.apache.hadoop.yarn.webapp.JerseyTestBase;
|
|
import org.apache.hadoop.yarn.webapp.JerseyTestBase;
|
|
|
|
+import org.apache.hadoop.yarn.webapp.dao.QueueConfigInfo;
|
|
|
|
+import org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo;
|
|
|
|
+import org.apache.hadoop.yarn.webapp.util.YarnWebServiceUtils;
|
|
import org.junit.After;
|
|
import org.junit.After;
|
|
import org.junit.Before;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.junit.Test;
|
|
@@ -51,7 +50,6 @@ import javax.ws.rs.core.Response.Status;
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.FileOutputStream;
|
|
import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
-import java.io.StringWriter;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -189,8 +187,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
|
|
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
@@ -224,8 +222,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
|
|
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
@@ -250,8 +248,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
|
|
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
@@ -275,8 +273,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
|
|
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
@@ -306,8 +304,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
|
|
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
@@ -338,8 +336,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
|
|
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
@@ -366,8 +364,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
CapacitySchedulerConfiguration newCSConf =
|
|
CapacitySchedulerConfiguration newCSConf =
|
|
@@ -401,8 +399,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
CapacitySchedulerConfiguration newCSConf = cs.getConfiguration();
|
|
CapacitySchedulerConfiguration newCSConf = cs.getConfiguration();
|
|
@@ -419,8 +417,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
newCSConf = cs.getConfiguration();
|
|
newCSConf = cs.getConfiguration();
|
|
@@ -449,8 +447,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
CapacitySchedulerConfiguration newCSConf =
|
|
CapacitySchedulerConfiguration newCSConf =
|
|
@@ -474,8 +472,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
CapacitySchedulerConfiguration newCSConf =
|
|
CapacitySchedulerConfiguration newCSConf =
|
|
@@ -489,8 +487,8 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
r.path("ws").path("v1").path("cluster")
|
|
r.path("ws").path("v1").path("cluster")
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.path("sched-conf").queryParam("user.name", userName)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
.accept(MediaType.APPLICATION_JSON)
|
|
- .entity(toJson(updateInfo, SchedConfUpdateInfo.class),
|
|
|
|
- MediaType.APPLICATION_JSON)
|
|
|
|
|
|
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
|
|
|
|
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
|
|
.put(ClientResponse.class);
|
|
.put(ClientResponse.class);
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
assertEquals(Status.OK.getStatusCode(), response.getStatus());
|
|
newCSConf =
|
|
newCSConf =
|
|
@@ -512,13 +510,4 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
|
|
}
|
|
}
|
|
super.tearDown();
|
|
super.tearDown();
|
|
}
|
|
}
|
|
-
|
|
|
|
- @SuppressWarnings("rawtypes")
|
|
|
|
- private String toJson(Object nsli, Class klass) throws Exception {
|
|
|
|
- StringWriter sw = new StringWriter();
|
|
|
|
- JSONJAXBContext ctx = new JSONJAXBContext(klass);
|
|
|
|
- JSONMarshaller jm = ctx.createJSONMarshaller();
|
|
|
|
- jm.marshallToJSON(nsli, sw);
|
|
|
|
- return sw.toString();
|
|
|
|
- }
|
|
|
|
}
|
|
}
|