[ONOS-7124] Use atomic role request when removing devices to avoid race conditions

Change-Id: I8f951b068b70b45b77ecbd96c050c6486bcdb908
diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
index c72da5f..6726319 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
@@ -49,7 +49,6 @@
 import org.onosproject.cluster.ControllerNode;
 import org.onosproject.cluster.NodeId;
 import org.onosproject.mastership.MastershipService;
-import org.onosproject.mastership.MastershipTerm;
 import org.onosproject.mastership.MastershipTermService;
 import org.onosproject.net.Annotations;
 import org.onosproject.net.AnnotationsUtil;
@@ -1031,9 +1030,7 @@
                 relinquishAtEnd = true;
             }
             log.debug("Temporarily requesting role for {} to remove", deviceId);
-            mastershipService.requestRoleFor(deviceId);
-            MastershipTerm term = termService.getMastershipTerm(deviceId);
-            if (term != null && myId.equals(term.master())) {
+            if (mastershipService.requestRoleFor(deviceId).join() == MastershipRole.MASTER) {
                 master = myId;
             }
         }