[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
     }
 
     /**