diff --git a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
index e073b63..1def9f9 100644
--- a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
+++ b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/mastership/impl/DistributedMastershipStore.java
@@ -2,6 +2,8 @@
 
 import static org.onlab.onos.mastership.MastershipEvent.Type.MASTER_CHANGED;
 
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -143,6 +145,30 @@
         return deserialize(masters.get(serialize(deviceId)));
     }
 
+
+    @Override
+    public List<NodeId> getNodes(DeviceId deviceId) {
+        byte [] did = serialize(deviceId);
+        List<NodeId> nodes = new LinkedList<>();
+
+        //add current master to head - if there is one
+        ILock lock = theInstance.getLock(LOCK);
+        lock.lock();
+        try {
+            byte [] master = masters.get(did);
+            if (master != null) {
+                nodes.add((NodeId) deserialize(master));
+            }
+
+            for (byte [] el : standbys.get(serialize(deviceId))) {
+                nodes.add((NodeId) deserialize(el));
+            }
+            return nodes;
+        } finally {
+            lock.unlock();
+        }
+    }
+
     @Override
     public Set<DeviceId> getDevices(NodeId nodeId) {
         ImmutableSet.Builder<DeviceId> builder = ImmutableSet.builder();
