Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next
diff --git a/cli/src/main/java/org/onlab/onos/cli/net/DeviceRoleCommand.java b/cli/src/main/java/org/onlab/onos/cli/net/DeviceRoleCommand.java
index 3418aa0..032fb05 100644
--- a/cli/src/main/java/org/onlab/onos/cli/net/DeviceRoleCommand.java
+++ b/cli/src/main/java/org/onlab/onos/cli/net/DeviceRoleCommand.java
@@ -4,8 +4,8 @@
import org.apache.karaf.shell.commands.Command;
import org.onlab.onos.cli.AbstractShellCommand;
import org.onlab.onos.cluster.NodeId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.device.DeviceMastershipAdminService;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import static org.onlab.onos.net.DeviceId.deviceId;
@@ -31,7 +31,7 @@
@Override
protected void execute() {
DeviceMastershipAdminService service = get(DeviceMastershipAdminService.class);
- MastershipRole mastershipRole = MastershipRole.valueOf(role.toUpperCase());
+ DeviceMastershipRole mastershipRole = DeviceMastershipRole.valueOf(role.toUpperCase());
service.setRole(new NodeId(node), deviceId(uri), mastershipRole);
}
diff --git a/cli/src/main/java/org/onlab/onos/cli/net/RoleCompleter.java b/cli/src/main/java/org/onlab/onos/cli/net/RoleCompleter.java
index b540fca..4319e19 100644
--- a/cli/src/main/java/org/onlab/onos/cli/net/RoleCompleter.java
+++ b/cli/src/main/java/org/onlab/onos/cli/net/RoleCompleter.java
@@ -2,7 +2,7 @@
import org.apache.karaf.shell.console.Completer;
import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.onlab.onos.net.MastershipRole;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import java.util.List;
import java.util.SortedSet;
@@ -16,9 +16,9 @@
// Delegate string completer
StringsCompleter delegate = new StringsCompleter();
SortedSet<String> strings = delegate.getStrings();
- strings.add(MastershipRole.MASTER.toString().toLowerCase());
- strings.add(MastershipRole.STANDBY.toString().toLowerCase());
- strings.add(MastershipRole.NONE.toString().toLowerCase());
+ strings.add(DeviceMastershipRole.MASTER.toString().toLowerCase());
+ strings.add(DeviceMastershipRole.STANDBY.toString().toLowerCase());
+ strings.add(DeviceMastershipRole.NONE.toString().toLowerCase());
// Now let the completer do the work for figuring out what to offer.
return delegate.complete(buffer, cursor, candidates);
diff --git a/core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
similarity index 64%
rename from core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
rename to core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
index fff6d15..6ef480d 100644
--- a/core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
@@ -1,14 +1,13 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.device.DeviceMastershipTerm;
//TODO: Consider renaming to DeviceClockProviderService?
/**
* Interface for feeding term information to a logical clock service
* that vends per device timestamps.
*/
-public interface ClockProviderService {
+public interface DeviceClockProviderService {
/**
* Updates the mastership term for the specified deviceId.
@@ -16,5 +15,5 @@
* @param deviceId device identifier.
* @param term mastership term.
*/
- public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term);
+ public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term);
}
diff --git a/core/api/src/main/java/org/onlab/onos/store/ClockService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
similarity index 83%
rename from core/api/src/main/java/org/onlab/onos/store/ClockService.java
rename to core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
index 20549e8..b979db2 100644
--- a/core/api/src/main/java/org/onlab/onos/store/ClockService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
import org.onlab.onos.net.DeviceId;
@@ -6,7 +6,7 @@
/**
* Interface for a logical clock service that vends per device timestamps.
*/
-public interface ClockService {
+public interface DeviceClockService {
/**
* Returns a new timestamp for the specified deviceId.
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java
index 78c9c39..3d31f37 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java
@@ -2,7 +2,6 @@
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
/**
* Service for administering the inventory of device masterships.
@@ -16,6 +15,6 @@
* @param deviceId device identifier
* @param role requested role
*/
- void setRole(NodeId instance, DeviceId deviceId, MastershipRole role);
+ void setRole(NodeId instance, DeviceId deviceId, DeviceMastershipRole role);
}
diff --git a/core/api/src/main/java/org/onlab/onos/net/MastershipRole.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipRole.java
similarity index 89%
rename from core/api/src/main/java/org/onlab/onos/net/MastershipRole.java
rename to core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipRole.java
index 10d53ad..89bdc59 100644
--- a/core/api/src/main/java/org/onlab/onos/net/MastershipRole.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipRole.java
@@ -1,10 +1,10 @@
-package org.onlab.onos.net;
+package org.onlab.onos.net.device;
/**
* Representation of a relationship role of a controller instance to a device
* or a region of network environment.
*/
-public enum MastershipRole {
+public enum DeviceMastershipRole {
/**
* Represents a relationship where the controller instance is the master
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java
index a44abfd..18683ea 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java
@@ -4,7 +4,6 @@
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
/**
* Service responsible for determining the controller instance mastership of
@@ -21,7 +20,7 @@
* @param deviceId the the identifier of the device
* @return role of the current node
*/
- MastershipRole getLocalRole(DeviceId deviceId);
+ DeviceMastershipRole getLocalRole(DeviceId deviceId);
/**
* Returns the mastership status of the local controller for a given
@@ -30,7 +29,7 @@
* @param deviceId the the identifier of the device
* @return the role of this controller instance
*/
- MastershipRole requestRoleFor(DeviceId deviceId);
+ DeviceMastershipRole requestRoleFor(DeviceId deviceId);
/**
* Abandons mastership of the specified device on the local node thus
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java
index ee9b253..9c1b3e6 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java
@@ -4,7 +4,6 @@
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.store.Store;
/**
@@ -21,7 +20,7 @@
* @param deviceId device identifier
* @return established or newly negotiated mastership role
*/
- MastershipRole requestRole(DeviceId deviceId);
+ DeviceMastershipRole requestRole(DeviceId deviceId);
/**
* Returns the role of a device for a specific controller instance.
@@ -30,7 +29,7 @@
* @param deviceId the device identifiers
* @return the role
*/
- MastershipRole getRole(NodeId nodeId, DeviceId deviceId);
+ DeviceMastershipRole getRole(NodeId nodeId, DeviceId deviceId);
/**
* Returns the master for a device.
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
index 9934b8d..9a51a16 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
@@ -1,7 +1,6 @@
package org.onlab.onos.net.device;
import org.onlab.onos.net.Device;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.provider.Provider;
/**
@@ -30,6 +29,6 @@
* @param device affected device
* @param newRole newly determined mastership role
*/
- void roleChanged(Device device, MastershipRole newRole);
+ void roleChanged(Device device, DeviceMastershipRole newRole);
}
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
index d043eca..168b684 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
@@ -1,7 +1,6 @@
package org.onlab.onos.net.device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.provider.ProviderService;
import java.util.List;
@@ -53,6 +52,6 @@
* @param deviceId identity of the device
* @param role mastership role that was asserted but failed
*/
- void unableToAssertRole(DeviceId deviceId, MastershipRole role);
+ void unableToAssertRole(DeviceId deviceId, DeviceMastershipRole role);
}
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
index 54b9d72..3a6f89b 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
@@ -2,7 +2,6 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
@@ -43,7 +42,7 @@
* @return designated mastership role
*/
//XXX do we want this method here when MastershipService already does?
- MastershipRole getRole(DeviceId deviceId);
+ DeviceMastershipRole getRole(DeviceId deviceId);
/**
diff --git a/core/api/src/main/java/org/onlab/onos/store/Timestamp.java b/core/api/src/main/java/org/onlab/onos/net/device/Timestamp.java
similarity index 90%
rename from core/api/src/main/java/org/onlab/onos/store/Timestamp.java
rename to core/api/src/main/java/org/onlab/onos/net/device/Timestamp.java
index b3caf85..8acf16c 100644
--- a/core/api/src/main/java/org/onlab/onos/store/Timestamp.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/Timestamp.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
/**
* Opaque version structure.
diff --git a/core/api/src/main/java/org/onlab/onos/store/Timestamped.java b/core/api/src/main/java/org/onlab/onos/net/device/Timestamped.java
similarity index 97%
rename from core/api/src/main/java/org/onlab/onos/store/Timestamped.java
rename to core/api/src/main/java/org/onlab/onos/net/device/Timestamped.java
index 9de7b0d..9d3549a 100644
--- a/core/api/src/main/java/org/onlab/onos/store/Timestamped.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/Timestamped.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
import static com.google.common.base.Preconditions.checkNotNull;
diff --git a/core/api/src/main/java/org/onlab/onos/store/VersionedValue.java b/core/api/src/main/java/org/onlab/onos/net/device/VersionedValue.java
similarity index 97%
rename from core/api/src/main/java/org/onlab/onos/store/VersionedValue.java
rename to core/api/src/main/java/org/onlab/onos/net/device/VersionedValue.java
index 70602f6..f0233ef 100644
--- a/core/api/src/main/java/org/onlab/onos/store/VersionedValue.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/VersionedValue.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.store;
+package org.onlab.onos.net.device;
import java.util.Objects;
diff --git a/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java b/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java
index 53fafd3..c30ee3e 100644
--- a/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java
+++ b/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java
@@ -1,8 +1,8 @@
package org.onlab.onos.cluster;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.device.DeviceMastershipListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipService;
import org.onlab.onos.net.device.DeviceMastershipTermService;
@@ -13,12 +13,12 @@
*/
public class MastershipServiceAdapter implements DeviceMastershipService {
@Override
- public MastershipRole getLocalRole(DeviceId deviceId) {
+ public DeviceMastershipRole getLocalRole(DeviceId deviceId) {
return null;
}
@Override
- public MastershipRole requestRoleFor(DeviceId deviceId) {
+ public DeviceMastershipRole requestRoleFor(DeviceId deviceId) {
return null;
}
diff --git a/core/api/src/test/java/org/onlab/onos/net/device/DeviceServiceAdapter.java b/core/api/src/test/java/org/onlab/onos/net/device/DeviceServiceAdapter.java
index bfb28f6..aef5786 100644
--- a/core/api/src/test/java/org/onlab/onos/net/device/DeviceServiceAdapter.java
+++ b/core/api/src/test/java/org/onlab/onos/net/device/DeviceServiceAdapter.java
@@ -2,7 +2,6 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
@@ -28,7 +27,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
return null;
}
diff --git a/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java b/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
index b9c6ae8..7637478 100644
--- a/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
+++ b/core/net/src/main/java/org/onlab/onos/cluster/impl/MastershipManager.java
@@ -18,10 +18,10 @@
import org.onlab.onos.event.AbstractListenerRegistry;
import org.onlab.onos.event.EventDeliveryService;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.device.DeviceMastershipAdminService;
import org.onlab.onos.net.device.DeviceMastershipEvent;
import org.onlab.onos.net.device.DeviceMastershipListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipService;
import org.onlab.onos.net.device.DeviceMastershipStore;
import org.onlab.onos.net.device.DeviceMastershipStoreDelegate;
@@ -73,13 +73,13 @@
}
@Override
- public void setRole(NodeId nodeId, DeviceId deviceId, MastershipRole role) {
+ public void setRole(NodeId nodeId, DeviceId deviceId, DeviceMastershipRole role) {
checkNotNull(nodeId, NODE_ID_NULL);
checkNotNull(deviceId, DEVICE_ID_NULL);
checkNotNull(role, ROLE_NULL);
DeviceMastershipEvent event = null;
- if (role.equals(MastershipRole.MASTER)) {
+ if (role.equals(DeviceMastershipRole.MASTER)) {
event = store.setMaster(nodeId, deviceId);
} else {
event = store.setStandby(nodeId, deviceId);
@@ -91,7 +91,7 @@
}
@Override
- public MastershipRole getLocalRole(DeviceId deviceId) {
+ public DeviceMastershipRole getLocalRole(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_ID_NULL);
return store.getRole(clusterService.getLocalNode().id(), deviceId);
}
@@ -108,7 +108,7 @@
}
@Override
- public MastershipRole requestRoleFor(DeviceId deviceId) {
+ public DeviceMastershipRole requestRoleFor(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_ID_NULL);
return store.requestRole(deviceId);
}
diff --git a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
index d4b8889..741ebf3 100644
--- a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
@@ -18,13 +18,14 @@
import org.onlab.onos.event.EventDeliveryService;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DeviceAdminService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
import org.onlab.onos.net.device.DeviceDescription;
import org.onlab.onos.net.device.DeviceEvent;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceProvider;
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
@@ -39,7 +40,6 @@
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.AbstractProviderRegistry;
import org.onlab.onos.net.provider.AbstractProviderService;
-import org.onlab.onos.store.ClockProviderService;
import org.slf4j.Logger;
/**
@@ -81,7 +81,7 @@
protected DeviceMastershipTermService termService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected ClockProviderService clockProviderService;
+ protected DeviceClockProviderService clockProviderService;
@Activate
public void activate() {
@@ -117,7 +117,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_ID_NULL);
return mastershipService.getLocalRole(deviceId);
}
@@ -142,8 +142,8 @@
}
// Applies the specified role to the device; ignores NONE
- private void applyRole(DeviceId deviceId, MastershipRole newRole) {
- if (newRole.equals(MastershipRole.NONE)) {
+ private void applyRole(DeviceId deviceId, DeviceMastershipRole newRole) {
+ if (newRole.equals(DeviceMastershipRole.NONE)) {
Device device = store.getDevice(deviceId);
// FIXME: Device might not be there yet. (eventual consistent)
if (device == null) {
@@ -201,9 +201,9 @@
log.info("Device {} connected", deviceId);
// check my Role
- MastershipRole role = mastershipService.requestRoleFor(deviceId);
+ DeviceMastershipRole role = mastershipService.requestRoleFor(deviceId);
- if (role != MastershipRole.MASTER) {
+ if (role != DeviceMastershipRole.MASTER) {
// TODO: Do we need to explicitly tell the Provider that
// this instance is no longer the MASTER? probably not
return;
@@ -216,7 +216,7 @@
return;
}
// tell clock provider if this instance is the master
- clockProviderService.setMastershipTerm(deviceId, term);
+ clockProviderService.setDeviceMastershipTerm(deviceId, term);
DeviceEvent event = store.createOrUpdateDevice(provider().id(),
deviceId, deviceDescription);
@@ -255,7 +255,7 @@
// but if I was the last STANDBY connection, etc. and no one else
// was there to mark the device offline, this instance may need to
// temporarily request for Master Role and mark offline.
- if (!mastershipService.getLocalRole(deviceId).equals(MastershipRole.MASTER)) {
+ if (!mastershipService.getLocalRole(deviceId).equals(DeviceMastershipRole.MASTER)) {
log.debug("Device {} disconnected, but I am not the master", deviceId);
//let go of any role anyways
mastershipService.relinquishMastership(deviceId);
@@ -302,11 +302,11 @@
}
@Override
- public void unableToAssertRole(DeviceId deviceId, MastershipRole role) {
+ public void unableToAssertRole(DeviceId deviceId, DeviceMastershipRole role) {
// FIXME: implement response to this notification
log.warn("Failed to assert role [{}] onto Device {}", role,
deviceId);
- if (role == MastershipRole.MASTER) {
+ if (role == DeviceMastershipRole.MASTER) {
mastershipService.relinquishMastership(deviceId);
}
}
@@ -333,16 +333,16 @@
if (term.master().equals(myNodeId)) {
// only set the new term if I am the master
- clockProviderService.setMastershipTerm(did, term);
+ clockProviderService.setDeviceMastershipTerm(did, term);
}
- applyRole(did, MastershipRole.MASTER);
+ applyRole(did, DeviceMastershipRole.MASTER);
} else {
- applyRole(did, MastershipRole.STANDBY);
+ applyRole(did, DeviceMastershipRole.STANDBY);
}
} else {
//device dead to node, give up
mastershipService.relinquishMastership(did);
- applyRole(did, MastershipRole.STANDBY);
+ applyRole(did, DeviceMastershipRole.STANDBY);
}
}
}
diff --git a/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java b/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
index 84ca891..d4cabba 100644
--- a/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
@@ -20,7 +20,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.onlab.onos.net.MastershipRole.*;
+import static org.onlab.onos.net.device.DeviceMastershipRole.*;
/**
* Test codifying the mastership service contracts.
diff --git a/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
index bc4e353..0dc77e1 100644
--- a/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/device/impl/DeviceManagerTest.java
@@ -17,15 +17,16 @@
import org.onlab.onos.event.impl.TestEventDispatcher;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DefaultDeviceDescription;
import org.onlab.onos.net.device.DefaultPortDescription;
import org.onlab.onos.net.device.DeviceAdminService;
+import org.onlab.onos.net.device.DeviceClockProviderService;
import org.onlab.onos.net.device.DeviceDescription;
import org.onlab.onos.net.device.DeviceEvent;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceProvider;
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
@@ -35,7 +36,6 @@
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.AbstractProvider;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.ClockProviderService;
import org.onlab.onos.store.trivial.impl.SimpleDeviceStore;
import org.onlab.packet.IpPrefix;
@@ -161,7 +161,7 @@
@Test
public void getRole() {
connectDevice(DID1, SW1);
- assertEquals("incorrect role", MastershipRole.MASTER, service.getRole(DID1));
+ assertEquals("incorrect role", DeviceMastershipRole.MASTER, service.getRole(DID1));
}
@Ignore("disabled until we settle the device-mastership wiring")
@@ -169,9 +169,9 @@
public void setRole() throws InterruptedException {
connectDevice(DID1, SW1);
validateEvents(DEVICE_ADDED, DEVICE_MASTERSHIP_CHANGED);
- assertEquals("incorrect role", MastershipRole.STANDBY, service.getRole(DID1));
+ assertEquals("incorrect role", DeviceMastershipRole.STANDBY, service.getRole(DID1));
assertEquals("incorrect device", DID1, provider.deviceReceived.id());
- assertEquals("incorrect role", MastershipRole.STANDBY, provider.roleReceived);
+ assertEquals("incorrect role", DeviceMastershipRole.STANDBY, provider.roleReceived);
}
@Test
@@ -246,7 +246,7 @@
private class TestProvider extends AbstractProvider implements DeviceProvider {
private Device deviceReceived;
- private MastershipRole roleReceived;
+ private DeviceMastershipRole roleReceived;
public TestProvider() {
super(PID);
@@ -257,7 +257,7 @@
}
@Override
- public void roleChanged(Device device, MastershipRole newRole) {
+ public void roleChanged(Device device, DeviceMastershipRole newRole) {
deviceReceived = device;
roleReceived = newRole;
}
@@ -275,8 +275,8 @@
private static class TestMastershipService
extends MastershipServiceAdapter {
@Override
- public MastershipRole getLocalRole(DeviceId deviceId) {
- return MastershipRole.MASTER;
+ public DeviceMastershipRole getLocalRole(DeviceId deviceId) {
+ return DeviceMastershipRole.MASTER;
}
@Override
@@ -285,8 +285,8 @@
}
@Override
- public MastershipRole requestRoleFor(DeviceId deviceId) {
- return MastershipRole.MASTER;
+ public DeviceMastershipRole requestRoleFor(DeviceId deviceId) {
+ return DeviceMastershipRole.MASTER;
}
@Override
@@ -336,10 +336,10 @@
}
private final class TestClockProviderService implements
- ClockProviderService {
+ DeviceClockProviderService {
@Override
- public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
+ public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
// TODO Auto-generated method stub
}
}
diff --git a/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java
index fb579ea..d8b3160 100644
--- a/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/flow/impl/FlowRuleManagerTest.java
@@ -24,10 +24,10 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.Device.Type;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceService;
import org.onlab.onos.net.flow.CompletedBatchOperation;
import org.onlab.onos.net.flow.DefaultFlowEntry;
@@ -364,7 +364,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
return null;
}
diff --git a/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java b/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java
index d8ddfbe..7191a8f 100644
--- a/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/host/impl/HostMonitorTest.java
@@ -19,10 +19,10 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.Host;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DeviceListener;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceService;
import org.onlab.onos.net.flow.instructions.Instruction;
import org.onlab.onos.net.flow.instructions.Instructions.OutputInstruction;
@@ -189,7 +189,7 @@
}
@Override
- public MastershipRole getRole(DeviceId deviceId) {
+ public DeviceMastershipRole getRole(DeviceId deviceId) {
return null;
}
diff --git a/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java b/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java
index 1d52ba3..927278a 100644
--- a/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/net/link/impl/LinkManagerTest.java
@@ -1,6 +1,7 @@
package org.onlab.onos.net.link.impl;
import com.google.common.collect.ImmutableSet;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -9,7 +10,6 @@
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.Link;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.link.DefaultLinkDescription;
import org.onlab.onos.net.link.LinkAdminService;
@@ -22,6 +22,7 @@
import org.onlab.onos.net.provider.AbstractProvider;
import org.onlab.onos.net.provider.ProviderId;
import org.onlab.onos.event.impl.TestEventDispatcher;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.impl.DeviceManager;
import org.onlab.onos.store.trivial.impl.SimpleLinkStore;
@@ -243,7 +244,7 @@
private class TestProvider extends AbstractProvider implements LinkProvider {
private Device deviceReceived;
- private MastershipRole roleReceived;
+ private DeviceMastershipRole roleReceived;
public TestProvider() {
super(PID);
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterManagementMessageSubjects.java b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterManagementMessageSubjects.java
index 74c22f1..aa0dc83 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterManagementMessageSubjects.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterManagementMessageSubjects.java
@@ -6,5 +6,5 @@
// avoid instantiation
private ClusterManagementMessageSubjects() {}
- public static final MessageSubject CLUSTER_MEMBERSHIP_EVENT = new MessageSubject("CLUSTER_MEMBERSHIP_EVENT");
+ public static final MessageSubject CLUSTER_MEMBERSHIP_EVENT = new MessageSubject("cluster-membership-event");
}
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterNodesDelegate.java b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterNodesDelegate.java
index b82a835..2ad2666 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterNodesDelegate.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/ClusterNodesDelegate.java
@@ -1,6 +1,6 @@
package org.onlab.onos.store.cluster.impl;
-import org.onlab.onos.cluster.DefaultControllerNode;
+import org.onlab.onos.cluster.ControllerNode;
import org.onlab.onos.cluster.NodeId;
import org.onlab.packet.IpPrefix;
@@ -18,7 +18,7 @@
* @param tcpPort node TCP listen port
* @return the controller node
*/
- DefaultControllerNode nodeDetected(NodeId nodeId, IpPrefix ip, int tcpPort);
+ ControllerNode nodeDetected(NodeId nodeId, IpPrefix ip, int tcpPort);
/**
* Notifies about cluster node going offline.
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/DistributedClusterStore.java b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/DistributedClusterStore.java
index 5e64a39..9433130 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/DistributedClusterStore.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/impl/DistributedClusterStore.java
@@ -1,9 +1,5 @@
package org.onlab.onos.store.cluster.impl;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.RemovalListener;
-import com.google.common.cache.RemovalNotification;
import com.google.common.collect.ImmutableSet;
import org.apache.felix.scr.annotations.Activate;
@@ -18,8 +14,16 @@
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.store.AbstractStore;
import org.onlab.onos.store.cluster.messaging.ClusterCommunicationAdminService;
-import org.onlab.onos.store.cluster.messaging.impl.ClusterCommunicationManager;
+import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
+import org.onlab.onos.store.cluster.messaging.ClusterMessage;
+import org.onlab.onos.store.cluster.messaging.ClusterMessageHandler;
+import org.onlab.onos.store.cluster.messaging.MessageSubject;
+import org.onlab.onos.store.cluster.messaging.impl.ClusterMessageSerializer;
+import org.onlab.onos.store.cluster.messaging.impl.MessageSubjectSerializer;
+import org.onlab.onos.store.serializers.KryoPoolUtil;
+import org.onlab.onos.store.serializers.KryoSerializer;
import org.onlab.packet.IpPrefix;
+import org.onlab.util.KryoPool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,7 +31,6 @@
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.TimeUnit;
import static org.onlab.onos.cluster.ControllerNode.State;
import static org.onlab.packet.IpPrefix.valueOf;
@@ -43,17 +46,33 @@
private final Logger log = LoggerFactory.getLogger(getClass());
- private DefaultControllerNode localNode;
- private final Map<NodeId, DefaultControllerNode> nodes = new ConcurrentHashMap<>();
+ private ControllerNode localNode;
+ private final Map<NodeId, ControllerNode> nodes = new ConcurrentHashMap<>();
private final Map<NodeId, State> states = new ConcurrentHashMap<>();
- private final Cache<NodeId, ControllerNode> livenessCache = CacheBuilder.newBuilder()
- .maximumSize(1000)
- .expireAfterWrite(ClusterCommunicationManager.HEART_BEAT_INTERVAL_MILLIS * 3, TimeUnit.MILLISECONDS)
- .removalListener(new LivenessCacheRemovalListener()).build();
+
+ private static final KryoSerializer SERIALIZER = new KryoSerializer() {
+ @Override
+ protected void setupKryoPool() {
+ serializerPool = KryoPool.newBuilder()
+ .register(KryoPoolUtil.API)
+ .register(ClusterMessage.class, new ClusterMessageSerializer())
+ .register(ClusterMembershipEvent.class)
+ .register(byte[].class)
+ .register(MessageSubject.class, new MessageSubjectSerializer())
+ .build()
+ .populate(1);
+ }
+ };
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
private ClusterCommunicationAdminService clusterCommunicationAdminService;
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ private ClusterCommunicationService clusterCommunicator;
+
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ private ClusterMonitorService clusterMonitor;
+
private final ClusterNodesDelegate nodesDelegate = new InnerNodesDelegate();
@Activate
@@ -61,10 +80,15 @@
loadClusterDefinition();
establishSelfIdentity();
- // Start-up the comm service and prime it with the loaded nodes.
- clusterCommunicationAdminService.initialize(localNode, nodesDelegate);
- for (DefaultControllerNode node : nodes.values()) {
- clusterCommunicationAdminService.addNode(node);
+ clusterCommunicator.addSubscriber(
+ ClusterManagementMessageSubjects.CLUSTER_MEMBERSHIP_EVENT,
+ new ClusterMembershipEventListener());
+
+ // Start-up the monitor service and prime it with the loaded nodes.
+ clusterMonitor.initialize(localNode, nodesDelegate);
+
+ for (ControllerNode node : nodes.values()) {
+ clusterMonitor.addNode(node);
}
log.info("Started");
}
@@ -130,22 +154,78 @@
@Override
public ControllerNode addNode(NodeId nodeId, IpPrefix ip, int tcpPort) {
DefaultControllerNode node = new DefaultControllerNode(nodeId, ip, tcpPort);
- nodes.put(nodeId, node);
- clusterCommunicationAdminService.addNode(node);
+ addNodeInternal(node);
+
+ try {
+ clusterCommunicator.broadcast(
+ new ClusterMessage(
+ localNode.id(),
+ ClusterManagementMessageSubjects.CLUSTER_MEMBERSHIP_EVENT,
+ SERIALIZER.encode(
+ new ClusterMembershipEvent(
+ ClusterMembershipEventType.NEW_MEMBER,
+ node))));
+ } catch (IOException e) {
+ // TODO: In a setup where cluster membership is not static (i.e. not everything has the same picture)
+ // we'll need a more consistent/dependable way to replicate membership events.
+ log.error("Failed to notify peers of a new cluster member", e);
+ }
+
return node;
}
+ private void addNodeInternal(ControllerNode node) {
+ nodes.put(node.id(), node);
+ }
+
@Override
public void removeNode(NodeId nodeId) {
+ ControllerNode node = removeNodeInternal(nodeId);
+
+ if (node != null) {
+ try {
+ clusterCommunicator.broadcast(
+ new ClusterMessage(
+ localNode.id(),
+ ClusterManagementMessageSubjects.CLUSTER_MEMBERSHIP_EVENT,
+ SERIALIZER.encode(
+ new ClusterMembershipEvent(
+ ClusterMembershipEventType.LEAVING_MEMBER,
+ node))));
+ } catch (IOException e) {
+ // TODO: In a setup where cluster membership is not static (i.e. not everything has the same picture)
+ // we'll need a more consistent/dependable way to replicate membership events.
+ log.error("Failed to notify peers of a existing cluster member leaving.", e);
+ }
+ }
+
+ }
+
+ private ControllerNode removeNodeInternal(NodeId nodeId) {
if (nodeId.equals(localNode.id())) {
nodes.clear();
nodes.put(localNode.id(), localNode);
+ return localNode;
- } else {
- // Remove the other node.
- DefaultControllerNode node = nodes.remove(nodeId);
- if (node != null) {
- clusterCommunicationAdminService.removeNode(node);
+ }
+ // Remove the other node.
+ ControllerNode node = nodes.remove(nodeId);
+ return node;
+ }
+
+ private class ClusterMembershipEventListener implements ClusterMessageHandler {
+ @Override
+ public void handle(ClusterMessage message) {
+
+ log.info("Received cluster membership event from peer: {}", message.sender());
+ ClusterMembershipEvent event = (ClusterMembershipEvent) SERIALIZER.decode(message.payload());
+ if (event.type() == ClusterMembershipEventType.NEW_MEMBER) {
+ log.info("Node {} is added", event.node().id());
+ addNodeInternal(event.node());
+ }
+ if (event.type() == ClusterMembershipEventType.LEAVING_MEMBER) {
+ log.info("Node {} is removed ", event.node().id());
+ removeNodeInternal(event.node().id());
}
}
}
@@ -153,13 +233,12 @@
// Entity to handle back calls from the connection manager.
private class InnerNodesDelegate implements ClusterNodesDelegate {
@Override
- public DefaultControllerNode nodeDetected(NodeId nodeId, IpPrefix ip, int tcpPort) {
- DefaultControllerNode node = nodes.get(nodeId);
+ public ControllerNode nodeDetected(NodeId nodeId, IpPrefix ip, int tcpPort) {
+ ControllerNode node = nodes.get(nodeId);
if (node == null) {
node = (DefaultControllerNode) addNode(nodeId, ip, tcpPort);
}
states.put(nodeId, State.ACTIVE);
- livenessCache.put(nodeId, node);
return node;
}
@@ -173,14 +252,4 @@
removeNode(nodeId);
}
}
-
- private class LivenessCacheRemovalListener implements RemovalListener<NodeId, ControllerNode> {
-
- @Override
- public void onRemoval(RemovalNotification<NodeId, ControllerNode> entry) {
- NodeId nodeId = entry.getKey();
- log.warn("Failed to receive heartbeats from controller: " + nodeId);
- nodesDelegate.nodeVanished(nodeId);
- }
- }
}
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java
index c72fae8..0e6b1b8 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java
@@ -4,8 +4,6 @@
import java.io.IOException;
import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -16,10 +14,6 @@
import org.onlab.onos.cluster.ClusterService;
import org.onlab.onos.cluster.ControllerNode;
import org.onlab.onos.cluster.NodeId;
-import org.onlab.onos.store.cluster.impl.ClusterMembershipEvent;
-import org.onlab.onos.store.cluster.impl.ClusterMembershipEventType;
-import org.onlab.onos.store.cluster.impl.ClusterNodesDelegate;
-import org.onlab.onos.store.cluster.messaging.ClusterCommunicationAdminService;
import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
import org.onlab.onos.store.cluster.messaging.ClusterMessage;
import org.onlab.onos.store.cluster.messaging.ClusterMessageHandler;
@@ -38,7 +32,7 @@
@Component(immediate = true)
@Service
public class ClusterCommunicationManager
- implements ClusterCommunicationService, ClusterCommunicationAdminService {
+ implements ClusterCommunicationService {
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -47,10 +41,6 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
private ClusterService clusterService;
- private ClusterNodesDelegate nodesDelegate;
- private final Timer timer = new Timer("onos-controller-heatbeats");
- public static final long HEART_BEAT_INTERVAL_MILLIS = 1000L;
-
// TODO: This probably should not be a OSGi service.
private MessagingService messagingService;
@@ -60,7 +50,6 @@
serializerPool = KryoPool.newBuilder()
.register(KryoPoolUtil.API)
.register(ClusterMessage.class, new ClusterMessageSerializer())
- .register(ClusterMembershipEvent.class)
.register(byte[].class)
.register(MessageSubject.class, new MessageSubjectSerializer())
.build()
@@ -134,61 +123,6 @@
messagingService.registerHandler(subject.value(), new InternalClusterMessageHandler(subscriber));
}
- @Override
- public void initialize(ControllerNode localNode,
- ClusterNodesDelegate delegate) {
- this.localNode = localNode;
- this.nodesDelegate = delegate;
- this.addSubscriber(new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"), new ClusterMemebershipEventHandler());
- timer.schedule(new KeepAlive(), 0, HEART_BEAT_INTERVAL_MILLIS);
- }
-
- @Override
- public void addNode(ControllerNode node) {
- //members.put(node.id(), node);
- }
-
- @Override
- public void removeNode(ControllerNode node) {
- broadcast(new ClusterMessage(
- localNode.id(),
- new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"),
- SERIALIZER.encode(new ClusterMembershipEvent(ClusterMembershipEventType.LEAVING_MEMBER, node))));
- //members.remove(node.id());
- }
-
- // Sends a heart beat to all peers.
- private class KeepAlive extends TimerTask {
-
- @Override
- public void run() {
- broadcast(new ClusterMessage(
- localNode.id(),
- new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"),
- SERIALIZER.encode(new ClusterMembershipEvent(ClusterMembershipEventType.HEART_BEAT, localNode))));
- }
- }
-
- private class ClusterMemebershipEventHandler implements ClusterMessageHandler {
-
- @Override
- public void handle(ClusterMessage message) {
-
- ClusterMembershipEvent event = SERIALIZER.decode(message.payload());
- ControllerNode node = event.node();
- if (event.type() == ClusterMembershipEventType.HEART_BEAT) {
- log.info("Node {} sent a hearbeat", node.id());
- nodesDelegate.nodeDetected(node.id(), node.ip(), node.tcpPort());
- } else if (event.type() == ClusterMembershipEventType.LEAVING_MEMBER) {
- log.info("Node {} is leaving", node.id());
- nodesDelegate.nodeRemoved(node.id());
- } else if (event.type() == ClusterMembershipEventType.UNREACHABLE_MEMBER) {
- log.info("Node {} is unreachable", node.id());
- nodesDelegate.nodeVanished(node.id());
- }
- }
- }
-
private final class InternalClusterMessageHandler implements MessageHandler {
private final ClusterMessageHandler handler;
@@ -208,4 +142,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyAdvertisement.java b/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyAdvertisement.java
index 132f27a..5ab3e6f 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyAdvertisement.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyAdvertisement.java
@@ -3,7 +3,7 @@
import java.util.Map;
import org.onlab.onos.cluster.NodeId;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
import com.google.common.collect.ImmutableMap;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyReply.java b/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyReply.java
index 46a2333..2a0ef60 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyReply.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/AntiEntropyReply.java
@@ -4,7 +4,7 @@
import java.util.Set;
import org.onlab.onos.cluster.NodeId;
-import org.onlab.onos.store.VersionedValue;
+import org.onlab.onos.net.device.VersionedValue;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/DeviceMastershipBasedTimestamp.java b/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/DeviceMastershipBasedTimestamp.java
index 4bc41ab..30b3db6 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/DeviceMastershipBasedTimestamp.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/common/impl/DeviceMastershipBasedTimestamp.java
@@ -4,7 +4,7 @@
import java.util.Objects;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ComparisonChain;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyAdvertisement.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyAdvertisement.java
index c9f232a..6bb9f01 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyAdvertisement.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyAdvertisement.java
@@ -7,8 +7,8 @@
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.Timestamp;
-import org.onlab.onos.store.VersionedValue;
+import org.onlab.onos.net.device.Timestamp;
+import org.onlab.onos.net.device.VersionedValue;
import org.onlab.onos.store.common.impl.AntiEntropyAdvertisement;
// TODO DeviceID needs to be changed to something like (ProviderID, DeviceID)
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyReply.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyReply.java
index 34dc873..4bb9dda 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyReply.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceAntiEntropyReply.java
@@ -9,8 +9,8 @@
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.Timestamp;
-import org.onlab.onos.store.VersionedValue;
+import org.onlab.onos.net.device.Timestamp;
+import org.onlab.onos.net.device.VersionedValue;
import org.onlab.onos.store.common.impl.AntiEntropyReply;
import com.google.common.collect.ImmutableMap;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java
index 6f4fb96..a8d023c 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/DeviceClockManager.java
@@ -11,10 +11,10 @@
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Service;
import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.device.DeviceClockProviderService;
+import org.onlab.onos.net.device.DeviceClockService;
import org.onlab.onos.net.device.DeviceMastershipTerm;
-import org.onlab.onos.store.ClockProviderService;
-import org.onlab.onos.store.ClockService;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
import org.onlab.onos.store.common.impl.DeviceMastershipBasedTimestamp;
import org.slf4j.Logger;
@@ -23,7 +23,7 @@
*/
@Component(immediate = true)
@Service
-public class DeviceClockManager implements ClockService, ClockProviderService {
+public class DeviceClockManager implements DeviceClockService, DeviceClockProviderService {
private final Logger log = getLogger(getClass());
@@ -51,7 +51,7 @@
}
@Override
- public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
+ public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
deviceMastershipTerms.put(deviceId, term);
}
}
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
index 06c70a0..ebcbb0c 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
@@ -26,16 +26,16 @@
import org.onlab.onos.net.SparseAnnotations;
import org.onlab.onos.net.device.DefaultDeviceDescription;
import org.onlab.onos.net.device.DefaultPortDescription;
+import org.onlab.onos.net.device.DeviceClockService;
import org.onlab.onos.net.device.DeviceDescription;
import org.onlab.onos.net.device.DeviceEvent;
import org.onlab.onos.net.device.DeviceStore;
import org.onlab.onos.net.device.DeviceStoreDelegate;
import org.onlab.onos.net.device.PortDescription;
+import org.onlab.onos.net.device.Timestamp;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
import org.onlab.onos.store.AbstractStore;
-import org.onlab.onos.store.ClockService;
-import org.onlab.onos.store.Timestamp;
-import org.onlab.onos.store.Timestamped;
import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
import org.onlab.onos.store.cluster.messaging.ClusterMessage;
import org.onlab.onos.store.cluster.messaging.ClusterMessageHandler;
@@ -105,7 +105,7 @@
private final Set<DeviceId> availableDevices = Sets.newConcurrentHashSet();
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected ClockService clockService;
+ protected DeviceClockService clockService;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected ClusterCommunicationService clusterCommunicator;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEvent.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEvent.java
index 1deb5d5..55da310 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEvent.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEvent.java
@@ -2,8 +2,8 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.device.DeviceDescription;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.Timestamped;
/**
* Information published by GossipDeviceStore to notify peers of a device
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEventSerializer.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEventSerializer.java
index 63ddda3..f17a602 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEventSerializer.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceEventSerializer.java
@@ -2,8 +2,8 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.device.DeviceDescription;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.Timestamped;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEvent.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEvent.java
index d8942d6..806a9fb 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEvent.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEvent.java
@@ -1,7 +1,7 @@
package org.onlab.onos.store.device.impl;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
/**
* Information published by GossipDeviceStore to notify peers of a device
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEventSerializer.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEventSerializer.java
index 7059636..e014cac 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEventSerializer.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceOfflineEventSerializer.java
@@ -1,7 +1,7 @@
package org.onlab.onos.store.device.impl;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceRemovedEvent.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceRemovedEvent.java
index 6c8b905..5800583 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceRemovedEvent.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalDeviceRemovedEvent.java
@@ -1,7 +1,7 @@
package org.onlab.onos.store.device.impl;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
/**
* Information published by GossipDeviceStore to notify peers of a device
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEvent.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEvent.java
index ad4e380..b9acb2c 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEvent.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEvent.java
@@ -4,8 +4,8 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.device.PortDescription;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.Timestamped;
/**
* Information published by GossipDeviceStore to notify peers of a port
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEventSerializer.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEventSerializer.java
index ede88f1..a2737b4 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEventSerializer.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortEventSerializer.java
@@ -4,8 +4,8 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.device.PortDescription;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.Timestamped;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEvent.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEvent.java
index 00f9a9f..07424eb 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEvent.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEvent.java
@@ -2,8 +2,8 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.device.PortDescription;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.Timestamped;
/**
* Information published by GossipDeviceStore to notify peers of a port
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEventSerializer.java b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEventSerializer.java
index 82fbb89..434787c 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEventSerializer.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/device/impl/InternalPortStatusEventSerializer.java
@@ -2,8 +2,8 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.device.PortDescription;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.Timestamped;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/OnosDistributedLinkStore.java b/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/OnosDistributedLinkStore.java
index d00d76b..17fbe10 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/OnosDistributedLinkStore.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/link/impl/OnosDistributedLinkStore.java
@@ -23,15 +23,15 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.Link;
import org.onlab.onos.net.LinkKey;
+import org.onlab.onos.net.device.DeviceClockService;
+import org.onlab.onos.net.device.Timestamp;
+import org.onlab.onos.net.device.VersionedValue;
import org.onlab.onos.net.link.LinkDescription;
import org.onlab.onos.net.link.LinkEvent;
import org.onlab.onos.net.link.LinkStore;
import org.onlab.onos.net.link.LinkStoreDelegate;
import org.onlab.onos.net.provider.ProviderId;
import org.onlab.onos.store.AbstractStore;
-import org.onlab.onos.store.ClockService;
-import org.onlab.onos.store.Timestamp;
-import org.onlab.onos.store.VersionedValue;
import org.slf4j.Logger;
import com.google.common.collect.HashMultimap;
@@ -71,7 +71,7 @@
private final Multimap<DeviceId, VersionedValue<Link>> dstLinks = HashMultimap.create();
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected ClockService clockService;
+ protected DeviceClockService clockService;
@Activate
public void activate() {
diff --git a/core/store/dist/src/test/java/org/onlab/onos/store/cluster/impl/ClusterCommunicationManagerTest.java b/core/store/dist/src/test/java/org/onlab/onos/store/cluster/impl/ClusterCommunicationManagerTest.java
index e63fcaa..c78f78a 100644
--- a/core/store/dist/src/test/java/org/onlab/onos/store/cluster/impl/ClusterCommunicationManagerTest.java
+++ b/core/store/dist/src/test/java/org/onlab/onos/store/cluster/impl/ClusterCommunicationManagerTest.java
@@ -2,8 +2,6 @@
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
import org.onlab.onos.cluster.DefaultControllerNode;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.store.cluster.messaging.impl.ClusterCommunicationManager;
@@ -11,12 +9,6 @@
import org.onlab.netty.NettyMessagingService;
import org.onlab.packet.IpPrefix;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
/**
* Tests of the cluster communication manager.
*/
@@ -33,9 +25,6 @@
private ClusterCommunicationManager ccm1;
private ClusterCommunicationManager ccm2;
- private TestDelegate cnd1 = new TestDelegate();
- private TestDelegate cnd2 = new TestDelegate();
-
private DefaultControllerNode node1 = new DefaultControllerNode(N1, IP, P1);
private DefaultControllerNode node2 = new DefaultControllerNode(N2, IP, P2);
@@ -48,15 +37,10 @@
messagingService.activate();
ccm1 = new ClusterCommunicationManager();
-// ccm1.serializationService = messageSerializer;
ccm1.activate();
ccm2 = new ClusterCommunicationManager();
-// ccm2.serializationService = messageSerializer;
ccm2.activate();
-
- ccm1.initialize(node1, cnd1);
- ccm2.initialize(node2, cnd2);
}
@After
@@ -64,70 +48,4 @@
ccm1.deactivate();
ccm2.deactivate();
}
-
- @Ignore("FIXME: failing randomly?")
- @Test
- public void connect() throws Exception {
- cnd1.latch = new CountDownLatch(1);
- cnd2.latch = new CountDownLatch(1);
-
- ccm1.addNode(node2);
- validateDelegateEvent(cnd1, Op.DETECTED, node2.id());
- validateDelegateEvent(cnd2, Op.DETECTED, node1.id());
- }
-
- @Test
- @Ignore
- public void disconnect() throws Exception {
- cnd1.latch = new CountDownLatch(1);
- cnd2.latch = new CountDownLatch(1);
-
- ccm1.addNode(node2);
- validateDelegateEvent(cnd1, Op.DETECTED, node2.id());
- validateDelegateEvent(cnd2, Op.DETECTED, node1.id());
-
- cnd1.latch = new CountDownLatch(1);
- cnd2.latch = new CountDownLatch(1);
- ccm1.deactivate();
-//
-// validateDelegateEvent(cnd2, Op.VANISHED, node1.id());
- }
-
- private void validateDelegateEvent(TestDelegate delegate, Op op, NodeId nodeId)
- throws InterruptedException {
- assertTrue("did not connect in time", delegate.latch.await(2500, TimeUnit.MILLISECONDS));
- assertEquals("incorrect event", op, delegate.op);
- assertEquals("incorrect event node", nodeId, delegate.nodeId);
- }
-
- enum Op { DETECTED, VANISHED, REMOVED };
-
- private class TestDelegate implements ClusterNodesDelegate {
-
- Op op;
- CountDownLatch latch;
- NodeId nodeId;
-
- @Override
- public DefaultControllerNode nodeDetected(NodeId nodeId, IpPrefix ip, int tcpPort) {
- latch(nodeId, Op.DETECTED);
- return new DefaultControllerNode(nodeId, ip, tcpPort);
- }
-
- @Override
- public void nodeVanished(NodeId nodeId) {
- latch(nodeId, Op.VANISHED);
- }
-
- @Override
- public void nodeRemoved(NodeId nodeId) {
- latch(nodeId, Op.REMOVED);
- }
-
- private void latch(NodeId nodeId, Op op) {
- this.op = op;
- this.nodeId = nodeId;
- latch.countDown();
- }
- }
-}
+}
\ No newline at end of file
diff --git a/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/MastershipBasedTimestampTest.java b/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/MastershipBasedTimestampTest.java
index 2c8ff35..154c2f6 100644
--- a/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/MastershipBasedTimestampTest.java
+++ b/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/MastershipBasedTimestampTest.java
@@ -5,7 +5,7 @@
import java.nio.ByteBuffer;
import org.junit.Test;
-import org.onlab.onos.store.Timestamp;
+import org.onlab.onos.net.device.Timestamp;
import org.onlab.util.KryoPool;
import com.google.common.testing.EqualsTester;
diff --git a/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/TimestampedTest.java b/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/TimestampedTest.java
index 2a0faa8..9b6c3e6 100644
--- a/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/TimestampedTest.java
+++ b/core/store/dist/src/test/java/org/onlab/onos/store/common/impl/TimestampedTest.java
@@ -5,8 +5,8 @@
import java.nio.ByteBuffer;
import org.junit.Test;
-import org.onlab.onos.store.Timestamp;
-import org.onlab.onos.store.Timestamped;
+import org.onlab.onos.net.device.Timestamp;
+import org.onlab.onos.net.device.Timestamped;
import org.onlab.util.KryoPool;
import com.google.common.testing.EqualsTester;
diff --git a/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java b/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java
index d1060cc..a683f91 100644
--- a/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java
+++ b/core/store/dist/src/test/java/org/onlab/onos/store/device/impl/GossipDeviceStoreTest.java
@@ -35,6 +35,7 @@
import org.onlab.onos.net.SparseAnnotations;
import org.onlab.onos.net.device.DefaultDeviceDescription;
import org.onlab.onos.net.device.DefaultPortDescription;
+import org.onlab.onos.net.device.DeviceClockService;
import org.onlab.onos.net.device.DeviceDescription;
import org.onlab.onos.net.device.DeviceEvent;
import org.onlab.onos.net.device.DeviceStore;
@@ -42,7 +43,6 @@
import org.onlab.onos.net.device.DeviceMastershipTerm;
import org.onlab.onos.net.device.PortDescription;
import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.store.ClockService;
import org.onlab.onos.store.cluster.messaging.ClusterCommunicationService;
import org.onlab.onos.store.cluster.messaging.ClusterMessage;
import org.onlab.onos.store.cluster.messaging.ClusterMessageHandler;
@@ -96,7 +96,7 @@
private DeviceStore deviceStore;
private DeviceClockManager deviceClockManager;
- private ClockService clockService;
+ private DeviceClockService clockService;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
@@ -113,8 +113,8 @@
deviceClockManager.activate();
clockService = deviceClockManager;
- deviceClockManager.setMastershipTerm(DID1, DeviceMastershipTerm.of(MYSELF, 1));
- deviceClockManager.setMastershipTerm(DID2, DeviceMastershipTerm.of(MYSELF, 2));
+ deviceClockManager.setDeviceMastershipTerm(DID1, DeviceMastershipTerm.of(MYSELF, 1));
+ deviceClockManager.setDeviceMastershipTerm(DID2, DeviceMastershipTerm.of(MYSELF, 2));
ClusterCommunicationService clusterCommunicator = new TestClusterCommunicationService();
ClusterService clusterService = new TestClusterService();
@@ -556,7 +556,7 @@
private static final class TestGossipDeviceStore extends GossipDeviceStore {
public TestGossipDeviceStore(
- ClockService clockService,
+ DeviceClockService clockService,
ClusterService clusterService,
ClusterCommunicationService clusterCommunicator) {
this.clockService = clockService;
diff --git a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStore.java b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStore.java
index cdcf84b..f9f0381 100644
--- a/core/store/hz/cluster/src/main/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStore.java
+++ b/core/store/hz/cluster/src/main/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStore.java
@@ -14,8 +14,8 @@
import org.onlab.onos.cluster.ClusterService;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.device.DeviceMastershipEvent;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipStore;
import org.onlab.onos.net.device.DeviceMastershipStoreDelegate;
import org.onlab.onos.net.device.DeviceMastershipTerm;
@@ -76,7 +76,7 @@
}
@Override
- public MastershipRole getRole(NodeId nodeId, DeviceId deviceId) {
+ public DeviceMastershipRole getRole(NodeId nodeId, DeviceId deviceId) {
byte[] did = serialize(deviceId);
byte[] nid = serialize(nodeId);
@@ -84,17 +84,17 @@
if (current == null) {
if (standbys.containsEntry(did, nid)) {
//was previously standby, or set to standby from master
- return MastershipRole.STANDBY;
+ return DeviceMastershipRole.STANDBY;
} else {
- return MastershipRole.NONE;
+ return DeviceMastershipRole.NONE;
}
} else {
if (current.equals(nodeId)) {
//*should* be in unusable, not always
- return MastershipRole.MASTER;
+ return DeviceMastershipRole.MASTER;
} else {
//may be in backups or unusable from earlier retirement
- return MastershipRole.STANDBY;
+ return DeviceMastershipRole.STANDBY;
}
}
}
@@ -107,7 +107,7 @@
ILock lock = theInstance.getLock(LOCK);
lock.lock();
try {
- MastershipRole role = getRole(nodeId, deviceId);
+ DeviceMastershipRole role = getRole(nodeId, deviceId);
switch (role) {
case MASTER:
//reinforce mastership
@@ -157,7 +157,7 @@
}
@Override
- public MastershipRole requestRole(DeviceId deviceId) {
+ public DeviceMastershipRole requestRole(DeviceId deviceId) {
NodeId local = clusterService.getLocalNode().id();
byte [] did = serialize(deviceId);
byte [] lnid = serialize(local);
@@ -165,7 +165,7 @@
ILock lock = theInstance.getLock(LOCK);
lock.lock();
try {
- MastershipRole role = getRole(local, deviceId);
+ DeviceMastershipRole role = getRole(local, deviceId);
switch (role) {
case MASTER:
evict(lnid, did);
@@ -179,7 +179,7 @@
masters.put(did, lnid);
evict(lnid, did);
updateTerm(did);
- role = MastershipRole.MASTER;
+ role = DeviceMastershipRole.MASTER;
break;
default:
log.warn("unknown Mastership Role {}", role);
@@ -210,7 +210,7 @@
ILock lock = theInstance.getLock(LOCK);
lock.lock();
try {
- MastershipRole role = getRole(nodeId, deviceId);
+ DeviceMastershipRole role = getRole(nodeId, deviceId);
switch (role) {
case MASTER:
event = reelect(nodeId, deviceId);
@@ -239,7 +239,7 @@
ILock lock = theInstance.getLock(LOCK);
lock.lock();
try {
- MastershipRole role = getRole(nodeId, deviceId);
+ DeviceMastershipRole role = getRole(nodeId, deviceId);
switch (role) {
case MASTER:
event = reelect(nodeId, deviceId);
diff --git a/core/store/hz/cluster/src/test/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStoreTest.java b/core/store/hz/cluster/src/test/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStoreTest.java
index d993250..d1b9407 100644
--- a/core/store/hz/cluster/src/test/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStoreTest.java
+++ b/core/store/hz/cluster/src/test/java/org/onlab/onos/store/cluster/impl/DistributedDeviceMastershipStoreTest.java
@@ -3,7 +3,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.onlab.onos.net.MastershipRole.*;
+import static org.onlab.onos.net.device.DeviceMastershipRole.*;
import java.util.Map;
import java.util.Set;
diff --git a/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java b/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java
index 729b01e..018fca6 100644
--- a/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java
+++ b/core/store/hz/net/src/main/java/org/onlab/onos/store/device/impl/NoOpClockProviderService.java
@@ -3,18 +3,18 @@
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.device.DeviceClockProviderService;
import org.onlab.onos.net.device.DeviceMastershipTerm;
-import org.onlab.onos.store.ClockProviderService;
// FIXME: Code clone in onos-core-trivial, onos-core-hz-net
/**
- * Dummy implementation of {@link ClockProviderService}.
+ * Dummy implementation of {@link DeviceClockProviderService}.
*/
@Component(immediate = true)
@Service
-public class NoOpClockProviderService implements ClockProviderService {
+public class NoOpClockProviderService implements DeviceClockProviderService {
@Override
- public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
+ public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
}
}
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoPoolUtil.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoPoolUtil.java
index 5676cb6..c32c04a 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoPoolUtil.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoPoolUtil.java
@@ -18,11 +18,11 @@
import org.onlab.onos.net.Element;
import org.onlab.onos.net.Link;
import org.onlab.onos.net.LinkKey;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.Port;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DefaultDeviceDescription;
import org.onlab.onos.net.device.DefaultPortDescription;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipTerm;
import org.onlab.onos.net.provider.ProviderId;
import org.onlab.packet.IpAddress;
@@ -59,7 +59,7 @@
DefaultControllerNode.class,
DefaultDevice.class,
DefaultDeviceDescription.class,
- MastershipRole.class,
+ DeviceMastershipRole.class,
Port.class,
DefaultPortDescription.class,
Element.class,
@@ -75,7 +75,7 @@
.register(ConnectPoint.class, new ConnectPointSerializer())
.register(DefaultLink.class, new DefaultLinkSerializer())
.register(DeviceMastershipTerm.class, new MastershipTermSerializer())
- .register(MastershipRole.class, new MastershipRoleSerializer())
+ .register(DeviceMastershipRole.class, new MastershipRoleSerializer())
.build();
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java
index dab5aa8..f94441e 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipRoleSerializer.java
@@ -1,6 +1,6 @@
package org.onlab.onos.store.serializers;
-import org.onlab.onos.net.MastershipRole;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
@@ -8,12 +8,12 @@
import com.esotericsoftware.kryo.io.Output;
/**
- * Kryo Serializer for {@link org.onlab.onos.net.MastershipRole}.
+ * Kryo Serializer for {@link org.onlab.onos.net.device.DeviceMastershipRole}.
*/
-public class MastershipRoleSerializer extends Serializer<MastershipRole> {
+public class MastershipRoleSerializer extends Serializer<DeviceMastershipRole> {
/**
- * Creates {@link MastershipRole} serializer instance.
+ * Creates {@link DeviceMastershipRole} serializer instance.
*/
public MastershipRoleSerializer() {
// non-null, immutable
@@ -21,13 +21,13 @@
}
@Override
- public MastershipRole read(Kryo kryo, Input input, Class<MastershipRole> type) {
+ public DeviceMastershipRole read(Kryo kryo, Input input, Class<DeviceMastershipRole> type) {
final String role = kryo.readObject(input, String.class);
- return MastershipRole.valueOf(role);
+ return DeviceMastershipRole.valueOf(role);
}
@Override
- public void write(Kryo kryo, Output output, MastershipRole object) {
+ public void write(Kryo kryo, Output output, DeviceMastershipRole object) {
kryo.writeObject(output, object.toString());
}
diff --git a/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTest.java b/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTest.java
index ab9e012..6d5b31d 100644
--- a/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTest.java
+++ b/core/store/serializers/src/test/java/org/onlab/onos/store/serializers/KryoSerializerTest.java
@@ -21,9 +21,9 @@
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.Link;
import org.onlab.onos.net.LinkKey;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.SparseAnnotations;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipTerm;
import org.onlab.onos.net.provider.ProviderId;
import org.onlab.packet.IpAddress;
@@ -115,7 +115,7 @@
testSerialized(PIDA);
testSerialized(new NodeId("bar"));
testSerialized(DeviceMastershipTerm.of(new NodeId("foo"), 2));
- for (MastershipRole role : MastershipRole.values()) {
+ for (DeviceMastershipRole role : DeviceMastershipRole.values()) {
testSerialized(role);
}
}
diff --git a/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java b/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java
index 5f3c2ef..afef76d 100644
--- a/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java
+++ b/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/NoOpClockProviderService.java
@@ -3,18 +3,18 @@
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.device.DeviceClockProviderService;
import org.onlab.onos.net.device.DeviceMastershipTerm;
-import org.onlab.onos.store.ClockProviderService;
//FIXME: Code clone in onos-core-trivial, onos-core-hz-net
/**
- * Dummy implementation of {@link ClockProviderService}.
+ * Dummy implementation of {@link DeviceClockProviderService}.
*/
@Component(immediate = true)
@Service
-public class NoOpClockProviderService implements ClockProviderService {
+public class NoOpClockProviderService implements DeviceClockProviderService {
@Override
- public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
+ public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term) {
}
}
diff --git a/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStore.java b/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStore.java
index 7f88edb..38ca2ee 100644
--- a/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStore.java
+++ b/core/store/trivial/src/main/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStore.java
@@ -17,8 +17,8 @@
import org.onlab.onos.cluster.DefaultControllerNode;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.device.DeviceMastershipEvent;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceMastershipStore;
import org.onlab.onos.net.device.DeviceMastershipStoreDelegate;
import org.onlab.onos.net.device.DeviceMastershipTerm;
@@ -64,7 +64,7 @@
@Override
public DeviceMastershipEvent setMaster(NodeId nodeId, DeviceId deviceId) {
- MastershipRole role = getRole(nodeId, deviceId);
+ DeviceMastershipRole role = getRole(nodeId, deviceId);
synchronized (this) {
switch (role) {
@@ -106,10 +106,10 @@
}
@Override
- public MastershipRole requestRole(DeviceId deviceId) {
+ public DeviceMastershipRole requestRole(DeviceId deviceId) {
//query+possible reelection
NodeId node = instance.id();
- MastershipRole role = getRole(node, deviceId);
+ DeviceMastershipRole role = getRole(node, deviceId);
switch (role) {
case MASTER:
@@ -121,7 +121,7 @@
if (rel == null) {
masterMap.put(deviceId, node);
termMap.put(deviceId, new AtomicInteger());
- role = MastershipRole.MASTER;
+ role = DeviceMastershipRole.MASTER;
}
backups.add(node);
}
@@ -132,7 +132,7 @@
masterMap.put(deviceId, node);
termMap.put(deviceId, new AtomicInteger());
backups.add(node);
- role = MastershipRole.MASTER;
+ role = DeviceMastershipRole.MASTER;
}
break;
default:
@@ -142,22 +142,22 @@
}
@Override
- public MastershipRole getRole(NodeId nodeId, DeviceId deviceId) {
+ public DeviceMastershipRole getRole(NodeId nodeId, DeviceId deviceId) {
//just query
NodeId current = masterMap.get(deviceId);
- MastershipRole role;
+ DeviceMastershipRole role;
if (current == null) {
if (backups.contains(nodeId)) {
- role = MastershipRole.STANDBY;
+ role = DeviceMastershipRole.STANDBY;
} else {
- role = MastershipRole.NONE;
+ role = DeviceMastershipRole.NONE;
}
} else {
if (current.equals(nodeId)) {
- role = MastershipRole.MASTER;
+ role = DeviceMastershipRole.MASTER;
} else {
- role = MastershipRole.STANDBY;
+ role = DeviceMastershipRole.STANDBY;
}
}
return role;
@@ -175,7 +175,7 @@
@Override
public DeviceMastershipEvent setStandby(NodeId nodeId, DeviceId deviceId) {
- MastershipRole role = getRole(nodeId, deviceId);
+ DeviceMastershipRole role = getRole(nodeId, deviceId);
synchronized (this) {
switch (role) {
case MASTER:
diff --git a/core/store/trivial/src/test/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStoreTest.java b/core/store/trivial/src/test/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStoreTest.java
index d3430ca..a1cc132 100644
--- a/core/store/trivial/src/test/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStoreTest.java
+++ b/core/store/trivial/src/test/java/org/onlab/onos/store/trivial/impl/SimpleMastershipStoreTest.java
@@ -15,8 +15,8 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.onlab.onos.net.MastershipRole.*;
import static org.onlab.onos.net.device.DeviceMastershipEvent.Type.*;
+import static org.onlab.onos.net.device.DeviceMastershipRole.*;
/**
* Test for the simple MastershipStore implementation.
diff --git a/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
index 8958fb6..1f20162 100644
--- a/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
+++ b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
@@ -7,11 +7,11 @@
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.device.DefaultDeviceDescription;
import org.onlab.onos.net.device.DefaultPortDescription;
import org.onlab.onos.net.device.DeviceDescription;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceProvider;
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
@@ -91,7 +91,7 @@
}
@Override
- public void roleChanged(Device device, MastershipRole newRole) {
+ public void roleChanged(Device device, DeviceMastershipRole newRole) {
switch (newRole) {
case MASTER:
controller.setRole(dpid(device.id().uri()), RoleState.MASTER);
@@ -144,16 +144,16 @@
@Override
public void roleAssertFailed(Dpid dpid, RoleState role) {
- MastershipRole failed;
+ DeviceMastershipRole failed;
switch (role) {
case MASTER:
- failed = MastershipRole.MASTER;
+ failed = DeviceMastershipRole.MASTER;
break;
case EQUAL:
- failed = MastershipRole.STANDBY;
+ failed = DeviceMastershipRole.STANDBY;
break;
case SLAVE:
- failed = MastershipRole.NONE;
+ failed = DeviceMastershipRole.NONE;
break;
default:
LOG.warn("unknown role {}", role);
diff --git a/providers/openflow/device/src/test/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProviderTest.java b/providers/openflow/device/src/test/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProviderTest.java
index 8196cb8..564abf2 100644
--- a/providers/openflow/device/src/test/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProviderTest.java
+++ b/providers/openflow/device/src/test/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProviderTest.java
@@ -5,7 +5,7 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.onlab.onos.net.Device.Type.*;
-import static org.onlab.onos.net.MastershipRole.*;
+import static org.onlab.onos.net.device.DeviceMastershipRole.*;
import java.util.ArrayList;
import java.util.HashMap;
@@ -20,8 +20,8 @@
import org.onlab.onos.net.DefaultDevice;
import org.onlab.onos.net.Device;
import org.onlab.onos.net.DeviceId;
-import org.onlab.onos.net.MastershipRole;
import org.onlab.onos.net.device.DeviceDescription;
+import org.onlab.onos.net.device.DeviceMastershipRole;
import org.onlab.onos.net.device.DeviceProvider;
import org.onlab.onos.net.device.DeviceProviderRegistry;
import org.onlab.onos.net.device.DeviceProviderService;
@@ -143,7 +143,7 @@
Set<DeviceId> connected = new HashSet<>();
Multimap<DeviceId, PortDescription> ports = HashMultimap.create();
PortDescription descr = null;
- Map<MastershipRole, Dpid> roles = new HashMap<>();
+ Map<DeviceMastershipRole, Dpid> roles = new HashMap<>();
@Override
public DeviceProviderService register(DeviceProvider provider) {
@@ -195,7 +195,7 @@
}
@Override
- public void unableToAssertRole(DeviceId deviceId, MastershipRole role) {
+ public void unableToAssertRole(DeviceId deviceId, DeviceMastershipRole role) {
roles.put(role, Dpid.dpid(deviceId.uri()));
}