|
@@ -73,7 +73,6 @@ public class TestRMAdminCLI {
|
|
|
@Before
|
|
|
public void configure() throws IOException, YarnException {
|
|
|
remoteAdminServiceAccessed = false;
|
|
|
- dummyNodeLabelsManager = new DummyCommonNodeLabelsManager();
|
|
|
admin = mock(ResourceManagerAdministrationProtocol.class);
|
|
|
when(admin.addToClusterNodeLabels(any(AddToClusterNodeLabelsRequest.class)))
|
|
|
.thenAnswer(new Answer<AddToClusterNodeLabelsResponse>() {
|
|
@@ -105,6 +104,7 @@ public class TestRMAdminCLI {
|
|
|
return haServiceTarget;
|
|
|
}
|
|
|
};
|
|
|
+ initDummyNodeLabelsManager();
|
|
|
rmAdminCLI.localNodeLabelsManager = dummyNodeLabelsManager;
|
|
|
|
|
|
YarnConfiguration conf = new YarnConfiguration();
|
|
@@ -124,6 +124,13 @@ public class TestRMAdminCLI {
|
|
|
};
|
|
|
}
|
|
|
|
|
|
+ private void initDummyNodeLabelsManager() {
|
|
|
+ Configuration conf = new YarnConfiguration();
|
|
|
+ conf.setBoolean(YarnConfiguration.NODE_LABELS_ENABLED, true);
|
|
|
+ dummyNodeLabelsManager = new DummyCommonNodeLabelsManager();
|
|
|
+ dummyNodeLabelsManager.init(conf);
|
|
|
+ }
|
|
|
+
|
|
|
@Test(timeout=500)
|
|
|
public void testRefreshQueues() throws Exception {
|
|
|
String[] args = { "-refreshQueues" };
|
|
@@ -281,7 +288,7 @@ public class TestRMAdminCLI {
|
|
|
"[-refreshAdminAcls] [-refreshServiceAcl] [-getGroup" +
|
|
|
" [username]] [[-addToClusterNodeLabels [label1,label2,label3]]" +
|
|
|
" [-removeFromClusterNodeLabels [label1,label2,label3]] [-replaceLabelsOnNode " +
|
|
|
- "[node1:port,label1,label2 node2:port,label1] [-directlyAccessNodeLabelStore]] " +
|
|
|
+ "[node1[:port]=label1,label2 node2[:port]=label1] [-directlyAccessNodeLabelStore]] " +
|
|
|
"[-help [cmd]]"));
|
|
|
assertTrue(dataOut
|
|
|
.toString()
|
|
@@ -361,7 +368,7 @@ public class TestRMAdminCLI {
|
|
|
"[-refreshAdminAcls] [-refreshServiceAcl] [-getGroup" +
|
|
|
" [username]] [[-addToClusterNodeLabels [label1,label2,label3]]" +
|
|
|
" [-removeFromClusterNodeLabels [label1,label2,label3]] [-replaceLabelsOnNode " +
|
|
|
- "[node1:port,label1,label2 node2:port,label1] [-directlyAccessNodeLabelStore]] " +
|
|
|
+ "[node1[:port]=label1,label2 node2[:port]=label1] [-directlyAccessNodeLabelStore]] " +
|
|
|
"[-transitionToActive [--forceactive] <serviceId>] " +
|
|
|
"[-transitionToStandby <serviceId>] [-failover" +
|
|
|
" [--forcefence] [--forceactive] <serviceId> <serviceId>] " +
|
|
@@ -501,24 +508,29 @@ public class TestRMAdminCLI {
|
|
|
@Test
|
|
|
public void testReplaceLabelsOnNode() throws Exception {
|
|
|
// Successfully replace labels
|
|
|
- dummyNodeLabelsManager.addToCluserNodeLabels(ImmutableSet.of("x", "Y"));
|
|
|
+ dummyNodeLabelsManager
|
|
|
+ .addToCluserNodeLabels(ImmutableSet.of("x", "y", "Y"));
|
|
|
String[] args =
|
|
|
- { "-replaceLabelsOnNode", "node1,x,Y node2,Y",
|
|
|
+ { "-replaceLabelsOnNode",
|
|
|
+ "node1:8000,x,y node2:8000=y node3,x,Y node4=Y",
|
|
|
"-directlyAccessNodeLabelStore" };
|
|
|
assertEquals(0, rmAdminCLI.run(args));
|
|
|
assertTrue(dummyNodeLabelsManager.getNodeLabels().containsKey(
|
|
|
- NodeId.newInstance("node1", 0)));
|
|
|
+ NodeId.newInstance("node1", 8000)));
|
|
|
assertTrue(dummyNodeLabelsManager.getNodeLabels().containsKey(
|
|
|
- NodeId.newInstance("node2", 0)));
|
|
|
-
|
|
|
+ NodeId.newInstance("node2", 8000)));
|
|
|
+ assertTrue(dummyNodeLabelsManager.getNodeLabels().containsKey(
|
|
|
+ NodeId.newInstance("node3", 0)));
|
|
|
+ assertTrue(dummyNodeLabelsManager.getNodeLabels().containsKey(
|
|
|
+ NodeId.newInstance("node4", 0)));
|
|
|
+
|
|
|
// no labels, should fail
|
|
|
args = new String[] { "-replaceLabelsOnNode" };
|
|
|
assertTrue(0 != rmAdminCLI.run(args));
|
|
|
-
|
|
|
+
|
|
|
// no labels, should fail
|
|
|
args =
|
|
|
- new String[] { "-replaceLabelsOnNode",
|
|
|
- "-directlyAccessNodeLabelStore" };
|
|
|
+ new String[] { "-replaceLabelsOnNode", "-directlyAccessNodeLabelStore" };
|
|
|
assertTrue(0 != rmAdminCLI.run(args));
|
|
|
|
|
|
// no labels, should fail
|
|
@@ -529,20 +541,6 @@ public class TestRMAdminCLI {
|
|
|
assertTrue(0 != rmAdminCLI.run(args));
|
|
|
}
|
|
|
|
|
|
- @Test
|
|
|
- public void testReplaceLabelsOnNodeWithPort() throws Exception {
|
|
|
- // Successfully replace labels
|
|
|
- dummyNodeLabelsManager.addToCluserNodeLabels(ImmutableSet.of("x", "y"));
|
|
|
- String[] args =
|
|
|
- { "-replaceLabelsOnNode", "node1:8000,x,y node2:8000,y",
|
|
|
- "-directlyAccessNodeLabelStore" };
|
|
|
- assertEquals(0, rmAdminCLI.run(args));
|
|
|
- assertTrue(dummyNodeLabelsManager.getNodeLabels().containsKey(
|
|
|
- NodeId.newInstance("node1", 8000)));
|
|
|
- assertTrue(dummyNodeLabelsManager.getNodeLabels().containsKey(
|
|
|
- NodeId.newInstance("node2", 8000)));
|
|
|
- }
|
|
|
-
|
|
|
private void testError(String[] args, String template,
|
|
|
ByteArrayOutputStream data, int resultCode) throws Exception {
|
|
|
int actualResultCode = rmAdminCLI.run(args);
|