Replace Unified* services with MembershipService for subgroup membership
Change-Id: Iabff173ce3501d1ed300513cac445bb712614bd9
diff --git a/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java b/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java
index 410b137..9fdd7a2 100644
--- a/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java
+++ b/core/net/src/main/java/org/onosproject/upgrade/impl/UpgradeManager.java
@@ -28,9 +28,10 @@
import org.apache.felix.scr.annotations.Service;
import org.onosproject.cluster.ClusterEvent;
import org.onosproject.cluster.ClusterEventListener;
+import org.onosproject.cluster.ClusterService;
import org.onosproject.cluster.ControllerNode;
+import org.onosproject.cluster.MembershipService;
import org.onosproject.cluster.NodeId;
-import org.onosproject.cluster.UnifiedClusterService;
import org.onosproject.core.Version;
import org.onosproject.core.VersionService;
import org.onosproject.event.AbstractListenerManager;
@@ -70,7 +71,10 @@
protected CoordinationService coordinationService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected UnifiedClusterService clusterService;
+ protected ClusterService clusterService;
+
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ protected MembershipService membershipService;
private Version localVersion;
private AtomicValue<Upgrade> state;
@@ -243,13 +247,8 @@
}
// Determine whether any nodes have not been upgraded to the target version.
- boolean upgradeComplete = clusterService.getNodes()
- .stream()
- .allMatch(node -> {
- ControllerNode.State state = clusterService.getState(node.id());
- Version version = clusterService.getVersion(node.id());
- return state.isActive() && version != null && version.equals(upgraded.target());
- });
+ boolean upgradeComplete = membershipService.getGroups().size() == 1
+ && membershipService.getLocalGroup().version().equals(upgraded.target());
// If some nodes have not yet been upgraded, throw an exception.
if (!upgradeComplete) {
@@ -333,13 +332,8 @@
}
// Determine whether any nodes are still running the target version.
- boolean rollbackComplete = clusterService.getNodes()
- .stream()
- .allMatch(node -> {
- ControllerNode.State state = clusterService.getState(node.id());
- Version version = clusterService.getVersion(node.id());
- return state.isActive() && version != null && version.equals(upgraded.source());
- });
+ boolean rollbackComplete = membershipService.getGroups().size() == 1
+ && membershipService.getLocalGroup().version().equals(upgraded.source());
// If some nodes have not yet been downgraded, throw an exception.
if (!rollbackComplete) {