mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-15 09:21:06 +02:00
Removed deprecated classes/interfaces
IntentBatchLeaderEvent IntentBatchListener IntentBatchService Change-Id: I712f0eb0b26d9bfaa820a14022c1dd30943fab27
This commit is contained in:
parent
55a551869f
commit
2da272b94e
@ -56,7 +56,6 @@ import org.onosproject.net.host.HostService;
|
|||||||
import org.onosproject.net.intent.Constraint;
|
import org.onosproject.net.intent.Constraint;
|
||||||
import org.onosproject.net.intent.HostToHostIntent;
|
import org.onosproject.net.intent.HostToHostIntent;
|
||||||
import org.onosproject.net.intent.Intent;
|
import org.onosproject.net.intent.Intent;
|
||||||
import org.onosproject.net.intent.IntentBatchService;
|
|
||||||
import org.onosproject.net.intent.IntentService;
|
import org.onosproject.net.intent.IntentService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
@ -102,9 +101,6 @@ public class DemoInstaller implements DemoAPI {
|
|||||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||||
protected MastershipService mastershipService;
|
protected MastershipService mastershipService;
|
||||||
|
|
||||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
|
||||||
protected IntentBatchService intentBatchService;
|
|
||||||
|
|
||||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||||
protected ClusterService clusterService;
|
protected ClusterService clusterService;
|
||||||
|
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2014 Open Networking Laboratory
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.onosproject.net.intent;
|
|
||||||
|
|
||||||
import org.onosproject.core.ApplicationId;
|
|
||||||
import org.onosproject.event.AbstractEvent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A class to represent an intent related event.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public class IntentBatchLeaderEvent extends AbstractEvent<IntentBatchLeaderEvent.Type, ApplicationId> {
|
|
||||||
|
|
||||||
public enum Type {
|
|
||||||
/**
|
|
||||||
* Signifies that this instance has become the leader for the given application id.
|
|
||||||
*/
|
|
||||||
ELECTED,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Signifies that instance is no longer the leader for a given application id.
|
|
||||||
*/
|
|
||||||
BOOTED
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an event of a given type and for the specified appId and the
|
|
||||||
* current time.
|
|
||||||
*
|
|
||||||
* @param type event type
|
|
||||||
* @param appId subject appId
|
|
||||||
* @param time time the event created in milliseconds since start of epoch
|
|
||||||
*/
|
|
||||||
public IntentBatchLeaderEvent(Type type, ApplicationId appId, long time) {
|
|
||||||
super(type, appId, time);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an event of a given type and for the specified appId and the
|
|
||||||
* current time.
|
|
||||||
*
|
|
||||||
* @param type event type
|
|
||||||
* @param appId subject appId
|
|
||||||
*/
|
|
||||||
public IntentBatchLeaderEvent(Type type, ApplicationId appId) {
|
|
||||||
super(type, appId);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2014 Open Networking Laboratory
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.onosproject.net.intent;
|
|
||||||
|
|
||||||
import org.onosproject.event.EventListener;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Listener for {@link org.onosproject.net.intent.IntentEvent intent events}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public interface IntentBatchListener extends EventListener<IntentBatchLeaderEvent> {
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2014 Open Networking Laboratory
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.onosproject.net.intent;
|
|
||||||
|
|
||||||
import org.onosproject.core.ApplicationId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Service for tracking and delegating batches of intent operations.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public interface IntentBatchService {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return true if this instance is the local leader for batch
|
|
||||||
* processing a given application id.
|
|
||||||
*
|
|
||||||
* @param applicationId an application id
|
|
||||||
* @return true if this instance is the local leader for batch
|
|
||||||
*/
|
|
||||||
boolean isLocalLeader(ApplicationId applicationId);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the batch service delegate.
|
|
||||||
*
|
|
||||||
* @param delegate delegate to apply
|
|
||||||
*/
|
|
||||||
void setDelegate(IntentBatchDelegate delegate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unsets the batch service delegate.
|
|
||||||
*
|
|
||||||
* @param delegate delegate to unset
|
|
||||||
*/
|
|
||||||
void unsetDelegate(IntentBatchDelegate delegate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds the specified listener for intent batch leadership events.
|
|
||||||
*
|
|
||||||
* @param listener listener to be added
|
|
||||||
*/
|
|
||||||
void addListener(IntentBatchListener listener);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes the specified listener for intent batch leadership events.
|
|
||||||
*
|
|
||||||
* @param listener listener to be removed
|
|
||||||
*/
|
|
||||||
void removeListener(IntentBatchListener listener);
|
|
||||||
}
|
|
@ -29,9 +29,6 @@ import org.onosproject.event.Event;
|
|||||||
import org.onosproject.net.Link;
|
import org.onosproject.net.Link;
|
||||||
import org.onosproject.net.LinkKey;
|
import org.onosproject.net.LinkKey;
|
||||||
import org.onosproject.net.NetworkResource;
|
import org.onosproject.net.NetworkResource;
|
||||||
import org.onosproject.net.intent.IntentBatchLeaderEvent;
|
|
||||||
import org.onosproject.net.intent.IntentBatchListener;
|
|
||||||
import org.onosproject.net.intent.IntentBatchService;
|
|
||||||
import org.onosproject.net.intent.IntentId;
|
import org.onosproject.net.intent.IntentId;
|
||||||
import org.onosproject.net.intent.IntentService;
|
import org.onosproject.net.intent.IntentService;
|
||||||
import org.onosproject.net.link.LinkEvent;
|
import org.onosproject.net.link.LinkEvent;
|
||||||
@ -80,23 +77,18 @@ public class ObjectiveTracker implements ObjectiveTrackerService {
|
|||||||
@Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY)
|
@Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY)
|
||||||
protected IntentService intentService;
|
protected IntentService intentService;
|
||||||
|
|
||||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
|
||||||
protected IntentBatchService batchService;
|
|
||||||
|
|
||||||
private ExecutorService executorService =
|
private ExecutorService executorService =
|
||||||
newSingleThreadExecutor(namedThreads("onos-flowtracker"));
|
newSingleThreadExecutor(namedThreads("onos-flowtracker"));
|
||||||
|
|
||||||
private TopologyListener listener = new InternalTopologyListener();
|
private TopologyListener listener = new InternalTopologyListener();
|
||||||
private LinkResourceListener linkResourceListener =
|
private LinkResourceListener linkResourceListener =
|
||||||
new InternalLinkResourceListener();
|
new InternalLinkResourceListener();
|
||||||
private final LeadershipListener leaderListener = new LeadershipListener();
|
|
||||||
private TopologyChangeDelegate delegate;
|
private TopologyChangeDelegate delegate;
|
||||||
|
|
||||||
@Activate
|
@Activate
|
||||||
public void activate() {
|
public void activate() {
|
||||||
topologyService.addListener(listener);
|
topologyService.addListener(listener);
|
||||||
resourceManager.addListener(linkResourceListener);
|
resourceManager.addListener(linkResourceListener);
|
||||||
batchService.addListener(leaderListener);
|
|
||||||
log.info("Started");
|
log.info("Started");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +96,6 @@ public class ObjectiveTracker implements ObjectiveTrackerService {
|
|||||||
public void deactivate() {
|
public void deactivate() {
|
||||||
topologyService.removeListener(listener);
|
topologyService.removeListener(listener);
|
||||||
resourceManager.removeListener(linkResourceListener);
|
resourceManager.removeListener(linkResourceListener);
|
||||||
batchService.removeListener(leaderListener);
|
|
||||||
log.info("Stopped");
|
log.info("Stopped");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -265,22 +256,4 @@ public class ObjectiveTracker implements ObjectiveTrackerService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private class LeadershipListener implements IntentBatchListener {
|
|
||||||
@Override
|
|
||||||
public void event(IntentBatchLeaderEvent event) {
|
|
||||||
log.debug("leadership event: {}", event);
|
|
||||||
ApplicationId appId = event.subject();
|
|
||||||
switch (event.type()) {
|
|
||||||
case ELECTED:
|
|
||||||
updateTrackedResources(appId, true);
|
|
||||||
break;
|
|
||||||
case BOOTED:
|
|
||||||
updateTrackedResources(appId, false);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -26,17 +26,13 @@ import org.junit.After;
|
|||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.onlab.junit.TestUtils;
|
import org.onlab.junit.TestUtils;
|
||||||
|
import org.onlab.junit.TestUtils.TestUtilsException;
|
||||||
import org.onosproject.core.IdGenerator;
|
import org.onosproject.core.IdGenerator;
|
||||||
import org.onosproject.event.Event;
|
import org.onosproject.event.Event;
|
||||||
import org.onosproject.net.Link;
|
import org.onosproject.net.Link;
|
||||||
import org.onosproject.net.LinkKey;
|
|
||||||
import org.onosproject.net.NetTestTools;
|
|
||||||
import org.onosproject.net.NetworkResource;
|
import org.onosproject.net.NetworkResource;
|
||||||
import org.onosproject.net.intent.Intent;
|
import org.onosproject.net.intent.Intent;
|
||||||
import org.onosproject.net.intent.IntentBatchLeaderEvent;
|
|
||||||
import org.onosproject.net.intent.IntentBatchListener;
|
|
||||||
import org.onosproject.net.intent.IntentId;
|
import org.onosproject.net.intent.IntentId;
|
||||||
import org.onosproject.net.intent.IntentService;
|
|
||||||
import org.onosproject.net.intent.MockIdGenerator;
|
import org.onosproject.net.intent.MockIdGenerator;
|
||||||
import org.onosproject.net.link.LinkEvent;
|
import org.onosproject.net.link.LinkEvent;
|
||||||
import org.onosproject.net.resource.LinkResourceEvent;
|
import org.onosproject.net.resource.LinkResourceEvent;
|
||||||
@ -45,20 +41,15 @@ import org.onosproject.net.topology.Topology;
|
|||||||
import org.onosproject.net.topology.TopologyEvent;
|
import org.onosproject.net.topology.TopologyEvent;
|
||||||
import org.onosproject.net.topology.TopologyListener;
|
import org.onosproject.net.topology.TopologyListener;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.SetMultimap;
|
|
||||||
|
|
||||||
import static org.easymock.EasyMock.createMock;
|
import static org.easymock.EasyMock.createMock;
|
||||||
import static org.easymock.EasyMock.expect;
|
|
||||||
import static org.easymock.EasyMock.replay;
|
|
||||||
import static org.hamcrest.MatcherAssert.assertThat;
|
import static org.hamcrest.MatcherAssert.assertThat;
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.hamcrest.Matchers.hasSize;
|
import static org.hamcrest.Matchers.hasSize;
|
||||||
import static org.hamcrest.Matchers.is;
|
import static org.hamcrest.Matchers.is;
|
||||||
import static org.onosproject.net.NetTestTools.link;
|
import static org.onosproject.net.NetTestTools.link;
|
||||||
import org.onlab.junit.TestUtils.TestUtilsException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for the objective tracker.
|
* Tests for the objective tracker.
|
||||||
@ -71,7 +62,6 @@ public class ObjectiveTrackerTest {
|
|||||||
private List<Event> reasons;
|
private List<Event> reasons;
|
||||||
private TopologyListener listener;
|
private TopologyListener listener;
|
||||||
private LinkResourceListener linkResourceListener;
|
private LinkResourceListener linkResourceListener;
|
||||||
private IntentBatchListener leaderListener;
|
|
||||||
private IdGenerator mockGenerator;
|
private IdGenerator mockGenerator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -88,7 +78,6 @@ public class ObjectiveTrackerTest {
|
|||||||
reasons = new LinkedList<>();
|
reasons = new LinkedList<>();
|
||||||
listener = TestUtils.getField(tracker, "listener");
|
listener = TestUtils.getField(tracker, "listener");
|
||||||
linkResourceListener = TestUtils.getField(tracker, "linkResourceListener");
|
linkResourceListener = TestUtils.getField(tracker, "linkResourceListener");
|
||||||
leaderListener = TestUtils.getField(tracker, "leaderListener");
|
|
||||||
mockGenerator = new MockIdGenerator();
|
mockGenerator = new MockIdGenerator();
|
||||||
Intent.bindIdGenerator(mockGenerator);
|
Intent.bindIdGenerator(mockGenerator);
|
||||||
}
|
}
|
||||||
@ -122,32 +111,6 @@ public class ObjectiveTrackerTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Mock compilable intent class.
|
|
||||||
*/
|
|
||||||
private static class MockIntent extends Intent {
|
|
||||||
|
|
||||||
public MockIntent(Collection<NetworkResource> resources) {
|
|
||||||
super(NetTestTools.APP_ID, resources);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mock installable intent class.
|
|
||||||
*/
|
|
||||||
private static class MockInstallableIntent extends Intent {
|
|
||||||
public MockInstallableIntent(Collection<NetworkResource> resources) {
|
|
||||||
super(NetTestTools.APP_ID, resources);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isInstallable() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests an event with no associated reasons.
|
* Tests an event with no associated reasons.
|
||||||
*
|
*
|
||||||
@ -271,52 +234,4 @@ public class ObjectiveTrackerTest {
|
|||||||
assertThat(delegate.compileAllFailedFromEvent, is(true));
|
assertThat(delegate.compileAllFailedFromEvent, is(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests leadership events.
|
|
||||||
*
|
|
||||||
* @throws InterruptedException if the latch wait fails.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testLeaderEvents() throws Exception {
|
|
||||||
|
|
||||||
final Link link = link("src", 1, "dst", 2);
|
|
||||||
final List<NetworkResource> resources = ImmutableList.of(link);
|
|
||||||
|
|
||||||
final List<Intent> intents = new LinkedList<>();
|
|
||||||
final List<Intent> installableIntents = new LinkedList<>();
|
|
||||||
installableIntents.add(new MockInstallableIntent(resources));
|
|
||||||
intents.add(new MockIntent(resources));
|
|
||||||
|
|
||||||
final SetMultimap<LinkKey, IntentId> intentsByLink =
|
|
||||||
TestUtils.getField(tracker, "intentsByLink");
|
|
||||||
assertThat(intentsByLink.size(), is(0));
|
|
||||||
|
|
||||||
final IntentService mockIntentManager = createMock(IntentService.class);
|
|
||||||
expect(mockIntentManager
|
|
||||||
.getIntents())
|
|
||||||
.andReturn(intents)
|
|
||||||
.anyTimes();
|
|
||||||
expect(mockIntentManager
|
|
||||||
.getIntent(IntentId.valueOf(0x0)))
|
|
||||||
.andReturn(intents.get(0))
|
|
||||||
.anyTimes();
|
|
||||||
expect(mockIntentManager
|
|
||||||
.getInstallableIntents(IntentId.valueOf(0x1)))
|
|
||||||
.andReturn(installableIntents)
|
|
||||||
.anyTimes();
|
|
||||||
replay(mockIntentManager);
|
|
||||||
tracker.bindIntentService(mockIntentManager);
|
|
||||||
|
|
||||||
final IntentBatchLeaderEvent electedEvent = new IntentBatchLeaderEvent(
|
|
||||||
IntentBatchLeaderEvent.Type.ELECTED, NetTestTools.APP_ID);
|
|
||||||
leaderListener.event(electedEvent);
|
|
||||||
assertThat(intentsByLink.size(), is(1));
|
|
||||||
|
|
||||||
final IntentBatchLeaderEvent bootedEvent = new IntentBatchLeaderEvent(
|
|
||||||
IntentBatchLeaderEvent.Type.BOOTED, NetTestTools.APP_ID);
|
|
||||||
leaderListener.event(bootedEvent);
|
|
||||||
assertThat(intentsByLink.size(), is(0));
|
|
||||||
|
|
||||||
tracker.unbindIntentService(mockIntentManager);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user