From 882481cc64015f96dcd5e9232210cd10005bb813 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 6 May 2019 20:04:10 +0200 Subject: [PATCH] Refactor odl-mdsal-distributed-datastore odl-mdsal-distributed-datastore forms the baseline for supporting akka-based cluster. This refactors it to pull its dependencies in so it can be properly tested. This also moves CommitStatsMXBean, so we do not depend on controller's broker at all. Finally we co-locate all configuration files into this feature, so it can boot up. JIRA: CONTROLLER-1584 Change-Id: I9319de78d61d63e3c49825e940af5c8c70657185 Signed-off-by: Robert Varga --- features/mdsal/odl-mdsal-broker/pom.xml | 40 -------- .../src/main/feature/feature.xml | 27 ------ .../odl-mdsal-distributed-datastore/pom.xml | 93 +++++++++++++++++-- .../src/main/feature/feature.xml | 18 ++++ .../jmx/mbeans}/CommitStatsMXBean.java | 2 +- .../jmx/mbeans}/CommitStatsMXBeanImpl.java | 2 +- .../blueprint/clustered-datastore.xml | 2 +- .../mbeans}/CommitStatsMXBeanImplTest.java | 2 +- 8 files changed, 107 insertions(+), 79 deletions(-) delete mode 100644 features/mdsal/odl-mdsal-broker/src/main/feature/feature.xml rename opendaylight/md-sal/{sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx => sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans}/CommitStatsMXBean.java (95%) rename opendaylight/md-sal/{sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx => sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans}/CommitStatsMXBeanImpl.java (96%) rename opendaylight/md-sal/{sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx => sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans}/CommitStatsMXBeanImplTest.java (94%) diff --git a/features/mdsal/odl-mdsal-broker/pom.xml b/features/mdsal/odl-mdsal-broker/pom.xml index 9c4f959811..8c7d1e6575 100644 --- a/features/mdsal/odl-mdsal-broker/pom.xml +++ b/features/mdsal/odl-mdsal-broker/pom.xml @@ -36,45 +36,5 @@ xml features - - - ${project.groupId} - sal-clustering-config - ${project.version} - xml - akkaconf - - - - ${project.groupId} - sal-clustering-config - ${project.version} - xml - factoryakkaconf - - - - ${project.groupId} - sal-clustering-config - ${project.version} - xml - moduleshardconf - - - - ${project.groupId} - sal-clustering-config - ${project.version} - xml - moduleconf - - - - ${project.groupId} - sal-clustering-config - ${project.version} - cfg - datastore - diff --git a/features/mdsal/odl-mdsal-broker/src/main/feature/feature.xml b/features/mdsal/odl-mdsal-broker/src/main/feature/feature.xml deleted file mode 100644 index 8474cc9b66..0000000000 --- a/features/mdsal/odl-mdsal-broker/src/main/feature/feature.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/akkaconf - - - mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/factoryakkaconf - - - mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/moduleshardconf - - - mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/moduleconf - - - mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/cfg/datastore - - - diff --git a/features/mdsal/odl-mdsal-distributed-datastore/pom.xml b/features/mdsal/odl-mdsal-distributed-datastore/pom.xml index 636ca4e293..435f68a52e 100644 --- a/features/mdsal/odl-mdsal-distributed-datastore/pom.xml +++ b/features/mdsal/odl-mdsal-distributed-datastore/pom.xml @@ -21,13 +21,25 @@ 1.10.0-SNAPSHOT feature - - - true - + OpenDaylight :: Controller :: Clustered Datastore + Controller Clustered Datastore (akka-based) + + org.opendaylight.yangtools + yangtools-artifacts + 3.0.0 + pom + import + + + org.opendaylight.mdsal + mdsal-artifacts + 4.0.0 + pom + import + org.opendaylight.controller mdsal-artifacts @@ -40,14 +52,32 @@ - ${project.groupId} - odl-mdsal-broker-local + org.opendaylight.odlparent + odl-apache-commons-text xml features - org.opendaylight.odlparent - odl-apache-commons-text + org.opendaylight.yangtools + odl-yangtools-codec + xml + features + + + org.opendaylight.mdsal + odl-mdsal-eos-dom + xml + features + + + org.opendaylight.mdsal + odl-mdsal-dom-broker + xml + features + + + org.opendaylight.mdsal + odl-mdsal-binding-dom-adapter xml features @@ -57,6 +87,12 @@ xml features + + ${project.groupId} + odl-controller-blueprint + xml + features + ${project.groupId} cds-access-api @@ -81,5 +117,46 @@ ${project.groupId} sal-cluster-admin-impl + + + + ${project.groupId} + sal-clustering-config + ${project.version} + xml + akkaconf + + + + ${project.groupId} + sal-clustering-config + ${project.version} + xml + factoryakkaconf + + + + ${project.groupId} + sal-clustering-config + ${project.version} + xml + moduleshardconf + + + + ${project.groupId} + sal-clustering-config + ${project.version} + xml + moduleconf + + + + ${project.groupId} + sal-clustering-config + ${project.version} + cfg + datastore + diff --git a/features/mdsal/odl-mdsal-distributed-datastore/src/main/feature/feature.xml b/features/mdsal/odl-mdsal-distributed-datastore/src/main/feature/feature.xml index 96d8ffe621..8da663793e 100644 --- a/features/mdsal/odl-mdsal-distributed-datastore/src/main/feature/feature.xml +++ b/features/mdsal/odl-mdsal-distributed-datastore/src/main/feature/feature.xml @@ -9,5 +9,23 @@ odl-apache-commons-text + odl-yangtools-codec + odl-mdsal-eos-dom + odl-mdsal-dom-broker + + mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/akkaconf + + + mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/factoryakkaconf + + + mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/moduleshardconf + + + mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/moduleconf + + + mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/cfg/datastore + diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBean.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java similarity index 95% rename from opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBean.java rename to opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java index ec4461bf95..1524578234 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBean.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBean.java @@ -6,7 +6,7 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.md.sal.dom.broker.impl.jmx; +package org.opendaylight.controller.cluster.datastore.jmx.mbeans; /** * MXBean interface for retrieving write Tx commit statistics. diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBeanImpl.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBeanImpl.java similarity index 96% rename from opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBeanImpl.java rename to opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBeanImpl.java index 975ea6dbcf..463f42d5f5 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBeanImpl.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBeanImpl.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.md.sal.dom.broker.impl.jmx; +package org.opendaylight.controller.cluster.datastore.jmx.mbeans; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.md.sal.common.util.jmx.AbstractMXBean; 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 13515cde29..36e768ab13 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 @@ -162,7 +162,7 @@ - diff --git a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBeanImplTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBeanImplTest.java similarity index 94% rename from opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBeanImplTest.java rename to opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBeanImplTest.java index 167e8551bf..d5c10d6390 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/jmx/CommitStatsMXBeanImplTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/CommitStatsMXBeanImplTest.java @@ -6,7 +6,7 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.controller.md.sal.dom.broker.impl.jmx; +package org.opendaylight.controller.cluster.datastore.jmx.mbeans; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -- 2.36.6