X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-cluster-admin-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fadmin%2FClusterAdminRpcServiceTest.java;h=ba00174f24d3de22947ea8f9945c25f34906732f;hp=1362db752e123014c7a6e832262f7bda4a6f00ac;hb=684673104adccd504e394e01a852a06d42047af0;hpb=5f587c3e2bfabc09fec49463d04a6fbeba414e9c diff --git a/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java b/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java index 1362db752e..ba00174f24 100644 --- a/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java +++ b/opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java @@ -26,18 +26,13 @@ import akka.actor.ActorRef; import akka.actor.PoisonPill; import akka.actor.Status.Success; import akka.cluster.Cluster; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import java.io.File; import java.io.FileInputStream; -import java.net.URI; import java.util.AbstractMap.SimpleEntry; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -95,6 +90,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultKey; import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; /** @@ -131,7 +127,8 @@ public class ClusterAdminRpcServiceTest { String fileName = "target/testBackupDatastore"; new File(fileName).delete(); - ClusterAdminRpcService service = new ClusterAdminRpcService(node.configDataStore(), node.operDataStore(), null); + final ClusterAdminRpcService service = new ClusterAdminRpcService(node.configDataStore(), node.operDataStore(), + null, null); RpcResult rpcResult = service .backupDatastore(new BackupDatastoreInputBuilder() .setFilePath(fileName).build()).get(5, TimeUnit.SECONDS); @@ -173,7 +170,7 @@ public class ClusterAdminRpcServiceTest { shardNames.add(s.getName()); } - assertEquals("DatastoreSnapshot shard names", Sets.newHashSet(expShardNames), shardNames); + assertEquals("DatastoreSnapshot shard names", Set.of(expShardNames), shardNames); } @Test @@ -254,7 +251,7 @@ public class ClusterAdminRpcServiceTest { verifyRaftPeersPresent(newReplicaNode2.operDataStore(), "cars", "member-1", "member-3"); // Write data to member-2's config datastore and read/verify via member-3 - final NormalizedNode configCarsNode = writeCarsNodeAndVerify(newReplicaNode2.configDataStore(), + final NormalizedNode configCarsNode = writeCarsNodeAndVerify(newReplicaNode2.configDataStore(), newReplicaNode3.configDataStore()); // Write data to member-3's oper datastore and read/verify via member-2 @@ -295,8 +292,8 @@ public class ClusterAdminRpcServiceTest { MemberNode memberNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) .moduleShardsConfig("module-shards-cars-member-1.conf").build(); - ClusterAdminRpcService service = new ClusterAdminRpcService(memberNode.configDataStore(), - memberNode.operDataStore(), null); + final ClusterAdminRpcService service = new ClusterAdminRpcService(memberNode.configDataStore(), + memberNode.operDataStore(), null, null); RpcResult rpcResult = service.addShardReplica(new AddShardReplicaInputBuilder() .setDataStoreType(DataStoreType.Config).build()).get(10, TimeUnit.SECONDS); @@ -311,10 +308,10 @@ public class ClusterAdminRpcServiceTest { verifyFailedRpcResult(rpcResult); } - private static NormalizedNode writeCarsNodeAndVerify(final AbstractDataStore writeToStore, + private static NormalizedNode writeCarsNodeAndVerify(final AbstractDataStore writeToStore, final AbstractDataStore readFromStore) throws Exception { DOMStoreWriteTransaction writeTx = writeToStore.newWriteOnlyTransaction(); - NormalizedNode carsNode = CarsModel.create(); + NormalizedNode carsNode = CarsModel.create(); writeTx.write(CarsModel.BASE_PATH, carsNode); DOMStoreThreePhaseCommitCohort cohort = writeTx.ready(); @@ -328,8 +325,8 @@ public class ClusterAdminRpcServiceTest { } private static void readCarsNodeAndVerify(final AbstractDataStore readFromStore, - final NormalizedNode expCarsNode) throws Exception { - Optional> optional = readFromStore.newReadOnlyTransaction().read(CarsModel.BASE_PATH) + final NormalizedNode expCarsNode) throws Exception { + Optional optional = readFromStore.newReadOnlyTransaction().read(CarsModel.BASE_PATH) .get(15, TimeUnit.SECONDS); assertTrue("isPresent", optional.isPresent()); assertEquals("Data node", expCarsNode, optional.get()); @@ -339,8 +336,8 @@ public class ClusterAdminRpcServiceTest { final String... peerMemberNames) throws Exception { memberNode.waitForMembersUp(peerMemberNames); - ClusterAdminRpcService service = new ClusterAdminRpcService(memberNode.configDataStore(), - memberNode.operDataStore(), null); + final ClusterAdminRpcService service = new ClusterAdminRpcService(memberNode.configDataStore(), + memberNode.operDataStore(), null, null); RpcResult rpcResult = service.addShardReplica(new AddShardReplicaInputBuilder() .setShardName(shardName).setDataStoreType(DataStoreType.Config).build()).get(10, TimeUnit.SECONDS); @@ -360,8 +357,8 @@ public class ClusterAdminRpcServiceTest { private static void doMakeShardLeaderLocal(final MemberNode memberNode, final String shardName, final String newLeader) throws Exception { - ClusterAdminRpcService service = new ClusterAdminRpcService(memberNode.configDataStore(), - memberNode.operDataStore(), null); + final ClusterAdminRpcService service = new ClusterAdminRpcService(memberNode.configDataStore(), + memberNode.operDataStore(), null, null); final RpcResult rpcResult = service.makeLeaderLocal(new MakeLeaderLocalInputBuilder() .setDataStoreType(DataStoreType.Config).setShardName(shardName).build()) @@ -416,8 +413,8 @@ public class ClusterAdminRpcServiceTest { // Invoke RPC service on member-3 to remove it's local shard - ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), - replicaNode3.operDataStore(), null); + final ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), + replicaNode3.operDataStore(), null, null); RpcResult rpcResult = service3.removeShardReplica(new RemoveShardReplicaInputBuilder() .setShardName("cars").setMemberName("member-3").setDataStoreType(DataStoreType.Config).build()) @@ -441,8 +438,8 @@ public class ClusterAdminRpcServiceTest { // Invoke RPC service on member-1 to remove member-2 - ClusterAdminRpcService service1 = new ClusterAdminRpcService(leaderNode1.configDataStore(), - leaderNode1.operDataStore(), null); + final ClusterAdminRpcService service1 = new ClusterAdminRpcService(leaderNode1.configDataStore(), + leaderNode1.operDataStore(), null, null); rpcResult = service1.removeShardReplica(new RemoveShardReplicaInputBuilder().setShardName("cars") .setMemberName("member-2").setDataStoreType(DataStoreType.Config).build()).get(10, TimeUnit.SECONDS); @@ -477,8 +474,8 @@ public class ClusterAdminRpcServiceTest { // Invoke RPC service on leader member-1 to remove it's local shard - ClusterAdminRpcService service1 = new ClusterAdminRpcService(leaderNode1.configDataStore(), - leaderNode1.operDataStore(), null); + final ClusterAdminRpcService service1 = new ClusterAdminRpcService(leaderNode1.configDataStore(), + leaderNode1.operDataStore(), null, null); RpcResult rpcResult = service1.removeShardReplica(new RemoveShardReplicaInputBuilder() .setShardName("cars").setMemberName("member-1").setDataStoreType(DataStoreType.Config).build()) @@ -501,9 +498,8 @@ public class ClusterAdminRpcServiceTest { MemberNode leaderNode1 = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) .moduleShardsConfig(moduleShardsConfig).waitForShardLeader("cars", "people").build(); - ModuleShardConfiguration petsModuleConfig = new ModuleShardConfiguration(URI.create("pets-ns"), "pets-module", - "pets", null, - Collections.singletonList(MEMBER_1)); + ModuleShardConfiguration petsModuleConfig = new ModuleShardConfiguration( + XMLNamespace.of("pets-ns"), "pets-module", "pets", null, List.of(MEMBER_1)); leaderNode1.configDataStore().getActorUtils().getShardManager().tell( new CreateShard(petsModuleConfig, Shard.builder(), null), leaderNode1.kit().getRef()); leaderNode1.kit().expectMsgClass(Success.class); @@ -520,15 +516,14 @@ public class ClusterAdminRpcServiceTest { newReplicaNode2.kit().expectMsgClass(Success.class); newReplicaNode2.operDataStore().getActorUtils().getShardManager().tell( - new CreateShard(new ModuleShardConfiguration(URI.create("no-leader-ns"), "no-leader-module", - "no-leader", null, - Collections.singletonList(MEMBER_1)), + new CreateShard(new ModuleShardConfiguration(XMLNamespace.of("no-leader-ns"), "no-leader-module", + "no-leader", null, List.of(MEMBER_1)), Shard.builder(), null), newReplicaNode2.kit().getRef()); newReplicaNode2.kit().expectMsgClass(Success.class); - ClusterAdminRpcService service = new ClusterAdminRpcService(newReplicaNode2.configDataStore(), - newReplicaNode2.operDataStore(), null); + final ClusterAdminRpcService service = new ClusterAdminRpcService(newReplicaNode2.configDataStore(), + newReplicaNode2.operDataStore(), null, null); RpcResult rpcResult = service.addReplicasForAllShards( new AddReplicasForAllShardsInputBuilder().build()).get(10, TimeUnit.SECONDS); @@ -567,8 +562,8 @@ public class ClusterAdminRpcServiceTest { verifyRaftPeersPresent(replicaNode2.configDataStore(), "cars", "member-1", "member-3"); verifyRaftPeersPresent(replicaNode3.configDataStore(), "cars", "member-1", "member-2"); - ModuleShardConfiguration petsModuleConfig = new ModuleShardConfiguration(URI.create("pets-ns"), "pets-module", - "pets", null, Arrays.asList(MEMBER_1, MEMBER_2, MEMBER_3)); + ModuleShardConfiguration petsModuleConfig = new ModuleShardConfiguration(XMLNamespace.of("pets-ns"), + "pets-module", "pets", null, List.of(MEMBER_1, MEMBER_2, MEMBER_3)); leaderNode1.configDataStore().getActorUtils().getShardManager().tell( new CreateShard(petsModuleConfig, Shard.builder(), null), leaderNode1.kit().getRef()); leaderNode1.kit().expectMsgClass(Success.class); @@ -585,8 +580,8 @@ public class ClusterAdminRpcServiceTest { verifyRaftPeersPresent(replicaNode2.configDataStore(), "pets", "member-1", "member-3"); verifyRaftPeersPresent(replicaNode3.configDataStore(), "pets", "member-1", "member-2"); - ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), - replicaNode3.operDataStore(), null); + final ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), + replicaNode3.operDataStore(), null, null); RpcResult rpcResult = service3.removeAllShardReplicas( new RemoveAllShardReplicasInputBuilder().setMemberName("member-3").build()).get(10, TimeUnit.SECONDS); @@ -631,13 +626,13 @@ public class ClusterAdminRpcServiceTest { // Invoke RPC service on member-3 to change voting status - ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), - replicaNode3.operDataStore(), null); + final ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), + replicaNode3.operDataStore(), null, null); RpcResult rpcResult = service3 .changeMemberVotingStatesForShard(new ChangeMemberVotingStatesForShardInputBuilder() .setShardName("cars").setDataStoreType(DataStoreType.Config) - .setMemberVotingState(ImmutableList.of( + .setMemberVotingState(List.of( new MemberVotingStateBuilder().setMemberName("member-2").setVoting(FALSE).build(), new MemberVotingStateBuilder().setMemberName("member-3").setVoting(FALSE).build())) .build()) @@ -665,14 +660,16 @@ public class ClusterAdminRpcServiceTest { // Invoke RPC service on member-3 to change voting status - ClusterAdminRpcService service = new ClusterAdminRpcService(leaderNode.configDataStore(), - leaderNode.operDataStore(), null); + final ClusterAdminRpcService service = new ClusterAdminRpcService(leaderNode.configDataStore(), + leaderNode.operDataStore(), null, null); RpcResult rpcResult = service .changeMemberVotingStatesForShard(new ChangeMemberVotingStatesForShardInputBuilder() .setShardName("cars").setDataStoreType(DataStoreType.Config) - .setMemberVotingState(ImmutableList - .of(new MemberVotingStateBuilder().setMemberName("member-1").setVoting(FALSE).build())) + .setMemberVotingState(List.of(new MemberVotingStateBuilder() + .setMemberName("member-1") + .setVoting(FALSE) + .build())) .build()) .get(10, TimeUnit.SECONDS); verifyFailedRpcResult(rpcResult); @@ -705,11 +702,11 @@ public class ClusterAdminRpcServiceTest { // Invoke RPC service on member-3 to change voting status - ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), - replicaNode3.operDataStore(), null); + final ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), + replicaNode3.operDataStore(), null, null); RpcResult rpcResult = service3.changeMemberVotingStatesForAllShards( - new ChangeMemberVotingStatesForAllShardsInputBuilder().setMemberVotingState(ImmutableList.of( + new ChangeMemberVotingStatesForAllShardsInputBuilder().setMemberVotingState(List.of( new MemberVotingStateBuilder().setMemberName("member-2").setVoting(FALSE).build(), new MemberVotingStateBuilder().setMemberName("member-3").setVoting(FALSE).build())).build()) .get(10, TimeUnit.SECONDS); @@ -730,7 +727,7 @@ public class ClusterAdminRpcServiceTest { public void testFlipMemberVotingStates() throws Exception { String name = "testFlipMemberVotingStates"; - ServerConfigurationPayload persistedServerConfig = new ServerConfigurationPayload(Arrays.asList( + ServerConfigurationPayload persistedServerConfig = new ServerConfigurationPayload(List.of( new ServerInfo("member-1", true), new ServerInfo("member-2", true), new ServerInfo("member-3", false))); @@ -757,8 +754,8 @@ public class ClusterAdminRpcServiceTest { verifyVotingStates(leaderNode1.configDataStore(), "cars", new SimpleEntry<>("member-1", TRUE), new SimpleEntry<>("member-2", TRUE), new SimpleEntry<>("member-3", FALSE)); - ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), - replicaNode3.operDataStore(), null); + final ClusterAdminRpcService service3 = new ClusterAdminRpcService(replicaNode3.configDataStore(), + replicaNode3.operDataStore(), null, null); RpcResult rpcResult = service3.flipMemberVotingStatesForAllShards( new FlipMemberVotingStatesForAllShardsInputBuilder().build()).get(10, TimeUnit.SECONDS); @@ -819,7 +816,7 @@ public class ClusterAdminRpcServiceTest { // Members 1, 2, and 3 are initially started up as non-voting. Members 4, 5, and 6 are initially // non-voting and simulated as down by not starting them up. - ServerConfigurationPayload persistedServerConfig = new ServerConfigurationPayload(Arrays.asList( + ServerConfigurationPayload persistedServerConfig = new ServerConfigurationPayload(List.of( new ServerInfo("member-1", false), new ServerInfo("member-2", false), new ServerInfo("member-3", false), new ServerInfo("member-4", true), new ServerInfo("member-5", true), new ServerInfo("member-6", true))); @@ -852,8 +849,8 @@ public class ClusterAdminRpcServiceTest { verifyRaftState(replicaNode1.configDataStore(), "cars", raftState -> assertEquals("Expected raft state", RaftState.Follower.toString(), raftState.getRaftState())); - ClusterAdminRpcService service1 = new ClusterAdminRpcService(replicaNode1.configDataStore(), - replicaNode1.operDataStore(), null); + final ClusterAdminRpcService service1 = new ClusterAdminRpcService(replicaNode1.configDataStore(), + replicaNode1.operDataStore(), null, null); RpcResult rpcResult = service1.flipMemberVotingStatesForAllShards( new FlipMemberVotingStatesForAllShardsInputBuilder().build()).get(10, TimeUnit.SECONDS); @@ -891,7 +888,7 @@ public class ClusterAdminRpcServiceTest { String name = "testFlipMemberVotingStatesWithVotingMembersDown"; // Members 4, 5, and 6 are initially non-voting and simulated as down by not starting them up. - ServerConfigurationPayload persistedServerConfig = new ServerConfigurationPayload(Arrays.asList( + ServerConfigurationPayload persistedServerConfig = new ServerConfigurationPayload(List.of( new ServerInfo("member-1", true), new ServerInfo("member-2", true), new ServerInfo("member-3", true), new ServerInfo("member-4", false), new ServerInfo("member-5", false), new ServerInfo("member-6", false))); @@ -919,8 +916,8 @@ public class ClusterAdminRpcServiceTest { new SimpleEntry<>("member-4", FALSE), new SimpleEntry<>("member-5", FALSE), new SimpleEntry<>("member-6", FALSE)); - ClusterAdminRpcService service1 = new ClusterAdminRpcService(leaderNode1.configDataStore(), - leaderNode1.operDataStore(), null); + final ClusterAdminRpcService service1 = new ClusterAdminRpcService(leaderNode1.configDataStore(), + leaderNode1.operDataStore(), null, null); RpcResult rpcResult = service1.flipMemberVotingStatesForAllShards( new FlipMemberVotingStatesForAllShardsInputBuilder().build()).get(10, TimeUnit.SECONDS); @@ -958,7 +955,7 @@ public class ClusterAdminRpcServiceTest { type + datastoreTypeSuffix).toString(), info.isVoting())); } - String shardID = ShardIdentifier.create(shard, MemberName.forName(member), + final String shardID = ShardIdentifier.create(shard, MemberName.forName(member), type + datastoreTypeSuffix).toString(); InMemoryJournal.addEntry(shardID, 1, new UpdateElectionTerm(1, null)); InMemoryJournal.addEntry(shardID, 2, new SimpleReplicatedLogEntry(0, 1,