diff --git a/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/appmaster/TestAMSimulator.java b/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/appmaster/TestAMSimulator.java index 02dc26eeaf9..4830ee4d5f6 100644 --- a/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/appmaster/TestAMSimulator.java +++ b/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/appmaster/TestAMSimulator.java @@ -22,6 +22,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnException; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; +import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler; import org.apache.hadoop.yarn.sls.conf.SLSConfiguration; @@ -50,18 +51,24 @@ private Class slsScheduler; private Class scheduler; + private boolean monitorEnabled; + private Class monitorPolicy; @Parameterized.Parameters public static Collection params() { return Arrays.asList(new Object[][] { - {SLSFairScheduler.class, FairScheduler.class}, - {SLSCapacityScheduler.class, CapacityScheduler.class} + {SLSFairScheduler.class, FairScheduler.class, false, null}, + {SLSCapacityScheduler.class, CapacityScheduler.class, true, + ProportionalCapacityPreemptionPolicy.class} }); } - public TestAMSimulator(Class slsScheduler, Class scheduler) { + public TestAMSimulator(Class slsScheduler, Class scheduler, + boolean monitorEnabled, Class monitorPolicy) { this.slsScheduler = slsScheduler; this.scheduler = scheduler; + this.monitorEnabled = monitorEnabled; + this.monitorPolicy = monitorPolicy; } @Before @@ -72,6 +79,12 @@ public void setup() { conf.set(SLSConfiguration.METRICS_OUTPUT_DIR, metricOutputDir.toString()); conf.set(YarnConfiguration.RM_SCHEDULER, slsScheduler.getName()); conf.set(SLSConfiguration.RM_SCHEDULER, scheduler.getName()); + conf.setBoolean(YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS, + monitorEnabled); + if (monitorEnabled) { + conf.set(YarnConfiguration.RM_SCHEDULER_MONITOR_POLICIES, + monitorPolicy.getName()); + } conf.setBoolean(SLSConfiguration.METRICS_SWITCH, true); rm = new ResourceManager(); rm.init(conf); diff --git a/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/nodemanager/TestNMSimulator.java b/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/nodemanager/TestNMSimulator.java index 2f10f7dbc2e..55462b06fcd 100644 --- a/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/nodemanager/TestNMSimulator.java +++ b/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/nodemanager/TestNMSimulator.java @@ -21,6 +21,7 @@ import org.apache.hadoop.yarn.api.records.ContainerId; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; +import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler; import org.apache.hadoop.yarn.server.utils.BuilderUtils; @@ -46,18 +47,24 @@ private Class slsScheduler; private Class scheduler; + private boolean monitorEnabled; + private Class monitorPolicy; @Parameterized.Parameters public static Collection params() { return Arrays.asList(new Object[][] { - {SLSFairScheduler.class, FairScheduler.class}, - {SLSCapacityScheduler.class, CapacityScheduler.class} + {SLSFairScheduler.class, FairScheduler.class, false, null}, + {SLSCapacityScheduler.class, CapacityScheduler.class, true, + ProportionalCapacityPreemptionPolicy.class} }); } - public TestNMSimulator(Class slsScheduler, Class scheduler) { + public TestNMSimulator(Class slsScheduler, Class scheduler, + boolean monitorEnabled, Class monitorPolicy) { this.slsScheduler = slsScheduler; this.scheduler = scheduler; + this.monitorEnabled = monitorEnabled; + this.monitorPolicy = monitorPolicy; } @Before @@ -65,6 +72,12 @@ public void setup() { conf = new YarnConfiguration(); conf.set(YarnConfiguration.RM_SCHEDULER, slsScheduler.getName()); conf.set(SLSConfiguration.RM_SCHEDULER, scheduler.getName()); + conf.setBoolean(YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS, + monitorEnabled); + if (monitorEnabled) { + conf.set(YarnConfiguration.RM_SCHEDULER_MONITOR_POLICIES, + monitorPolicy.getName()); + } conf.setBoolean(SLSConfiguration.METRICS_SWITCH, false); rm = new ResourceManager(); rm.init(conf); diff --git a/hadoop-tools/hadoop-sls/src/test/resources/yarn-site.xml b/hadoop-tools/hadoop-sls/src/test/resources/yarn-site.xml index 7b2e674c8ff..20146fcef66 100644 --- a/hadoop-tools/hadoop-sls/src/test/resources/yarn-site.xml +++ b/hadoop-tools/hadoop-sls/src/test/resources/yarn-site.xml @@ -21,16 +21,6 @@ - - yarn.resourcemanager.scheduler.monitor.enable - true - - - - yarn.resourcemanager.scheduler.monitor.policies - org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy - - The address of the RM web application. yarn.resourcemanager.webapp.address