@Before public void before() throws IOException { mgr = new MockNodeLabelManager(); conf = new Configuration(); conf.setBoolean(YarnConfiguration.NODE_LABELS_ENABLED, true); conf.set(YarnConfiguration.FS_NODE_LABELS_STORE_IMPL_CLASS, storeClassName); File tempDir = File.createTempFile("nlb", ".tmp"); tempDir.delete(); tempDir.mkdirs(); tempDir.deleteOnExit(); conf.set(YarnConfiguration.FS_NODE_LABELS_STORE_ROOT_DIR, tempDir.getAbsolutePath()); mgr.init(conf); mgr.start(); }
@After public void after() throws IOException { if (mgr.store instanceof FileSystemNodeLabelsStore) { FileSystemNodeLabelsStore fsStore = ((FileSystemNodeLabelsStore) mgr.store); fsStore.fs.delete(fsStore.fsWorkingPath, true); } mgr.stop(); }
mgr.addToCluserNodeLabels(Arrays.asList(NodeLabel.newInstance("p1", true), NodeLabel.newInstance("p2", false), NodeLabel.newInstance("p3", true), NodeLabel.newInstance("p4", true), NodeLabel.newInstance("p5", true), NodeLabel.newInstance("p6", false))); mgr.replaceLabelsOnNode(ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabelNames().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
mgr.addToCluserNodeLabels(Arrays.asList(NodeLabel.newInstance("p1", true), NodeLabel.newInstance("p2", false), NodeLabel.newInstance("p3", true), NodeLabel.newInstance("p4", true), NodeLabel.newInstance("p5", true), NodeLabel.newInstance("p6", false))); mgr.replaceLabelsOnNode(ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabelNames().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
mgr.addToCluserNodeLabels(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabels(toSet("p4")); mgr.addToCluserNodeLabels(toSet("p5", "p6")); mgr.replaceLabelsOnNode(ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabels().size()); Assert.assertTrue(mgr.getClusterNodeLabels().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of( "p6", toSet(toNodeId("n6"), toNodeId("n7")),
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testRecoverWithMirror() throws Exception { mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p4")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p5", "p6")); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabelNames().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testRecoverWithMirror() throws Exception { mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p4")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p5", "p6")); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabelNames().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testRecoverWithMirror() throws Exception { mgr.addToCluserNodeLabels(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabels(toSet("p4")); mgr.addToCluserNodeLabels(toSet("p5", "p6")); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabels().size()); Assert.assertTrue(mgr.getClusterNodeLabels().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testEditlogRecover() throws Exception { mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p4")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p5", "p6")); mgr.replaceLabelsOnNode(ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabelNames().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testEditlogRecover() throws Exception { mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p4")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p5", "p6")); mgr.replaceLabelsOnNode(ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabelNames().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testEditlogRecover() throws Exception { mgr.addToCluserNodeLabels(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabels(toSet("p4")); mgr.addToCluserNodeLabels(toSet("p5", "p6")); mgr.replaceLabelsOnNode(ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); mgr.init(conf); mgr.start(); Assert.assertEquals(3, mgr.getClusterNodeLabels().size()); Assert.assertTrue(mgr.getClusterNodeLabels().containsAll( Arrays.asList("p2", "p4", "p6"))); assertMapContains(mgr.getNodeLabels(), ImmutableMap.of(toNodeId("n2"), toSet("p2"), toNodeId("n4"), toSet("p4"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); assertLabelsToNodesEquals(mgr.getLabelsToNodes(), ImmutableMap.of(
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testRecoverWithDistributedNodeLabels() throws Exception { mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p4")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p5", "p6")); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); Configuration cf = new Configuration(conf); cf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE, YarnConfiguration.DISTRIBUTED_NODELABEL_CONFIGURATION_TYPE); mgr.init(cf); mgr.start(); // check variables Assert.assertEquals(3, mgr.getClusterNodeLabels().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); Assert.assertTrue("During recovery in distributed node-labels setup, " + "node to labels mapping should not be recovered ", mgr .getNodeLabels().size() == 0); mgr.stop(); }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Test(timeout = 10000) public void testRecoverWithDistributedNodeLabels() throws Exception { mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p1", "p2", "p3")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p4")); mgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("p5", "p6")); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n1"), toSet("p1"), toNodeId("n2"), toSet("p2"))); mgr.replaceLabelsOnNode((Map) ImmutableMap.of(toNodeId("n3"), toSet("p3"), toNodeId("n4"), toSet("p4"), toNodeId("n5"), toSet("p5"), toNodeId("n6"), toSet("p6"), toNodeId("n7"), toSet("p6"))); mgr.removeFromClusterNodeLabels(toSet("p1")); mgr.removeFromClusterNodeLabels(Arrays.asList("p3", "p5")); mgr.stop(); mgr = new MockNodeLabelManager(); Configuration cf = new Configuration(conf); cf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE, YarnConfiguration.DISTRIBUTED_NODELABEL_CONFIGURATION_TYPE); mgr.init(cf); mgr.start(); // check variables Assert.assertEquals(3, mgr.getClusterNodeLabels().size()); Assert.assertTrue(mgr.getClusterNodeLabelNames().containsAll( Arrays.asList("p2", "p4", "p6"))); Assert.assertTrue("During recovery in distributed node-labels setup, " + "node to labels mapping should not be recovered ", mgr .getNodeLabels().size() == 0); mgr.stop(); }
@Before public void before() throws IOException { mgr = new MockNodeLabelManager(); conf = new Configuration(); conf.setBoolean(YarnConfiguration.NODE_LABELS_ENABLED, true); conf.set(YarnConfiguration.FS_NODE_LABELS_STORE_IMPL_CLASS, storeClassName); File tempDir = File.createTempFile("nlb", ".tmp"); tempDir.delete(); tempDir.mkdirs(); tempDir.deleteOnExit(); conf.set(YarnConfiguration.FS_NODE_LABELS_STORE_ROOT_DIR, tempDir.getAbsolutePath()); mgr.init(conf); mgr.start(); }
@Before public void before() throws IOException { mgr = new MockNodeLabelManager(); conf = new Configuration(); conf.setBoolean(YarnConfiguration.NODE_LABELS_ENABLED, true); File tempDir = File.createTempFile("nlb", ".tmp"); tempDir.delete(); tempDir.mkdirs(); tempDir.deleteOnExit(); conf.set(YarnConfiguration.FS_NODE_LABELS_STORE_ROOT_DIR, tempDir.getAbsolutePath()); mgr.init(conf); mgr.start(); }
@After public void after() throws IOException { getStore().fs.delete(getStore().fsWorkingPath, true); mgr.stop(); }
@After public void after() throws IOException { if (mgr.store instanceof FileSystemNodeLabelsStore) { FileSystemNodeLabelsStore fsStore = ((FileSystemNodeLabelsStore) mgr.store); fsStore.getFs().delete(fsStore.getFsWorkingPath(), true); } mgr.stop(); }