From f9ee2cce797cf12402dd55c406f3e270d7d2e20d Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 2 Jan 2020 13:20:37 +0100 Subject: [PATCH] Split out sal-distributed-eos This splits out entity ownership implementation from sal-distributed-datastore. Key point here is that the tie with CDS is an implementation detail, which is subject to future revision (for example by using purely raft-based-approach). JIRA: CONTROLLER-1922 Change-Id: Ia62b0a14991e64424b08e0d4274b0e8eaffdacbd Signed-off-by: Robert Varga --- .../odl-mdsal-distributed-datastore/pom.xml | 4 + opendaylight/md-sal/mdsal-artifacts/pom.xml | 5 + opendaylight/md-sal/pom.xml | 1 + .../md-sal/sal-distributed-datastore/pom.xml | 6 +- .../blueprint/clustered-datastore.xml | 19 --- .../datastore/model/SchemaContextHelper.java | 6 - .../md-sal/sal-distributed-eos/pom.xml | 76 ++++++++++++ .../AbstractEntityOwnerChangeListener.java | 8 +- .../CandidateListChangeListener.java | 14 +-- ...dEntityOwnershipCandidateRegistration.java | 2 +- ...edEntityOwnershipListenerRegistration.java | 2 +- .../DistributedEntityOwnershipService.java | 22 ++-- .../EntityOwnerChangeListener.java | 4 +- .../entityownership/EntityOwnersModel.java | 2 +- .../EntityOwnershipChangePublisher.java | 2 +- .../EntityOwnershipListenerActor.java | 2 +- .../EntityOwnershipListenerSupport.java | 2 +- .../entityownership/EntityOwnershipShard.java | 50 ++++---- ...EntityOwnershipShardCommitCoordinator.java | 4 +- .../EntityOwnershipStatistics.java | 4 +- .../messages/CandidateAdded.java | 6 +- .../messages/CandidateRemoved.java | 7 +- .../messages/RegisterCandidateLocal.java | 4 +- .../messages/RegisterListenerLocal.java | 2 +- .../messages/RemoveAllCandidates.java | 4 +- .../entityownership/messages/SelectOwner.java | 4 +- .../messages/UnregisterCandidateLocal.java | 4 +- .../messages/UnregisterListenerLocal.java | 4 +- .../AbstractEntityOwnerSelectionStrategy.java | 6 +- .../EntityOwnerSelectionStrategy.java | 3 +- .../EntityOwnerSelectionStrategyConfig.java | 3 +- ...ityOwnerSelectionStrategyConfigReader.java | 5 +- .../FirstCandidateSelectionStrategy.java | 8 +- ...LeastLoadedCandidateSelectionStrategy.java | 7 +- .../OSGI-INF/blueprint/distributed-eos.xml | 26 ++++ .../src/main/yang/entity-owners.yang | 0 ...AbstractClusterRefEntityOwnershipTest.java | 2 +- .../AbstractEntityOwnershipTest.java | 18 +-- .../CandidateListChangeListenerTest.java | 17 ++- ...ributedEntityOwnershipIntegrationTest.java | 111 +++++++++--------- ...DistributedEntityOwnershipServiceTest.java | 36 +++--- .../cluster/entityownership/EOSTestUtils.java | 21 ++++ .../EntityOwnerChangeListenerTest.java | 13 +- .../EntityOwnershipListenerActorTest.java | 2 +- .../EntityOwnershipListenerSupportTest.java | 2 +- .../EntityOwnershipShardTest.java | 30 ++--- .../EntityOwnershipStatisticsTest.java | 14 +-- ...wnerSelectionStrategyConfigReaderTest.java | 25 ++-- .../LastCandidateSelectionStrategy.java | 2 +- ...tLoadedCandidateSelectionStrategyTest.java | 2 +- 50 files changed, 355 insertions(+), 268 deletions(-) create mode 100644 opendaylight/md-sal/sal-distributed-eos/pom.xml rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/AbstractEntityOwnerChangeListener.java (77%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/CandidateListChangeListener.java (88%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/DistributedEntityOwnershipCandidateRegistration.java (94%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/DistributedEntityOwnershipListenerRegistration.java (96%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/DistributedEntityOwnershipService.java (91%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnerChangeListener.java (94%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnersModel.java (99%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipChangePublisher.java (90%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipListenerActor.java (97%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipListenerSupport.java (99%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipShard.java (92%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipShardCommitCoordinator.java (98%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipStatistics.java (94%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/CandidateAdded.java (85%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/CandidateRemoved.java (85%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/RegisterCandidateLocal.java (85%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/RegisterListenerLocal.java (94%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/RemoveAllCandidates.java (87%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/SelectOwner.java (89%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/UnregisterCandidateLocal.java (85%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/messages/UnregisterListenerLocal.java (85%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java (79%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java (92%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java (97%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java (94%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java (76%) rename opendaylight/md-sal/{sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java (86%) create mode 100644 opendaylight/md-sal/sal-distributed-eos/src/main/resources/OSGI-INF/blueprint/distributed-eos.xml rename opendaylight/md-sal/{sal-distributed-datastore => sal-distributed-eos}/src/main/yang/entity-owners.yang (100%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/AbstractClusterRefEntityOwnershipTest.java (93%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/AbstractEntityOwnershipTest.java (93%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/CandidateListChangeListenerTest.java (85%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/DistributedEntityOwnershipIntegrationTest.java (92%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/DistributedEntityOwnershipServiceTest.java (88%) create mode 100644 opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EOSTestUtils.java rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnerChangeListenerTest.java (91%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipListenerActorTest.java (98%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipListenerSupportTest.java (99%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipShardTest.java (97%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/EntityOwnershipStatisticsTest.java (91%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java (77%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java (90%) rename opendaylight/md-sal/{sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore => sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster}/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java (97%) diff --git a/features/mdsal/odl-mdsal-distributed-datastore/pom.xml b/features/mdsal/odl-mdsal-distributed-datastore/pom.xml index 5f8f37dc0a..32c3102324 100644 --- a/features/mdsal/odl-mdsal-distributed-datastore/pom.xml +++ b/features/mdsal/odl-mdsal-distributed-datastore/pom.xml @@ -109,6 +109,10 @@ ${project.groupId} sal-distributed-datastore + + ${project.groupId} + sal-distributed-eos + ${project.groupId} sal-cluster-admin-api diff --git a/opendaylight/md-sal/mdsal-artifacts/pom.xml b/opendaylight/md-sal/mdsal-artifacts/pom.xml index 24c3d4255b..40bc832841 100644 --- a/opendaylight/md-sal/mdsal-artifacts/pom.xml +++ b/opendaylight/md-sal/mdsal-artifacts/pom.xml @@ -179,6 +179,11 @@ sal-distributed-datastore ${project.version} + + ${project.groupId} + sal-distributed-eos + ${project.version} + ${project.groupId} sal-remoterpc-connector diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml index 43653b8cc4..5978e41a66 100644 --- a/opendaylight/md-sal/pom.xml +++ b/opendaylight/md-sal/pom.xml @@ -58,6 +58,7 @@ sal-dummy-distributed-datastore sal-cluster-admin-api sal-cluster-admin-impl + sal-distributed-eos sal-test-model diff --git a/opendaylight/md-sal/sal-distributed-datastore/pom.xml b/opendaylight/md-sal/sal-distributed-datastore/pom.xml index b062191c97..775f5c7198 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/pom.xml +++ b/opendaylight/md-sal/sal-distributed-datastore/pom.xml @@ -141,10 +141,6 @@ org.opendaylight.mdsal mdsal-dom-api - - org.opendaylight.mdsal - mdsal-eos-dom-api - org.opendaylight.mdsal mdsal-dom-spi @@ -249,7 +245,9 @@ org.opendaylight.controller.cluster.datastore; org.opendaylight.controller.cluster.datastore.config; org.opendaylight.controller.cluster.datastore.exceptions; + org.opendaylight.controller.cluster.datastore.identifiers; org.opendaylight.controller.cluster.datastore.messages; + org.opendaylight.controller.cluster.datastore.modification; org.opendaylight.controller.cluster.datastore.persisted; org.opendaylight.controller.cluster.datastore.utils; org.opendaylight.controller.cluster.datastore.jmx.mbeans.shard; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/OSGI-INF/blueprint/clustered-datastore.xml b/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/OSGI-INF/blueprint/clustered-datastore.xml index 36e768ab13..ac3d982729 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/OSGI-INF/blueprint/clustered-datastore.xml +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/OSGI-INF/blueprint/clustered-datastore.xml @@ -175,25 +175,6 @@ - - - - - - - - - - - - - - - - diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java index 7f8b7483a4..c98044af32 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java @@ -5,10 +5,8 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.md.cluster.datastore.model; -import java.io.File; import java.io.InputStream; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; @@ -41,8 +39,4 @@ public final class SchemaContextHelper { return YangParserTestUtils.parseYangResources(SchemaContextHelper.class, ODL_DATASTORE_TEST_YANG, "/META-INF/yang/prefix-shard-configuration@2017-01-10.yang"); } - - public static SchemaContext entityOwners() { - return YangParserTestUtils.parseYangFiles(new File("src/main/yang/entity-owners.yang")); - } } diff --git a/opendaylight/md-sal/sal-distributed-eos/pom.xml b/opendaylight/md-sal/sal-distributed-eos/pom.xml new file mode 100644 index 0000000000..b513b97f84 --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-eos/pom.xml @@ -0,0 +1,76 @@ + + + 4.0.0 + + org.opendaylight.controller + mdsal-parent + 1.11.0-SNAPSHOT + ../parent + + + sal-distributed-eos + 1.11.0-SNAPSHOT + bundle + + + + org.opendaylight.mdsal + mdsal-eos-dom-api + + + + org.osgi + org.osgi.core + + + + org.opendaylight.controller + sal-distributed-datastore + + + + commons-lang + commons-lang + test + + + com.typesafe.akka + akka-testkit_2.12 + test + + + org.opendaylight.controller + sal-akka-raft-example + test + + + org.opendaylight.controller + sal-akka-raft + test-jar + test + + + org.opendaylight.controller + sal-distributed-datastore + 1.11.0-SNAPSHOT + test-jar + test + + + org.slf4j + slf4j-simple + test + + + org.opendaylight.yangtools + yang-test-util + + + + + scm:git:http://git.opendaylight.org/gerrit/controller.git + scm:git:ssh://git.opendaylight.org:29418/controller.git + HEAD + https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Architecture:Clustering + + diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnerChangeListener.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/AbstractEntityOwnerChangeListener.java similarity index 77% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnerChangeListener.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/AbstractEntityOwnerChangeListener.java index 25f1790775..f7d1da7853 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnerChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/AbstractEntityOwnerChangeListener.java @@ -5,11 +5,11 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_QNAME; import java.util.Optional; import org.opendaylight.controller.cluster.datastore.ShardDataTree; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/CandidateListChangeListener.java similarity index 88% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/CandidateListChangeListener.java index f96d15588b..81ef3e7a32 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/CandidateListChangeListener.java @@ -5,13 +5,13 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static java.util.Objects.requireNonNull; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NAME_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.CANDIDATE_NAME_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_QNAME; import akka.actor.ActorRef; import java.util.ArrayList; @@ -23,8 +23,8 @@ import java.util.List; import java.util.Map; import java.util.Optional; import org.opendaylight.controller.cluster.datastore.ShardDataTree; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateAdded; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateRemoved; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateAdded; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateRemoved; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.entity.owners.EntityType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.entity.owners.entity.type.entity.Candidate; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipCandidateRegistration.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipCandidateRegistration.java similarity index 94% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipCandidateRegistration.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipCandidateRegistration.java index 4d65c55b83..4888f6ed76 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipCandidateRegistration.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipCandidateRegistration.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipCandidateRegistration; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipListenerRegistration.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipListenerRegistration.java similarity index 96% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipListenerRegistration.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipListenerRegistration.java index 7d1184aab9..bb4e31c7c8 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipListenerRegistration.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipListenerRegistration.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static java.util.Objects.requireNonNull; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipService.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipService.java similarity index 91% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipService.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipService.java index ca9ef6338d..f1fe8d7ed5 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipService.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipService.java @@ -5,12 +5,12 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static java.util.Objects.requireNonNull; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.CANDIDATE_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNER_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; import akka.actor.ActorRef; import akka.dispatch.OnComplete; @@ -28,15 +28,15 @@ import java.util.concurrent.TimeoutException; import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.config.Configuration; import org.opendaylight.controller.cluster.datastore.config.ModuleShardConfiguration; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.controller.cluster.datastore.messages.CreateShard; import org.opendaylight.controller.cluster.datastore.messages.GetShardDataTree; import org.opendaylight.controller.cluster.datastore.shardstrategy.ModuleShardStrategy; import org.opendaylight.controller.cluster.datastore.utils.ActorUtils; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.mdsal.eos.common.api.CandidateAlreadyRegisteredException; import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; @@ -90,7 +90,7 @@ public class DistributedEntityOwnershipService implements DOMEntityOwnershipServ newShardBuilder(context, strategyConfig), null); Future createFuture = context.executeOperationAsync(shardManagerActor, createShard, MESSAGE_TIMEOUT); - createFuture.onComplete(new OnComplete() { + createFuture.onComplete(new OnComplete<>() { @Override public void onComplete(final Throwable failure, final Object response) { if (failure != null) { @@ -106,7 +106,7 @@ public class DistributedEntityOwnershipService implements DOMEntityOwnershipServ private void executeEntityOwnershipShardOperation(final ActorRef shardActor, final Object message) { Future future = context.executeOperationAsync(shardActor, message, MESSAGE_TIMEOUT); - future.onComplete(new OnComplete() { + future.onComplete(new OnComplete<>() { @Override public void onComplete(final Throwable failure, final Object response) { if (failure != null) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnerChangeListener.java similarity index 94% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnerChangeListener.java index 38dbae3865..af45b7833b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnerChangeListener.java @@ -5,11 +5,11 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static com.google.common.base.Verify.verifyNotNull; import static java.util.Objects.requireNonNull; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.createEntity; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.createEntity; import com.google.common.base.Strings; import java.util.Collection; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnersModel.java similarity index 99% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnersModel.java index 73be12419c..6670389156 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnersModel.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnersModel.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import java.util.Map.Entry; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipChangePublisher.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipChangePublisher.java similarity index 90% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipChangePublisher.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipChangePublisher.java index eb1e188f50..18f7ba152e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipChangePublisher.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipChangePublisher.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerActor.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerActor.java similarity index 97% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerActor.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerActor.java index 037f6b66f7..40e278abc6 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerActor.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerActor.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static java.util.Objects.requireNonNull; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupport.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerSupport.java similarity index 99% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupport.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerSupport.java index 0c4a646efe..c6a710f991 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupport.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerSupport.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import akka.actor.ActorContext; import akka.actor.ActorRef; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShard.java similarity index 92% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShard.java index cd97b0bcdd..42ac18ef4a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShard.java @@ -5,23 +5,23 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static java.util.Objects.requireNonNull; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NAME_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_ID_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_TYPES_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_TYPE_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_TYPE_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.candidateNodeKey; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.candidatePath; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityOwnersWithCandidate; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.CANDIDATE_NAME_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.CANDIDATE_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_ID_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNER_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_TYPES_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_TYPE_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_TYPE_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.candidateNodeKey; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.candidatePath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityOwnersWithCandidate; import akka.actor.ActorRef; import akka.actor.ActorSelection; @@ -46,16 +46,6 @@ import java.util.concurrent.TimeUnit; import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.DatastoreContext; import org.opendaylight.controller.cluster.datastore.Shard; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateAdded; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateRemoved; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RemoveAllCandidates; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.SelectOwner; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategy; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier; import org.opendaylight.controller.cluster.datastore.messages.BatchedModifications; import org.opendaylight.controller.cluster.datastore.messages.PeerDown; @@ -65,6 +55,16 @@ import org.opendaylight.controller.cluster.datastore.modification.DeleteModifica import org.opendaylight.controller.cluster.datastore.modification.MergeModification; import org.opendaylight.controller.cluster.datastore.modification.Modification; import org.opendaylight.controller.cluster.datastore.modification.WriteModification; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateAdded; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateRemoved; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.messages.RemoveAllCandidates; +import org.opendaylight.controller.cluster.entityownership.messages.SelectOwner; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategy; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.controller.cluster.raft.RaftState; import org.opendaylight.controller.cluster.raft.VotingState; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShardCommitCoordinator.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShardCommitCoordinator.java similarity index 98% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShardCommitCoordinator.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShardCommitCoordinator.java index eaca661619..3402b23e72 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShardCommitCoordinator.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShardCommitCoordinator.java @@ -5,10 +5,10 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static java.util.Objects.requireNonNull; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; import akka.actor.ActorRef; import akka.actor.Cancellable; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipStatistics.java similarity index 94% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipStatistics.java index b09356dcc1..6f0f9c3bdf 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipStatistics.java @@ -5,9 +5,9 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityTypeFromEntityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityTypeFromEntityPath; import com.google.common.base.Strings; import java.util.Collection; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/CandidateAdded.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/CandidateAdded.java similarity index 85% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/CandidateAdded.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/CandidateAdded.java index 6340880daa..2fb6bda68c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/CandidateAdded.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/CandidateAdded.java @@ -5,8 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import java.util.Collection; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -22,7 +21,8 @@ public class CandidateAdded { private final Collection allCandidates; private final String newCandidate; - public CandidateAdded(YangInstanceIdentifier entityPath, String newCandidate, Collection allCandidates) { + public CandidateAdded(final YangInstanceIdentifier entityPath, final String newCandidate, + final Collection allCandidates) { this.entityPath = entityPath; this.newCandidate = newCandidate; this.allCandidates = allCandidates; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/CandidateRemoved.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/CandidateRemoved.java similarity index 85% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/CandidateRemoved.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/CandidateRemoved.java index 64a333f2f1..d3e659c421 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/CandidateRemoved.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/CandidateRemoved.java @@ -5,8 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import java.util.Collection; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -22,8 +21,8 @@ public class CandidateRemoved { private final String removedCandidate; private final Collection remainingCandidates; - public CandidateRemoved(YangInstanceIdentifier entityPath, String removedCandidate, - Collection remainingCandidates) { + public CandidateRemoved(final YangInstanceIdentifier entityPath, final String removedCandidate, + final Collection remainingCandidates) { this.entityPath = entityPath; this.removedCandidate = removedCandidate; this.remainingCandidates = remainingCandidates; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RegisterCandidateLocal.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RegisterCandidateLocal.java similarity index 85% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RegisterCandidateLocal.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RegisterCandidateLocal.java index 34500334b0..3e70d2b273 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RegisterCandidateLocal.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RegisterCandidateLocal.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.eos.dom.api.DOMEntity; public class RegisterCandidateLocal { private final DOMEntity entity; - public RegisterCandidateLocal(DOMEntity entity) { + public RegisterCandidateLocal(final DOMEntity entity) { this.entity = entity; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RegisterListenerLocal.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RegisterListenerLocal.java similarity index 94% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RegisterListenerLocal.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RegisterListenerLocal.java index 4dce320c15..2c9ebabaa4 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RegisterListenerLocal.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RegisterListenerLocal.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import static java.util.Objects.requireNonNull; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RemoveAllCandidates.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RemoveAllCandidates.java similarity index 87% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RemoveAllCandidates.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RemoveAllCandidates.java index 17f80cd6ff..843a3dc54f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/RemoveAllCandidates.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/RemoveAllCandidates.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import java.io.Serializable; import org.opendaylight.controller.cluster.access.concepts.MemberName; @@ -20,7 +20,7 @@ public class RemoveAllCandidates implements Serializable { private final MemberName memberName; - public RemoveAllCandidates(MemberName memberName) { + public RemoveAllCandidates(final MemberName memberName) { this.memberName = memberName; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/SelectOwner.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/SelectOwner.java similarity index 89% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/SelectOwner.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/SelectOwner.java index cdb8c925ee..e7307bfe47 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/SelectOwner.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/SelectOwner.java @@ -5,12 +5,12 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import static java.util.Objects.requireNonNull; import java.util.Collection; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategy; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategy; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/UnregisterCandidateLocal.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/UnregisterCandidateLocal.java similarity index 85% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/UnregisterCandidateLocal.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/UnregisterCandidateLocal.java index 8a94fab7cc..7c4cabb665 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/UnregisterCandidateLocal.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/UnregisterCandidateLocal.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.eos.dom.api.DOMEntity; public class UnregisterCandidateLocal { private final DOMEntity entity; - public UnregisterCandidateLocal(DOMEntity entity) { + public UnregisterCandidateLocal(final DOMEntity entity) { this.entity = entity; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/UnregisterListenerLocal.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/UnregisterListenerLocal.java similarity index 85% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/UnregisterListenerLocal.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/UnregisterListenerLocal.java index 03db369b01..1652c33086 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/messages/UnregisterListenerLocal.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/messages/UnregisterListenerLocal.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.messages; +package org.opendaylight.controller.cluster.entityownership.messages; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipListener; @@ -18,7 +18,7 @@ public class UnregisterListenerLocal { private final DOMEntityOwnershipListener listener; private final String entityType; - public UnregisterListenerLocal(DOMEntityOwnershipListener listener, String entityType) { + public UnregisterListenerLocal(final DOMEntityOwnershipListener listener, final String entityType) { this.listener = listener; this.entityType = entityType; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java similarity index 79% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java index a757f493b3..23cd5be3c2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/AbstractEntityOwnerSelectionStrategy.java @@ -5,8 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import java.util.Map; @@ -15,7 +14,8 @@ public abstract class AbstractEntityOwnerSelectionStrategy implements EntityOwne private final long selectionDelayInMillis; private final Map initialStatistics; - protected AbstractEntityOwnerSelectionStrategy(long selectionDelayInMillis, Map initialStatistics) { + protected AbstractEntityOwnerSelectionStrategy(final long selectionDelayInMillis, + final Map initialStatistics) { this.selectionDelayInMillis = selectionDelayInMillis; this.initialStatistics = initialStatistics; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java similarity index 92% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java index 38cfabb18d..df19a6541a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategy.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import java.util.Collection; import org.eclipse.jdt.annotation.Nullable; @@ -22,7 +22,6 @@ public interface EntityOwnerSelectionStrategy { */ long getSelectionDelayInMillis(); - /** * Selects a new owner from the list of viable candidates. * diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java similarity index 97% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java index a5ffc49a0e..fb6b2783b1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfig.java @@ -5,8 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java similarity index 94% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java index 2d504cd6aa..8bac3dd301 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReader.java @@ -5,13 +5,12 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import com.google.common.base.Preconditions; import java.util.Map; import java.util.Map.Entry; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig.Builder; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig.Builder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java similarity index 76% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java index c4c93b7842..9a18f72e76 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/FirstCandidateSelectionStrategy.java @@ -5,8 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import com.google.common.base.Preconditions; import java.util.Collection; @@ -21,12 +20,13 @@ public class FirstCandidateSelectionStrategy extends AbstractEntityOwnerSelectio public static final FirstCandidateSelectionStrategy INSTANCE = new FirstCandidateSelectionStrategy(0L, Collections.emptyMap()); - public FirstCandidateSelectionStrategy(long selectionDelayInMillis, Map initialStatistics) { + public FirstCandidateSelectionStrategy(final long selectionDelayInMillis, + final Map initialStatistics) { super(selectionDelayInMillis, initialStatistics); } @Override - public String newOwner(String currentOwner, Collection viableCandidates) { + public String newOwner(final String currentOwner, final Collection viableCandidates) { Preconditions.checkArgument(viableCandidates.size() > 0, "No viable candidates provided"); return viableCandidates.iterator().next(); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java similarity index 86% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java rename to opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java index 5bd78ff101..2ef4426ddd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategy.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; @@ -22,14 +22,15 @@ import java.util.Map; public class LeastLoadedCandidateSelectionStrategy extends AbstractEntityOwnerSelectionStrategy { private final Map localStatistics = new HashMap<>(); - protected LeastLoadedCandidateSelectionStrategy(long selectionDelayInMillis, Map initialStatistics) { + protected LeastLoadedCandidateSelectionStrategy(final long selectionDelayInMillis, + final Map initialStatistics) { super(selectionDelayInMillis, initialStatistics); localStatistics.putAll(initialStatistics); } @Override - public String newOwner(String currentOwner, Collection viableCandidates) { + public String newOwner(final String currentOwner, final Collection viableCandidates) { Preconditions.checkArgument(viableCandidates.size() > 0); String leastLoadedCandidate = null; long leastLoadedCount = Long.MAX_VALUE; diff --git a/opendaylight/md-sal/sal-distributed-eos/src/main/resources/OSGI-INF/blueprint/distributed-eos.xml b/opendaylight/md-sal/sal-distributed-eos/src/main/resources/OSGI-INF/blueprint/distributed-eos.xml new file mode 100644 index 0000000000..aeb10b5082 --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-eos/src/main/resources/OSGI-INF/blueprint/distributed-eos.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/entity-owners.yang b/opendaylight/md-sal/sal-distributed-eos/src/main/yang/entity-owners.yang similarity index 100% rename from opendaylight/md-sal/sal-distributed-datastore/src/main/yang/entity-owners.yang rename to opendaylight/md-sal/sal-distributed-eos/src/main/yang/entity-owners.yang diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractClusterRefEntityOwnershipTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/AbstractClusterRefEntityOwnershipTest.java similarity index 93% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractClusterRefEntityOwnershipTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/AbstractClusterRefEntityOwnershipTest.java index 4c8cfcc25b..6d127c366c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractClusterRefEntityOwnershipTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/AbstractClusterRefEntityOwnershipTest.java @@ -6,7 +6,7 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import akka.actor.ActorSystem; import akka.testkit.javadsl.TestKit; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/AbstractEntityOwnershipTest.java similarity index 93% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/AbstractEntityOwnershipTest.java index 4d6e395131..71c9073187 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/AbstractEntityOwnershipTest.java @@ -5,20 +5,20 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.ArgumentMatchers.argThat; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NAME_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_TYPE_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.candidatePath; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.CANDIDATE_NAME_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNER_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_TYPE_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.candidatePath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; import akka.pattern.Patterns; import akka.testkit.TestActorRef; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListenerTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/CandidateListChangeListenerTest.java similarity index 85% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListenerTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/CandidateListChangeListenerTest.java index d79de61ece..ce71923841 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListenerTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/CandidateListChangeListenerTest.java @@ -5,13 +5,13 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertEquals; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.candidatePath; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityOwnersWithCandidate; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.candidatePath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityOwnersWithCandidate; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; import akka.testkit.javadsl.TestKit; import com.google.common.collect.ImmutableSet; @@ -23,9 +23,8 @@ import org.mockito.MockitoAnnotations; import org.opendaylight.controller.cluster.datastore.AbstractActorTest; import org.opendaylight.controller.cluster.datastore.Shard; import org.opendaylight.controller.cluster.datastore.ShardDataTree; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateAdded; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateRemoved; -import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateAdded; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateRemoved; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -52,7 +51,7 @@ public class CandidateListChangeListenerTest extends AbstractActorTest { @Before public void setup() { MockitoAnnotations.initMocks(this); - shardDataTree = new ShardDataTree(mockShard, SchemaContextHelper.entityOwners(), TreeType.OPERATIONAL); + shardDataTree = new ShardDataTree(mockShard, EOSTestUtils.SCHEMA_CONTEXT, TreeType.OPERATIONAL); } @Test diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipIntegrationTest.java similarity index 92% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipIntegrationTest.java index ad80b86e02..07f071d9b1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipIntegrationTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -18,10 +18,10 @@ import static org.mockito.Mockito.reset; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; import static org.opendaylight.controller.cluster.datastore.MemberNode.verifyRaftState; -import static org.opendaylight.controller.cluster.datastore.entityownership.AbstractEntityOwnershipTest.ownershipChange; -import static org.opendaylight.controller.cluster.datastore.entityownership.DistributedEntityOwnershipService.ENTITY_OWNERSHIP_SHARD_NAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NAME_NODE_ID; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.AbstractEntityOwnershipTest.ownershipChange; +import static org.opendaylight.controller.cluster.entityownership.DistributedEntityOwnershipService.ENTITY_OWNERSHIP_SHARD_NAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.CANDIDATE_NAME_NODE_ID; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; import akka.actor.ActorRef; import akka.actor.Status.Failure; @@ -52,13 +52,12 @@ import org.opendaylight.controller.cluster.datastore.AbstractDataStore; import org.opendaylight.controller.cluster.datastore.DatastoreContext; import org.opendaylight.controller.cluster.datastore.IntegrationTestKit; import org.opendaylight.controller.cluster.datastore.MemberNode; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.controller.cluster.datastore.messages.AddShardReplica; import org.opendaylight.controller.cluster.datastore.messages.ChangeShardMembersVotingStatus; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.controller.cluster.raft.policy.DisableElectionsRaftPolicy; import org.opendaylight.controller.cluster.raft.utils.InMemoryJournal; import org.opendaylight.controller.cluster.raft.utils.InMemorySnapshotStore; -import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipCandidateRegistration; @@ -69,7 +68,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import scala.concurrent.Await; import scala.concurrent.Future; import scala.concurrent.duration.FiniteDuration; @@ -90,8 +88,6 @@ public class DistributedEntityOwnershipIntegrationTest { private static final DOMEntity ENTITY2 = new DOMEntity(ENTITY_TYPE1, "entity2"); private static final DOMEntity ENTITY3 = new DOMEntity(ENTITY_TYPE1, "entity3"); private static final DOMEntity ENTITY4 = new DOMEntity(ENTITY_TYPE1, "entity4"); - private static final SchemaContext SCHEMA_CONTEXT = SchemaContextHelper.entityOwners(); - private final DatastoreContext.Builder leaderDatastoreContextBuilder = DatastoreContext.newBuilder().shardHeartbeatIntervalInMillis(100).shardElectionTimeoutFactor(5) .shardIsolatedLeaderCheckIntervalInMillis(1000000); @@ -137,16 +133,16 @@ public class DistributedEntityOwnershipIntegrationTest { public void testFunctionalityWithThreeNodes() throws Exception { String name = "testFunctionalityWithThreeNodes"; MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(leaderDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); MemberNode follower2Node = MemberNode.builder(memberNodes).akkaConfig("Member3").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); @@ -280,16 +276,16 @@ public class DistributedEntityOwnershipIntegrationTest { String name = "testLeaderEntityOwnersReassignedAfterShutdown"; MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(leaderDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); MemberNode follower2Node = MemberNode.builder(memberNodes).akkaConfig("Member3").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); @@ -363,27 +359,27 @@ public class DistributedEntityOwnershipIntegrationTest { String name = "testLeaderAndFollowerEntityOwnersReassignedAfterShutdown"; final MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1") .useAkkaArtery(false).testName(name) - .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(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(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).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(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).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(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).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(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); @@ -480,16 +476,16 @@ public class DistributedEntityOwnershipIntegrationTest { public void testCloseCandidateRegistrationInQuickSuccession() throws Exception { String name = "testCloseCandidateRegistrationInQuickSuccession"; MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(leaderDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); MemberNode follower2Node = MemberNode.builder(memberNodes).akkaConfig("Member3").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); @@ -562,7 +558,8 @@ public class DistributedEntityOwnershipIntegrationTest { assertTrue("No ownership change message was sent with hasOwner=false", passed); } - private static Optional getValueSafely(ArgumentCaptor captor) { + private static Optional getValueSafely( + final ArgumentCaptor captor) { try { return Optional.ofNullable(captor.getValue()); } catch (MockitoException e) { @@ -581,8 +578,8 @@ public class DistributedEntityOwnershipIntegrationTest { String name = "testEntityOwnershipShardBootstrapping"; String moduleShardsConfig = MODULE_SHARDS_MEMBER_1_CONFIG; MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) - .moduleShardsConfig(moduleShardsConfig).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(leaderDatastoreContextBuilder).build(); + .moduleShardsConfig(moduleShardsConfig).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); final DOMEntityOwnershipService leaderEntityOwnershipService = newOwnershipService(leaderDistributedDataStore); @@ -590,8 +587,8 @@ public class DistributedEntityOwnershipIntegrationTest { leaderNode.kit().waitUntilLeader(leaderNode.configDataStore().getActorUtils(), ENTITY_OWNERSHIP_SHARD_NAME); MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(moduleShardsConfig).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(moduleShardsConfig).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore follower1DistributedDataStore = follower1Node.configDataStore(); follower1DistributedDataStore.waitTillReady(); @@ -632,8 +629,8 @@ public class DistributedEntityOwnershipIntegrationTest { follower1Node.cleanup(); follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(moduleShardsConfig).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(moduleShardsConfig).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); follower1EntityOwnershipService = newOwnershipService(follower1Node.configDataStore()); follower1EntityOwnershipService.registerCandidate(ENTITY1); @@ -651,16 +648,16 @@ public class DistributedEntityOwnershipIntegrationTest { public void testOwnerSelectedOnRapidUnregisteringAndRegisteringOfCandidates() throws Exception { String name = "testOwnerSelectedOnRapidUnregisteringAndRegisteringOfCandidates"; MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(leaderDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); MemberNode follower2Node = MemberNode.builder(memberNodes).akkaConfig("Member3").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); @@ -694,16 +691,16 @@ public class DistributedEntityOwnershipIntegrationTest { public void testOwnerSelectedOnRapidRegisteringAndUnregisteringOfCandidates() throws Exception { String name = "testOwnerSelectedOnRapidRegisteringAndUnregisteringOfCandidates"; MemberNode leaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(leaderDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); MemberNode follower1Node = MemberNode.builder(memberNodes).akkaConfig("Member2").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); MemberNode follower2Node = MemberNode.builder(memberNodes).akkaConfig("Member3").testName(name) - .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(SCHEMA_CONTEXT).createOperDatastore(false) - .datastoreContextBuilder(followerDatastoreContextBuilder).build(); + .moduleShardsConfig(MODULE_SHARDS_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) + .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = leaderNode.configDataStore(); @@ -741,27 +738,27 @@ public class DistributedEntityOwnershipIntegrationTest { String name = "testEntityOwnershipWithNonVotingMembers"; final MemberNode member1LeaderNode = MemberNode.builder(memberNodes).akkaConfig("Member1") .useAkkaArtery(false).testName(name) - .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) .createOperDatastore(false).datastoreContextBuilder(leaderDatastoreContextBuilder).build(); final MemberNode member2FollowerNode = MemberNode.builder(memberNodes).akkaConfig("Member2") .useAkkaArtery(false).testName(name) - .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); final MemberNode member3FollowerNode = MemberNode.builder(memberNodes).akkaConfig("Member3") .useAkkaArtery(false).testName(name) - .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); final MemberNode member4FollowerNode = MemberNode.builder(memberNodes).akkaConfig("Member4") .useAkkaArtery(false).testName(name) - .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); final MemberNode member5FollowerNode = MemberNode.builder(memberNodes).akkaConfig("Member5") .useAkkaArtery(false).testName(name) - .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(SCHEMA_CONTEXT) + .moduleShardsConfig(MODULE_SHARDS_5_NODE_CONFIG).schemaContext(EOSTestUtils.SCHEMA_CONTEXT) .createOperDatastore(false).datastoreContextBuilder(followerDatastoreContextBuilder).build(); AbstractDataStore leaderDistributedDataStore = member1LeaderNode.configDataStore(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipServiceTest.java similarity index 88% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipServiceTest.java index b130134b3c..25f1c0484d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipServiceTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -18,15 +18,15 @@ import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_QNAME; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.candidatePath; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityEntryWithOwner; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityOwnersWithCandidate; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityOwnersWithEntityTypeEntry; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityTypeEntryWithEntityEntry; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_QNAME; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.candidatePath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityEntryWithOwner; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityOwnersWithCandidate; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityOwnersWithEntityTypeEntry; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityTypeEntryWithEntityEntry; import akka.actor.ActorRef; import com.google.common.collect.Sets; @@ -48,13 +48,12 @@ import org.opendaylight.controller.cluster.datastore.ShardDataTree; import org.opendaylight.controller.cluster.datastore.config.Configuration; import org.opendaylight.controller.cluster.datastore.config.ConfigurationImpl; import org.opendaylight.controller.cluster.datastore.config.EmptyModuleShardConfigProvider; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.controller.cluster.datastore.utils.MockClusterWrapper; -import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; import org.opendaylight.mdsal.eos.common.api.CandidateAlreadyRegisteredException; import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; @@ -102,7 +101,7 @@ public class DistributedEntityOwnershipServiceTest extends AbstractClusterRefEnt dataStore = new DistributedDataStore(getSystem(), new MockClusterWrapper(), configuration, mockContextFactory, null); - dataStore.onGlobalContextUpdated(SchemaContextHelper.entityOwners()); + dataStore.onGlobalContextUpdated(EOSTestUtils.SCHEMA_CONTEXT); } @After @@ -225,8 +224,7 @@ public class DistributedEntityOwnershipServiceTest extends AbstractClusterRefEnt dataStore.getActorUtils(), EntityOwnerSelectionStrategyConfig.newBuilder().build())); final Shard mockShard = Mockito.mock(Shard.class); - ShardDataTree shardDataTree = new ShardDataTree(mockShard, SchemaContextHelper.entityOwners(), - TreeType.OPERATIONAL); + ShardDataTree shardDataTree = new ShardDataTree(mockShard, EOSTestUtils.SCHEMA_CONTEXT, TreeType.OPERATIONAL); when(service.getLocalEntityOwnershipShardDataTree()).thenReturn(shardDataTree.getDataTree()); diff --git a/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EOSTestUtils.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EOSTestUtils.java new file mode 100644 index 0000000000..118190a7f4 --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EOSTestUtils.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.cluster.entityownership; + +import java.io.File; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; + +final class EOSTestUtils { + static final SchemaContext SCHEMA_CONTEXT = YangParserTestUtils.parseYangFiles( + new File("src/main/yang/entity-owners.yang")); + + private EOSTestUtils() { + // Hidden on purpose + } +} diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListenerTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnerChangeListenerTest.java similarity index 91% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListenerTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnerChangeListenerTest.java index 8f5e6c1ae2..ccfbbbb4cd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListenerTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnerChangeListenerTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; @@ -13,10 +13,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityEntryWithOwner; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityOwnersWithCandidate; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityEntryWithOwner; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityOwnersWithCandidate; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; import org.junit.Before; import org.junit.Test; @@ -24,7 +24,6 @@ import org.mockito.Mockito; import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.Shard; import org.opendaylight.controller.cluster.datastore.ShardDataTree; -import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -51,7 +50,7 @@ public class EntityOwnerChangeListenerTest { private final Shard mockShard = Mockito.mock(Shard.class); - private final ShardDataTree shardDataTree = new ShardDataTree(mockShard, SchemaContextHelper.entityOwners(), + private final ShardDataTree shardDataTree = new ShardDataTree(mockShard, EOSTestUtils.SCHEMA_CONTEXT, TreeType.OPERATIONAL); private final EntityOwnershipListenerSupport mockListenerSupport = mock(EntityOwnershipListenerSupport.class); private EntityOwnerChangeListener listener; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerActorTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerActorTest.java similarity index 98% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerActorTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerActorTest.java index e655f96135..7b14e739fd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerActorTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerActorTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doThrow; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerSupportTest.java similarity index 99% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerSupportTest.java index b331c99760..00fb6fa1ae 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipListenerSupportTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipListenerSupportTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShardTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShardTest.java similarity index 97% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShardTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShardTest.java index 887336de3d..000ad3b628 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShardTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipShardTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertEquals; import static org.mockito.AdditionalMatchers.or; @@ -44,19 +44,19 @@ import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.DatastoreContext; import org.opendaylight.controller.cluster.datastore.DatastoreContext.Builder; import org.opendaylight.controller.cluster.datastore.ShardTestKit; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.CandidateAdded; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterCandidateLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.messages.UnregisterListenerLocal; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; -import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.LastCandidateSelectionStrategy; import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier; import org.opendaylight.controller.cluster.datastore.messages.BatchedModifications; import org.opendaylight.controller.cluster.datastore.messages.PeerAddressResolved; import org.opendaylight.controller.cluster.datastore.messages.PeerDown; import org.opendaylight.controller.cluster.datastore.messages.PeerUp; import org.opendaylight.controller.cluster.datastore.messages.SuccessReply; +import org.opendaylight.controller.cluster.entityownership.messages.CandidateAdded; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.RegisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterCandidateLocal; +import org.opendaylight.controller.cluster.entityownership.messages.UnregisterListenerLocal; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig; +import org.opendaylight.controller.cluster.entityownership.selectionstrategy.LastCandidateSelectionStrategy; import org.opendaylight.controller.cluster.raft.RaftState; import org.opendaylight.controller.cluster.raft.TestActorFactory; import org.opendaylight.controller.cluster.raft.base.messages.ElectionTimeout; @@ -64,13 +64,11 @@ import org.opendaylight.controller.cluster.raft.base.messages.TimeoutNow; import org.opendaylight.controller.cluster.raft.messages.AppendEntries; import org.opendaylight.controller.cluster.raft.messages.RequestVote; import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor; -import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipChange; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipListener; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; /** * Unit tests for EntityOwnershipShard. @@ -89,7 +87,6 @@ public class EntityOwnershipShardTest extends AbstractEntityOwnershipTest { YangInstanceIdentifier.of(QName.create("test", "2015-08-14", "entity4")); private static final YangInstanceIdentifier ENTITY_ID5 = YangInstanceIdentifier.of(QName.create("test", "2015-08-14", "entity5")); - private static final SchemaContext SCHEMA_CONTEXT = SchemaContextHelper.entityOwners(); private static final String LOCAL_MEMBER_NAME = "local-member-1"; private static final String PEER_MEMBER_1_NAME = "peer-member-1"; private static final String PEER_MEMBER_2_NAME = "peer-member-2"; @@ -1245,10 +1242,13 @@ public class EntityOwnershipShardTest extends AbstractEntityOwnershipTest { private EntityOwnershipShard.Builder newShardBuilder(final ShardIdentifier shardId, final Map peers, final String memberName) { - return EntityOwnershipShard.newBuilder().id(shardId).peerAddresses(peers).datastoreContext( - dataStoreContextBuilder.build()).schemaContextProvider(() -> SCHEMA_CONTEXT).localMemberName( - MemberName.forName(memberName)).ownerSelectionStrategyConfig( - EntityOwnerSelectionStrategyConfig.newBuilder().build()); + return EntityOwnershipShard.newBuilder() + .id(shardId) + .peerAddresses(peers) + .datastoreContext(dataStoreContextBuilder.build()) + .schemaContextProvider(() -> EOSTestUtils.SCHEMA_CONTEXT) + .localMemberName(MemberName.forName(memberName)) + .ownerSelectionStrategyConfig(EntityOwnerSelectionStrategyConfig.newBuilder().build()); } private Map peerMap(final String... peerIds) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatisticsTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipStatisticsTest.java similarity index 91% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatisticsTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipStatisticsTest.java index 652c5279ff..b81f67752e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatisticsTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EntityOwnershipStatisticsTest.java @@ -5,14 +5,13 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - -package org.opendaylight.controller.cluster.datastore.entityownership; +package org.opendaylight.controller.cluster.entityownership; import static org.junit.Assert.assertEquals; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityEntryWithOwner; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityOwnersWithCandidate; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityEntryWithOwner; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityOwnersWithCandidate; +import static org.opendaylight.controller.cluster.entityownership.EntityOwnersModel.entityPath; import java.util.Map; import org.junit.Before; @@ -21,7 +20,6 @@ import org.mockito.Mockito; import org.opendaylight.controller.cluster.datastore.AbstractActorTest; import org.opendaylight.controller.cluster.datastore.Shard; import org.opendaylight.controller.cluster.datastore.ShardDataTree; -import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -40,7 +38,7 @@ public class EntityOwnershipStatisticsTest extends AbstractActorTest { private final Shard mockShard = Mockito.mock(Shard.class); - private final ShardDataTree shardDataTree = new ShardDataTree(mockShard, SchemaContextHelper.entityOwners(), + private final ShardDataTree shardDataTree = new ShardDataTree(mockShard, EOSTestUtils.SCHEMA_CONTEXT, TreeType.OPERATIONAL); private EntityOwnershipStatistics ownershipStatistics; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java similarity index 77% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java index 1f04e5fcf1..b83f85e167 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/EntityOwnerSelectionStrategyConfigReaderTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -15,22 +15,15 @@ import static org.junit.Assert.assertTrue; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import org.junit.Before; import org.junit.Test; -import org.mockito.MockitoAnnotations; public class EntityOwnerSelectionStrategyConfigReaderTest { - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - } - @Test public void testReadStrategies() { final Map props = new java.util.HashMap<>(); - props.put("entity.type.test", "org.opendaylight.controller.cluster.datastore.entityownership." - + "selectionstrategy.LastCandidateSelectionStrategy,100"); + props.put("entity.type.test", + "org.opendaylight.controller.cluster.entityownership.selectionstrategy.LastCandidateSelectionStrategy,100"); final EntityOwnerSelectionStrategyConfig config = EntityOwnerSelectionStrategyConfigReader @@ -72,8 +65,8 @@ public class EntityOwnerSelectionStrategyConfigReaderTest { @Test(expected = IllegalArgumentException.class) public void testReadStrategiesInvalidDelay() { final Map props = new HashMap<>(); - props.put("entity.type.test", "org.opendaylight.controller.cluster.datastore.entityownership." - + "selectionstrategy.LastCandidateSelectionStrategy,foo"); + props.put("entity.type.test", + "org.opendaylight.controller.cluster.entityownership.selectionstrategy.LastCandidateSelectionStrategy,foo"); EntityOwnerSelectionStrategyConfigReader.loadStrategyWithConfig(props); } @@ -87,10 +80,10 @@ public class EntityOwnerSelectionStrategyConfigReaderTest { @Test public void testReadStrategiesMissingDelay() { final Map props = new HashMap<>(); - props.put("entity.type.test", "org.opendaylight.controller.cluster.datastore.entityownership." - + "selectionstrategy.LastCandidateSelectionStrategy,100"); - props.put("entity.type.test1", "org.opendaylight.controller.cluster.datastore.entityownership." - + "selectionstrategy.LastCandidateSelectionStrategy"); + props.put("entity.type.test", + "org.opendaylight.controller.cluster.entityownership.selectionstrategy.LastCandidateSelectionStrategy,100"); + props.put("entity.type.test1", + "org.opendaylight.controller.cluster.entityownership.selectionstrategy.LastCandidateSelectionStrategy"); final EntityOwnerSelectionStrategyConfig config = EntityOwnerSelectionStrategyConfigReader diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java similarity index 90% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java index 3c22cda799..07d6f63e8d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LastCandidateSelectionStrategy.java @@ -6,7 +6,7 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import com.google.common.collect.Iterables; import java.util.Collection; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java similarity index 97% rename from opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java rename to opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java index a7f1657906..73628408d4 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java +++ b/opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/selectionstrategy/LeastLoadedCandidateSelectionStrategyTest.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy; +package org.opendaylight.controller.cluster.entityownership.selectionstrategy; import static org.junit.Assert.assertEquals; -- 2.36.6