Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,6 @@ private QueueCapacityVector heterogeneousParser(Matcher matcher) {
}
}

// Memory always have to be defined
if (capacityVector.getMemory() == 0L) {
return new QueueCapacityVector();
}

return capacityVector;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,4 +214,19 @@ public void testInvalidCapacityConfigs() {
Lists.newArrayList(nonSetCapacity.iterator());
Assert.assertEquals(nonSetResources.size(), 0);
}
}

@Test
public void testZeroAbsoluteCapacityConfig() {
QueueCapacityVector weightCapacityVector =
capacityConfigParser.parse(String.format(MEMORY_VCORE_TEMPLATE, 0, 0), QUEUE);

QueueCapacityVectorEntry memory = weightCapacityVector.getResource(MEMORY_URI);
QueueCapacityVectorEntry vcore = weightCapacityVector.getResource(VCORES_URI);

Assert.assertEquals(ResourceUnitCapacityType.ABSOLUTE, memory.getVectorResourceType());
Assert.assertEquals(0, memory.getResourceValue(), EPSILON);

Assert.assertEquals(ResourceUnitCapacityType.ABSOLUTE, vcore.getVectorResourceType());
Assert.assertEquals(0, vcore.getResourceValue(), EPSILON);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import java.util.Collection;

import org.codehaus.jettison.json.JSONObject;
import org.junit.AfterClass;
import org.junit.Test;

import org.apache.hadoop.conf.Configuration;
Expand All @@ -43,8 +44,10 @@
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonType;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertXmlResponse;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createRM;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createWebAppDescriptor;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
import static org.junit.Assert.assertEquals;

@RunWith(Parameterized.class)
Expand All @@ -60,6 +63,12 @@ public static Collection<Boolean> getParameters() {
public TestRMWebServicesCapacitySched(boolean legacyQueueMode) {
super(createWebAppDescriptor());
this.legacyQueueMode = legacyQueueMode;
backupSchedulerConfigFileInTarget();
}

@AfterClass
public static void afterClass() {
restoreSchedulerConfigFileInTarget();
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import java.util.HashMap;
import java.util.Map;

import org.junit.AfterClass;
import org.junit.Test;

import org.apache.hadoop.conf.Configuration;
Expand All @@ -39,10 +40,12 @@
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfigGeneratorForTest.createConfiguration;
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createMutableRM;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createWebAppDescriptor;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.getExpectedResourceFile;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.reinitialize;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.runTest;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.sendRequest;
import static org.assertj.core.api.Assertions.fail;
Expand Down Expand Up @@ -72,6 +75,12 @@ public static Collection<Boolean> getParameters() {
public TestRMWebServicesCapacitySchedDynamicConfig(boolean legacyQueueMode) {
super(createWebAppDescriptor());
this.legacyQueueMode = legacyQueueMode;
backupSchedulerConfigFileInTarget();
}

@AfterClass
public static void afterClass() {
restoreSchedulerConfigFileInTarget();
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import javax.ws.rs.core.MediaType;

import com.sun.jersey.api.client.ClientResponse;

import org.junit.AfterClass;
import org.junit.Test;

import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
Expand All @@ -38,8 +40,10 @@
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfigGeneratorForTest.createConfiguration;
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerTestUtilities.GB;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.assertJsonResponse;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createMutableRM;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createWebAppDescriptor;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;

@RunWith(Parameterized.class)
public class TestRMWebServicesCapacitySchedLegacyQueueCreation extends
Expand All @@ -55,6 +59,12 @@ public static Collection<Boolean> getParameters() {
public TestRMWebServicesCapacitySchedLegacyQueueCreation(boolean legacyQueueMode) {
super(createWebAppDescriptor());
this.legacyQueueMode = legacyQueueMode;
backupSchedulerConfigFileInTarget();
}

@AfterClass
public static void afterClass() {
restoreSchedulerConfigFileInTarget();
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,14 @@

import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
import org.apache.hadoop.yarn.webapp.JerseyTestBase;
import org.junit.AfterClass;
import org.junit.Test;

import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfigGeneratorForTest.createConfiguration;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createRM;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.createWebAppDescriptor;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.runTest;

/**
Expand All @@ -47,6 +50,12 @@ public class TestRMWebServicesCapacitySchedulerMixedMode extends JerseyTestBase

public TestRMWebServicesCapacitySchedulerMixedMode() {
super(createWebAppDescriptor());
backupSchedulerConfigFileInTarget();
}

@AfterClass
public static void afterClass() {
restoreSchedulerConfigFileInTarget();
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,16 @@
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response.Status;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
Expand All @@ -67,6 +68,9 @@
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration.ACCESSIBLE_NODE_LABELS;
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration.CAPACITY;
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration.MAXIMUM_CAPACITY;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.getCapacitySchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.backupSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.server.resourcemanager.webapp.TestWebServiceUtil.restoreSchedulerConfigFileInTarget;
import static org.apache.hadoop.yarn.webapp.util.YarnWebServiceUtils.toJson;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
Expand All @@ -80,11 +84,6 @@
public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
private static final Logger LOG = LoggerFactory
.getLogger(TestRMWebServicesConfigurationMutation.class);

private static final File CONF_FILE = new File(new File("target",
"test-classes"), YarnConfiguration.CS_CONFIGURATION_FILE);
private static final File OLD_CONF_FILE = new File(new File("target",
"test-classes"), YarnConfiguration.CS_CONFIGURATION_FILE + ".tmp");
private static final String LABEL_1 = "label1";
public static final QueuePath ROOT = new QueuePath("root");
public static final QueuePath ROOT_A = new QueuePath("root", "a");
Expand All @@ -95,6 +94,16 @@ public class TestRMWebServicesConfigurationMutation extends JerseyTestBase {
private static CapacitySchedulerConfiguration csConf;
private static YarnConfiguration conf;

@BeforeClass
public static void beforeClass() {
backupSchedulerConfigFileInTarget();
}

@AfterClass
public static void afterClass() {
restoreSchedulerConfigFileInTarget();
}

private static class WebServletModule extends ServletModule {
@Override
protected void configureServlets() {
Expand All @@ -117,12 +126,7 @@ protected void configureServlets() {
YarnConfiguration.MEMORY_CONFIGURATION_STORE);
conf.set(YarnConfiguration.YARN_ADMIN_ACL, userName);
try {
if (CONF_FILE.exists()) {
if (!CONF_FILE.renameTo(OLD_CONF_FILE)) {
throw new RuntimeException("Failed to rename conf file");
}
}
FileOutputStream out = new FileOutputStream(CONF_FILE);
FileOutputStream out = new FileOutputStream(getCapacitySchedulerConfigFileInTarget());
csConf.writeXml(out);
out.close();
} catch (IOException e) {
Expand Down Expand Up @@ -1070,10 +1074,6 @@ public void tearDown() throws Exception {
if (rm != null) {
rm.stop();
}
CONF_FILE.delete();
if (!OLD_CONF_FILE.renameTo(CONF_FILE)) {
throw new RuntimeException("Failed to re-copy old configuration file");
}
super.tearDown();
}
}
Loading