*/
package org.opendaylight.controller.cluster.entityownership;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.AdditionalMatchers.or;
import static org.mockito.Mockito.doNothing;
String name = "testLeaderAndFollowerEntityOwnersReassignedAfterShutdown";
final MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1")
.useAkkaArtery(false).testName(name)
- .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
+ .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG)
+ .schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
.createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build();
final MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2")
- .useAkkaArtery(false).testName(name)
- .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
+ .testName(name).moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG)
+ .useAkkaArtery(false).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
.createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build();
final MemberNode follower2Node = MemberNode.builder(memberNodes).akkaConfig("Member3")
- .useAkkaArtery(false).testName(name)
- .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
+ .testName(name).moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG)
+ .useAkkaArtery(false).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
.createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build();
final MemberNode follower3Node = MemberNode.builder(memberNodes).akkaConfig("Member4")
- .useAkkaArtery(false).testName(name)
- .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
+ .testName(name).moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG)
+ .useAkkaArtery(false).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
.createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build();
final MemberNode follower4Node = MemberNode.builder(memberNodes).akkaConfig("Member5")
- .useAkkaArtery(false).testName(name)
- .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
+ .testName(name).moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG)
+ .useAkkaArtery(false).schemaContext(EOSTestUtils.SCHEMA_CONTEXT)
.createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build();
AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore();
// Shutdown the leader and follower3
leaderNode.cleanup();
- follower3Node.cleanup();
follower1Node.waitForMemberDown("member-1");
- follower1Node.waitForMemberDown("member-4");
follower2Node.waitForMemberDown("member-1");
- follower2Node.waitForMemberDown("member-4");
follower4Node.waitForMemberDown("member-1");
+
+ follower3Node.cleanup();
+
+ follower1Node.waitForMemberDown("member-4");
+ follower2Node.waitForMemberDown("member-4");
follower4Node.waitForMemberDown("member-4");
// Verify the prior leader's and follower3 entity owners are re-assigned.
AssertionError lastError = null;
Stopwatch sw = Stopwatch.createStarted();
while (sw.elapsed(TimeUnit.MILLISECONDS) <= 10000) {
- Optional<NormalizedNode<?, ?>> possible = dataStore.newReadOnlyTransaction()
+ Optional<NormalizedNode> possible = dataStore.newReadOnlyTransaction()
.read(entityPath(entity.getType(), entity.getIdentifier()).node(Candidate.QNAME))
.get(5, TimeUnit.SECONDS);
try {
assertTrue("Candidates not found for " + entity, possible.isPresent());
Collection<String> actual = new ArrayList<>();
- for (MapEntryNode candidate: ((MapNode)possible.get()).getValue()) {
- actual.add(candidate.getChild(CANDIDATE_NAME_NODE_ID).get().getValue().toString());
+ for (MapEntryNode candidate: ((MapNode)possible.get()).body()) {
+ actual.add(candidate.findChildByArg(CANDIDATE_NAME_NODE_ID).get().body().toString());
}
assertEquals("Candidates for " + entity, Arrays.asList(expCandidates), actual);