[ONOS-4460] Relinquish device role when partitioned away from cluster
Change-Id: I578029614cced96a2d4503e4fe3052c927f051ab
diff --git a/core/api/src/main/java/org/onosproject/cluster/LeadershipEvent.java b/core/api/src/main/java/org/onosproject/cluster/LeadershipEvent.java
index 79bd717..23d42e2 100644
--- a/core/api/src/main/java/org/onosproject/cluster/LeadershipEvent.java
+++ b/core/api/src/main/java/org/onosproject/cluster/LeadershipEvent.java
@@ -41,13 +41,23 @@
* Signifies that the leader for a topic has changed.
*/
// TODO: We may not need this. We currently do not support a way for a current leader to step down
- // while still reamining a candidate
+ // while still remaining a candidate
LEADER_CHANGED,
/**
* Signifies a change in the list of candidates for a topic.
*/
- CANDIDATES_CHANGED
+ CANDIDATES_CHANGED,
+
+ /**
+ * Signifies the Leadership Elector is unavailable.
+ */
+ SERVICE_DISRUPTED,
+
+ /**
+ * Signifies the Leadership Elector is available again.
+ */
+ SERVICE_RESTORED
}
/**
diff --git a/core/api/src/main/java/org/onosproject/cluster/LeadershipStore.java b/core/api/src/main/java/org/onosproject/cluster/LeadershipStore.java
index 70c54b4..701e690 100644
--- a/core/api/src/main/java/org/onosproject/cluster/LeadershipStore.java
+++ b/core/api/src/main/java/org/onosproject/cluster/LeadershipStore.java
@@ -24,7 +24,7 @@
public interface LeadershipStore extends Store<LeadershipEvent, LeadershipStoreDelegate> {
/**
- * Adds registration for the local instance to be leader for topic.
+ * Adds registration for the local instance to be part of the leadership contest for topic.
*
* @param topic leadership topic
* @return Updated leadership after operation is completed
diff --git a/core/api/src/main/java/org/onosproject/mastership/MastershipEvent.java b/core/api/src/main/java/org/onosproject/mastership/MastershipEvent.java
index 1d3bbfd..1156787 100644
--- a/core/api/src/main/java/org/onosproject/mastership/MastershipEvent.java
+++ b/core/api/src/main/java/org/onosproject/mastership/MastershipEvent.java
@@ -44,7 +44,13 @@
* the change in the backups list is accompanied by a change in
* master, the event is subsumed by MASTER_CHANGED.
*/
- BACKUPS_CHANGED
+ BACKUPS_CHANGED,
+
+ /**
+ * Signifies that the underlying storage for the Mastership state
+ * of this device is unavailable.
+ */
+ SUSPENDED
}
/**