<type xmlns:bgpspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:parser:spi">bgpspi:extensions</type>
<name>global-bgp-extensions</name>
</bgp-extensions>
- <timer>
- <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-timer</type>
- <name>global-timer</name>
- </timer>
<boss-group>
<type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
<name>global-boss-group</name>
@Override
public java.lang.AutoCloseable createInstance() {
final BGPExtensionConsumerContext bgpExtensions = getBgpExtensionsDependency();
- return new BGPDispatcherImpl(bgpExtensions.getMessageRegistry(), getTimerDependency(), getBossGroupDependency(), getWorkerGroupDependency(), getMd5ChannelFactoryDependency(), getMd5ServerChannelFactoryDependency());
+ return new BGPDispatcherImpl(bgpExtensions.getMessageRegistry(), getBossGroupDependency(), getWorkerGroupDependency(), getMd5ChannelFactoryDependency(), getMd5ServerChannelFactoryDependency());
}
}
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
+
import io.netty.channel.Channel;
-import io.netty.util.Timeout;
-import io.netty.util.Timer;
-import io.netty.util.TimerTask;
import io.netty.util.concurrent.Promise;
+
import java.util.concurrent.TimeUnit;
+
import javax.annotation.concurrent.GuardedBy;
+
import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
import org.opendaylight.protocol.bgp.parser.BGPError;
import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
}
private static final Logger LOG = LoggerFactory.getLogger(AbstractBGPSessionNegotiator.class);
- private final Timer timer;
private final BGPPeerRegistry registry;
private final BGPSessionValidator sessionValidator;
@GuardedBy("this")
private BGPSessionImpl session;
- public AbstractBGPSessionNegotiator(final Timer timer, final Promise<BGPSessionImpl> promise, final Channel channel,
- final BGPPeerRegistry registry, final BGPSessionValidator sessionValidator) {
+ public AbstractBGPSessionNegotiator(final Promise<BGPSessionImpl> promise, final Channel channel,
+ final BGPPeerRegistry registry, final BGPSessionValidator sessionValidator) {
super(promise, channel);
this.registry = registry;
this.sessionValidator = sessionValidator;
- this.timer = Preconditions.checkNotNull(timer);
}
@Override
if (!registry.isPeerConfigured(getRemoteIp())) {
final BGPDocumentedException cause = new BGPDocumentedException(
"BGP peer with ip: " + getRemoteIp()
- + " not configured, check configured peers in : "
- + registry, BGPError.CEASE);
+ + " not configured, check configured peers in : "
+ + registry, BGPError.CEASE);
negotiationFailed(cause);
return;
}
preferences.getBgpId()).setBgpParameters(preferences.getParams()).build());
this.state = State.OpenSent;
- final Object lock = this;
- this.timer.newTimeout(new TimerTask() {
+ this.channel.eventLoop().schedule(new Runnable() {
@Override
- public void run(final Timeout timeout) {
- synchronized (lock) {
- if (AbstractBGPSessionNegotiator.this.state != State.Finished) {
- AbstractBGPSessionNegotiator.this.sendMessage(buildErrorNotify(BGPError.HOLD_TIMER_EXPIRED));
- negotiationFailed(new BGPDocumentedException("HoldTimer expired", BGPError.FSM_ERROR));
- AbstractBGPSessionNegotiator.this.state = State.Finished;
- }
+ public void run() {
+ if (AbstractBGPSessionNegotiator.this.state != State.Finished) {
+ AbstractBGPSessionNegotiator.this.sendMessage(buildErrorNotify(BGPError.HOLD_TIMER_EXPIRED));
+ negotiationFailed(new BGPDocumentedException("HoldTimer expired", BGPError.FSM_ERROR));
+ AbstractBGPSessionNegotiator.this.state = State.Finished;
}
}
}, INITIAL_HOLDTIMER, TimeUnit.MINUTES);
try {
final BGPSessionListener peer = registry.getPeer(getRemoteIp(), getSourceId(openObj, getPreferences()), getDestinationId(openObj, getPreferences()));
this.sendMessage(new KeepaliveBuilder().build());
- this.session = new BGPSessionImpl(this.timer, peer, this.channel, openObj, getPreferences().getHoldTime());
+ this.session = new BGPSessionImpl(peer, this.channel, openObj, getPreferences().getHoldTime());
this.state = State.OpenConfirm;
LOG.debug("Channel {} moved to OpenConfirm state with remote proposal {}", this.channel, openObj);
} catch (final BGPDocumentedException e) {
package org.opendaylight.protocol.bgp.rib.impl;
import io.netty.channel.Channel;
-import io.netty.util.Timer;
import io.netty.util.concurrent.Promise;
-import org.opendaylight.protocol.bgp.rib.impl.AbstractBGPSessionNegotiator;
-import org.opendaylight.protocol.bgp.rib.impl.BGPSessionImpl;
+
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionPreferences;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionValidator;
*/
public final class BGPClientSessionNegotiator extends AbstractBGPSessionNegotiator {
- public BGPClientSessionNegotiator(final Timer timer,
- final Promise<BGPSessionImpl> promise, final Channel channel,
- final BGPPeerRegistry registry,
- final BGPSessionValidator sessionValidator) {
- super(timer, promise, channel, registry, sessionValidator);
+ public BGPClientSessionNegotiator(final Promise<BGPSessionImpl> promise, final Channel channel,
+ final BGPPeerRegistry registry, final BGPSessionValidator sessionValidator) {
+ super(promise, channel, registry, sessionValidator);
}
- protected Ipv4Address getDestinationId(final Open openMsg,
- final BGPSessionPreferences preferences) {
+ @Override
+ protected Ipv4Address getDestinationId(final Open openMsg, final BGPSessionPreferences preferences) {
return preferences.getBgpId();
}
- protected Ipv4Address getSourceId(final Open openMsg,
- final BGPSessionPreferences preferences) {
+ @Override
+ protected Ipv4Address getSourceId(final Open openMsg, final BGPSessionPreferences preferences) {
return openMsg.getBgpIdentifier();
}
}
*/
package org.opendaylight.protocol.bgp.rib.impl;
-import com.google.common.base.Preconditions;
import io.netty.channel.Channel;
-import io.netty.util.Timer;
import io.netty.util.concurrent.Promise;
+
import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.framework.SessionListenerFactory;
public final class BGPClientSessionNegotiatorFactory implements SessionNegotiatorFactory<Notification, BGPSessionImpl, BGPSessionListener> {
private final BGPClientSessionValidator validator;
- private final Timer timer;
private final BGPPeerRegistry peerRegistry;
- public BGPClientSessionNegotiatorFactory(final Timer timer, final AsNumber remoteAs, final BGPPeerRegistry peerRegistry) {
+ public BGPClientSessionNegotiatorFactory(final AsNumber remoteAs, final BGPPeerRegistry peerRegistry) {
this.peerRegistry = peerRegistry;
- this.timer = Preconditions.checkNotNull(timer);
this.validator = new BGPClientSessionValidator(remoteAs);
}
@Override
public SessionNegotiator<BGPSessionImpl> getSessionNegotiator(final SessionListenerFactory<BGPSessionListener> factory,
final Channel channel, final Promise<BGPSessionImpl> promise) {
- return new BGPClientSessionNegotiator(this.timer, promise, channel, peerRegistry, validator);
+ return new BGPClientSessionNegotiator(promise, channel, peerRegistry, validator);
}
}
*/
package org.opendaylight.protocol.bgp.rib.impl;
-import com.google.common.base.Preconditions;
import io.netty.bootstrap.Bootstrap;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.socket.SocketChannel;
-import io.netty.util.Timer;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.Promise;
+
import java.net.InetSocketAddress;
+
import org.opendaylight.bgpcep.tcpmd5.KeyMapping;
import org.opendaylight.bgpcep.tcpmd5.netty.MD5ChannelFactory;
import org.opendaylight.bgpcep.tcpmd5.netty.MD5ChannelOption;
private final MD5ServerChannelFactory<?> scf;
private final MD5ChannelFactory<?> cf;
private final BGPHandlerFactory hf;
- private final Timer timer;
private KeyMapping keys;
- public BGPDispatcherImpl(final MessageRegistry messageRegistry, final Timer timer, final EventLoopGroup bossGroup,
- final EventLoopGroup workerGroup) {
- this(messageRegistry, timer, bossGroup, workerGroup, null, null);
+ public BGPDispatcherImpl(final MessageRegistry messageRegistry, final EventLoopGroup bossGroup, final EventLoopGroup workerGroup) {
+ this(messageRegistry, bossGroup, workerGroup, null, null);
}
- public BGPDispatcherImpl(final MessageRegistry messageRegistry, final Timer timer, final EventLoopGroup bossGroup,
- final EventLoopGroup workerGroup, final MD5ChannelFactory<?> cf, final MD5ServerChannelFactory<?> scf) {
+ public BGPDispatcherImpl(final MessageRegistry messageRegistry, final EventLoopGroup bossGroup, final EventLoopGroup workerGroup, final MD5ChannelFactory<?> cf, final MD5ServerChannelFactory<?> scf) {
super(bossGroup, workerGroup);
- this.timer = Preconditions.checkNotNull(timer);
this.hf = new BGPHandlerFactory(messageRegistry);
this.cf = cf;
this.scf = scf;
@Override
public synchronized Future<BGPSessionImpl> createClient(final InetSocketAddress address,
final AsNumber remoteAs, final BGPPeerRegistry listener, final ReconnectStrategy strategy) {
- final BGPClientSessionNegotiatorFactory snf = new BGPClientSessionNegotiatorFactory(this.timer, remoteAs, listener);
+ final BGPClientSessionNegotiatorFactory snf = new BGPClientSessionNegotiatorFactory(remoteAs, listener);
return super.createClient(address, strategy, new PipelineInitializer<BGPSessionImpl>() {
@Override
public void initializeChannel(final SocketChannel ch, final Promise<BGPSessionImpl> promise) {
public synchronized Future<Void> createReconnectingClient(final InetSocketAddress address,
final AsNumber remoteAs, final BGPPeerRegistry peerRegistry, final ReconnectStrategyFactory connectStrategyFactory,
final ReconnectStrategyFactory reestablishStrategyFactory, final KeyMapping keys) {
- final BGPClientSessionNegotiatorFactory snf = new BGPClientSessionNegotiatorFactory(this.timer, remoteAs, peerRegistry);
+ final BGPClientSessionNegotiatorFactory snf = new BGPClientSessionNegotiatorFactory(remoteAs, peerRegistry);
this.keys = keys;
- final Future<Void> ret = super.createReconnectingClient(address, connectStrategyFactory,
- reestablishStrategyFactory.createReconnectStrategy(), new PipelineInitializer<BGPSessionImpl>() {
- @Override
- public void initializeChannel(final SocketChannel ch, final Promise<BGPSessionImpl> promise) {
- ch.pipeline().addLast(BGPDispatcherImpl.this.hf.getDecoders());
- ch.pipeline().addLast("negotiator", snf.getSessionNegotiator(null, ch, promise));
- ch.pipeline().addLast(BGPDispatcherImpl.this.hf.getEncoders());
- }
- });
+ final Future<Void> ret = super.createReconnectingClient(address, connectStrategyFactory, reestablishStrategyFactory.createReconnectStrategy(), new PipelineInitializer<BGPSessionImpl>() {
+ @Override
+ public void initializeChannel(final SocketChannel ch, final Promise<BGPSessionImpl> promise) {
+ ch.pipeline().addLast(BGPDispatcherImpl.this.hf.getDecoders());
+ ch.pipeline().addLast("negotiator", snf.getSessionNegotiator(null, ch, promise));
+ ch.pipeline().addLast(BGPDispatcherImpl.this.hf.getEncoders());
+ }
+ });
this.keys = null;
return ret;
@Override
public ChannelFuture createServer(final BGPPeerRegistry registry, final InetSocketAddress address, final BGPSessionValidator sessionValidator, final KeyMapping keys) {
- final BGPServerSessionNegotiatorFactory snf = new BGPServerSessionNegotiatorFactory(this.timer, sessionValidator, registry);
+ final BGPServerSessionNegotiatorFactory snf = new BGPServerSessionNegotiatorFactory(sessionValidator, registry);
this.keys = keys;
final ChannelFuture ret = super.createServer(address, new PipelineInitializer<BGPSessionImpl>() {
package org.opendaylight.protocol.bgp.rib.impl;
import io.netty.channel.Channel;
-import io.netty.util.Timer;
import io.netty.util.concurrent.Promise;
-import org.opendaylight.protocol.bgp.rib.impl.AbstractBGPSessionNegotiator;
-import org.opendaylight.protocol.bgp.rib.impl.BGPSessionImpl;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionPreferences;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionValidator;
*/
public final class BGPServerSessionNegotiator extends AbstractBGPSessionNegotiator {
- public BGPServerSessionNegotiator(final Timer timer,
- final Promise<BGPSessionImpl> promise, final Channel channel,
- final BGPPeerRegistry registry,
- final BGPSessionValidator sessionValidator) {
- super(timer, promise, channel, registry, sessionValidator);
+ public BGPServerSessionNegotiator(final Promise<BGPSessionImpl> promise, final Channel channel,
+ final BGPPeerRegistry registry, final BGPSessionValidator sessionValidator) {
+ super(promise, channel, registry, sessionValidator);
}
- protected Ipv4Address getSourceId(final Open openMsg,
- final BGPSessionPreferences preferences) {
+ @Override
+ protected Ipv4Address getSourceId(final Open openMsg, final BGPSessionPreferences preferences) {
return preferences.getBgpId();
}
- protected Ipv4Address getDestinationId(final Open openMsg,
- final BGPSessionPreferences preferences) {
+ @Override
+ protected Ipv4Address getDestinationId(final Open openMsg, final BGPSessionPreferences preferences) {
return openMsg.getBgpIdentifier();
}
}
import com.google.common.base.Preconditions;
import io.netty.channel.Channel;
-import io.netty.util.Timer;
import io.netty.util.concurrent.Promise;
import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
import org.opendaylight.yangtools.yang.binding.Notification;
public final class BGPServerSessionNegotiatorFactory implements SessionNegotiatorFactory<Notification, BGPSessionImpl, BGPSessionListener> {
- private final Timer timer;
private final BGPSessionValidator validator;
private final BGPPeerRegistry registry;
- public BGPServerSessionNegotiatorFactory(final Timer timer, final BGPSessionValidator sessionValidator, final BGPPeerRegistry registry) {
+ public BGPServerSessionNegotiatorFactory(final BGPSessionValidator sessionValidator, final BGPPeerRegistry registry) {
this.registry = registry;
- this.timer = Preconditions.checkNotNull(timer);
this.validator = Preconditions.checkNotNull(sessionValidator);
}
@Override
public SessionNegotiator<BGPSessionImpl> getSessionNegotiator(final SessionListenerFactory<BGPSessionListener> factory,
final Channel channel, final Promise<BGPSessionImpl> promise) {
- return new BGPServerSessionNegotiator(this.timer, promise, channel, registry, validator);
+ return new BGPServerSessionNegotiator(promise, channel, registry, validator);
}
}
import com.google.common.collect.Sets;
import io.netty.channel.Channel;
-import io.netty.util.Timeout;
-import io.netty.util.Timer;
-import io.netty.util.TimerTask;
import java.io.IOException;
import java.util.Date;
private final BGPSessionListener listener;
- /**
- * Timer object grouping FSM Timers
- */
- private final Timer stateTimer;
-
private final BGPSynchronization sync;
private int kaCounter = 0;
private final AsNumber asNumber;
private final Ipv4Address bgpId;
- public BGPSessionImpl(final Timer timer, final BGPSessionListener listener, final Channel channel, final Open remoteOpen,
- final int localHoldTimer) {
+ public BGPSessionImpl(final BGPSessionListener listener, final Channel channel, final Open remoteOpen, final int localHoldTimer) {
this.listener = Preconditions.checkNotNull(listener);
- this.stateTimer = Preconditions.checkNotNull(timer);
this.channel = Preconditions.checkNotNull(channel);
this.holdTimerValue = (remoteOpen.getHoldTimer() < localHoldTimer) ? remoteOpen.getHoldTimer() : localHoldTimer;
LOG.info("BGP HoldTimer new value: {}", this.holdTimerValue);
this.tableTypes = tats;
if (this.holdTimerValue != 0) {
- this.stateTimer.newTimeout(new TimerTask() {
-
+ channel.eventLoop().schedule(new Runnable() {
@Override
- public void run(final Timeout timeout) {
+ public void run() {
handleHoldTimer();
}
}, this.holdTimerValue, TimeUnit.SECONDS);
- this.stateTimer.newTimeout(new TimerTask() {
+ channel.eventLoop().schedule(new Runnable() {
@Override
- public void run(final Timeout timeout) {
+ public void run() {
handleKeepaliveTimer();
}
}, this.keepAlive, TimeUnit.SECONDS);
LOG.debug("HoldTimer expired. {}", new Date());
this.terminate(BGPError.HOLD_TIMER_EXPIRED);
} else {
- this.stateTimer.newTimeout(new TimerTask() {
+ this.channel.eventLoop().schedule(new Runnable() {
@Override
- public void run(final Timeout timeout) {
+ public void run() {
handleHoldTimer();
}
}, nextHold - ct, TimeUnit.NANOSECONDS);
this.sendMessage(KEEP_ALIVE);
nextKeepalive = this.lastMessageSentAt + TimeUnit.SECONDS.toNanos(this.keepAlive);
}
- this.stateTimer.newTimeout(new TimerTask() {
+ this.channel.eventLoop().schedule(new Runnable() {
@Override
- public void run(final Timeout timeout) {
+ public void run() {
handleKeepaliveTimer();
}
}, nextKeepalive - ct, TimeUnit.NANOSECONDS);
}
}
- container timer {
- uses config:service-ref {
- refine type {
- mandatory true;
- config:required-identity netty:netty-timer;
- }
- }
- }
-
container boss-group {
uses config:service-ref {
refine type {
import javax.management.InstanceAlreadyExistsException;
import javax.management.ObjectName;
-
import org.junit.Before;
import org.junit.Test;
import org.opendaylight.controller.config.api.jmx.CommitStatus;
import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleMXBean;
import org.opendaylight.controller.config.yang.netty.timer.HashedWheelTimerModuleFactory;
-import org.opendaylight.controller.config.yang.netty.timer.HashedWheelTimerModuleMXBean;
public class BGPDispatcherImplModuleTest extends AbstractConfigTest {
private static final String INSTANCE_NAME = "bgp-message-fct";
private static final String FACTORY_NAME = BGPDispatcherImplModuleFactory.NAME;
- private static final String TIMER_INSTANCE_NAME = "timer-impl";
private static final String BGP_EXTENSION_INSTANCE_NAME = "bgp-extension-impl";
private static final String BOSS_TG_INSTANCE_NAME = "boss-threadgroup-impl";
private static final String WORKER_TG_INSTANCE_NAME = "worker-threadgroup-impl";
@Before
public void setUp() throws Exception {
- super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(mockedContext, new BGPDispatcherImplModuleFactory(), new NettyThreadgroupModuleFactory(), new RIBExtensionsImplModuleFactory(), new SimpleBGPExtensionProviderContextModuleFactory(), new HashedWheelTimerModuleFactory()));
+ super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext, new BGPDispatcherImplModuleFactory(), new NettyThreadgroupModuleFactory(), new RIBExtensionsImplModuleFactory(), new SimpleBGPExtensionProviderContextModuleFactory(), new HashedWheelTimerModuleFactory()));
}
@Test
public void testCreateBean() throws Exception {
- CommitStatus status = createInstance();
+ final CommitStatus status = createInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 5, 0, 0);
+ assertStatus(status, 4, 0, 0);
}
@Test
public void testReusingOldInstance() throws Exception {
createInstance();
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
- CommitStatus status = transaction.commit();
+ final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 5);
+ assertStatus(status, 0, 0, 4);
}
private CommitStatus createInstance() throws Exception {
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
createInstance(transaction);
return transaction.commit();
}
public static ObjectName createInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
- ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
- BGPDispatcherImplModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, BGPDispatcherImplModuleMXBean.class);
+ final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
+ final BGPDispatcherImplModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, BGPDispatcherImplModuleMXBean.class);
mxBean.setBossGroup(createThreadgroupInstance(transaction, BOSS_TG_INSTANCE_NAME, 10));
mxBean.setWorkerGroup(createThreadgroupInstance(transaction, WORKER_TG_INSTANCE_NAME, 10));
mxBean.setBgpExtensions(createBgpExtensionsInstance(transaction));
- mxBean.setTimer(createTimerInstance(transaction));
return nameCreated;
}
private static ObjectName createThreadgroupInstance(final ConfigTransactionJMXClient transaction, final String instanceName,
final Integer threadCount) throws InstanceAlreadyExistsException {
- ObjectName nameCreated = transaction.createModule(NettyThreadgroupModuleFactory.NAME, instanceName);
- NettyThreadgroupModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, NettyThreadgroupModuleMXBean.class);
+ final ObjectName nameCreated = transaction.createModule(NettyThreadgroupModuleFactory.NAME, instanceName);
+ final NettyThreadgroupModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, NettyThreadgroupModuleMXBean.class);
mxBean.setThreadCount(threadCount);
return nameCreated;
}
- private static ObjectName createTimerInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
- ObjectName nameCreated = transaction.createModule(HashedWheelTimerModuleFactory.NAME, TIMER_INSTANCE_NAME);
- transaction.newMXBeanProxy(nameCreated, HashedWheelTimerModuleMXBean.class);
- return nameCreated;
-
- }
-
private static ObjectName createBgpExtensionsInstance(final ConfigTransactionJMXClient transaction)
throws InstanceAlreadyExistsException {
- ObjectName nameCreated = transaction.createModule(SimpleBGPExtensionProviderContextModuleFactory.NAME, BGP_EXTENSION_INSTANCE_NAME);
+ final ObjectName nameCreated = transaction.createModule(SimpleBGPExtensionProviderContextModuleFactory.NAME, BGP_EXTENSION_INSTANCE_NAME);
transaction.newMXBeanProxy(nameCreated, SimpleBGPExtensionProviderContextModuleMXBean.class);
return nameCreated;
}
import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleFactory;
import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
-import org.opendaylight.controller.config.yang.netty.timer.HashedWheelTimerModuleFactory;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.opendaylight.protocol.bgp.rib.impl.spi.BGPSessionValidator;
@Before
public void setUp() throws Exception {
final List<ModuleFactory> moduleFactories = getModuleFactories();
- super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(mockedContext, moduleFactories.toArray(new ModuleFactory[moduleFactories.size()])));
+ super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(this.mockedContext, moduleFactories.toArray(new ModuleFactory[moduleFactories.size()])));
}
private List<ModuleFactory> getModuleFactories() {
moduleFactories.add(new BGPPeerAcceptorModuleFactory());
moduleFactories.add(new NettyThreadgroupModuleFactory());
moduleFactories.add(new SimpleBGPExtensionProviderContextModuleFactory());
- moduleFactories.add(new HashedWheelTimerModuleFactory());
moduleFactories.add(createClassBasedCBF(MockedDispatcherModule.class, "dispatch"));
return moduleFactories;
}
@Override
public void setWorkerGroup(final ObjectName workerGroup) {}
- @Override
- public ObjectName getTimer() {return null;}
-
- @Override
- public void setTimer(final ObjectName timer) {}
-
@Override
public ObjectName getBgpExtensions() {return null;}
@Override
protected CodecRegistry getCodecRegistry() {
- IdentityCodec<?> idCodec = mock(IdentityCodec.class);
+ final IdentityCodec<?> idCodec = mock(IdentityCodec.class);
doReturn(Ipv4AddressFamily.class).when(idCodec).deserialize(Ipv4AddressFamily.QNAME);
doReturn(MplsLabeledVpnSubsequentAddressFamily.class).when(idCodec).deserialize(MplsLabeledVpnSubsequentAddressFamily.QNAME);
- CodecRegistry codecReg = super.getCodecRegistry();
+ final CodecRegistry codecReg = super.getCodecRegistry();
doReturn(idCodec).when(codecReg).getIdentityCodec();
return codecReg;
}
@Override
protected List<ModuleFactory> getModuleFactories() {
- List<ModuleFactory> moduleFactories = super.getModuleFactories();
+ final List<ModuleFactory> moduleFactories = super.getModuleFactories();
moduleFactories.add(new BGPPeerModuleFactory());
moduleFactories.add(new BGPTableTypeImplModuleFactory());
moduleFactories.add(new NativeKeyAccessFactoryModuleFactory());
public void testCreateBean() throws Exception {
final CommitStatus status = createBgpPeerInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 17, 0, 0);
+ assertStatus(status, 16, 0, 0);
}
@Test
NativeTestSupport.assumeSupportedPlatform();
final CommitStatus status = createBgpPeerInstance(true);
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 19, 0, 0);
+ assertStatus(status, 18, 0, 0);
}
@Test
NativeTestSupport.assumeSupportedPlatform();
createBgpPeerInstance(true);
// now remove md5 from dispatcher
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
final ObjectName nameCreated = transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME);
final BGPPeerModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, BGPPeerModuleMXBean.class);
- BGPDispatcherImplModuleMXBean bgpDispatcherImplModuleMXBean = getBgpDispatcherImplModuleMXBean(transaction, mxBean);
+ final BGPDispatcherImplModuleMXBean bgpDispatcherImplModuleMXBean = getBgpDispatcherImplModuleMXBean(transaction, mxBean);
bgpDispatcherImplModuleMXBean.setMd5ChannelFactory(null);
try {
transaction.validateConfig();
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage(), e.getMessage().contains("Underlying dispatcher does not support MD5 clients"));
}
}
@Test
public void testReusingOldInstance() throws Exception {
CommitStatus status = createBgpPeerInstance();
- ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 17);
+ assertStatus(status, 0, 0, 16);
}
@Test
public void testReconfigure() throws Exception {
CommitStatus status = createBgpPeerInstance();
- ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
final BGPPeerModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME),
BGPPeerModuleMXBean.class);
mxBean.setPort(new PortNumber(10));
status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 1, 16);
+ assertStatus(status, 0, 1, 15);
}
private ObjectName createBgpPeerInstance(final ConfigTransactionJMXClient transaction, final String host,
- final PortNumber port, boolean md5)
- throws Exception {
+ final PortNumber port, final boolean md5) throws Exception {
final ObjectName nameCreated = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
final BGPPeerModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, BGPPeerModuleMXBean.class);
mxBean.setPort(port);
mxBean.setAdvertizedTable(Collections.<ObjectName> emptyList());
{
- ObjectName ribON = createRIBImplModuleInstance(transaction);
+ final ObjectName ribON = createRIBImplModuleInstance(transaction);
mxBean.setRib(ribON);
}
if (md5) {
- BGPDispatcherImplModuleMXBean bgpDispatcherProxy = getBgpDispatcherImplModuleMXBean(transaction, mxBean);
- ObjectName jniON = transaction.createModule(NativeKeyAccessFactoryModuleFactory.NAME, NativeKeyAccessFactoryModuleFactory.NAME);
- ObjectName md5ClientON = transaction.createModule(MD5ClientChannelFactoryModuleFactory.NAME,
+ final BGPDispatcherImplModuleMXBean bgpDispatcherProxy = getBgpDispatcherImplModuleMXBean(transaction, mxBean);
+ final ObjectName jniON = transaction.createModule(NativeKeyAccessFactoryModuleFactory.NAME, NativeKeyAccessFactoryModuleFactory.NAME);
+ final ObjectName md5ClientON = transaction.createModule(MD5ClientChannelFactoryModuleFactory.NAME,
MD5ClientChannelFactoryModuleFactory.NAME);
- MD5ClientChannelFactoryModuleMXBean md5ClientProxy =
+ final MD5ClientChannelFactoryModuleMXBean md5ClientProxy =
transaction.newMXBeanProxy(md5ClientON, MD5ClientChannelFactoryModuleMXBean.class);
md5ClientProxy.setKeyAccessFactory(jniON);
return transaction.createModule(StrictBgpPeerRegistryModuleFactory.NAME, "peer-registry");
}
- private BGPDispatcherImplModuleMXBean getBgpDispatcherImplModuleMXBean(ConfigTransactionJMXClient transaction,
- BGPPeerModuleMXBean mxBean) {
- RIBImplModuleMXBean ribProxy = transaction.newMXBeanProxy(mxBean.getRib(), RIBImplModuleMXBean.class);
- ObjectName dispatcherON = ribProxy.getBgpDispatcher();
+ private BGPDispatcherImplModuleMXBean getBgpDispatcherImplModuleMXBean(final ConfigTransactionJMXClient transaction,
+ final BGPPeerModuleMXBean mxBean) {
+ final RIBImplModuleMXBean ribProxy = transaction.newMXBeanProxy(mxBean.getRib(), RIBImplModuleMXBean.class);
+ final ObjectName dispatcherON = ribProxy.getBgpDispatcher();
return transaction.newMXBeanProxy(dispatcherON, BGPDispatcherImplModuleMXBean.class);
}
return createBgpPeerInstance(false);
}
- private CommitStatus createBgpPeerInstance(boolean md5) throws Exception {
+ private CommitStatus createBgpPeerInstance(final boolean md5) throws Exception {
return createBgpPeerInstance(HOST, portNumber, md5);
}
- private CommitStatus createBgpPeerInstance(final String host, final PortNumber port, boolean md5) throws Exception {
+ private CommitStatus createBgpPeerInstance(final String host, final PortNumber port, final boolean md5) throws Exception {
final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
createBgpPeerInstance(transaction, host, port, md5);
return transaction.commit();
try {
createRIBImplModuleInstance(null, 500L, new Ipv4Address(BGP_ID));
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage().contains("RibId is not set."));
}
}
try {
createRIBImplModuleInstance(new RibId(RIB_ID), null, new Ipv4Address(BGP_ID));
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage().contains("LocalAs is not set."));
}
}
try {
createRIBImplModuleInstance(new RibId(RIB_ID), 500L, null);
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage().contains("BgpId is not set."));
}
}
@Test
public void testCreateBean() throws Exception {
- CommitStatus status = createInstance();
+ final CommitStatus status = createInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 14, 0, 0);
+ assertStatus(status, 13, 0, 0);
}
@Test
public void testReusingOldInstance() throws Exception {
createInstance();
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
- CommitStatus status = transaction.commit();
+ final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 14);
+ assertStatus(status, 0, 0, 13);
}
@Test
public void testReconfigure() throws Exception {
createInstance();
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
final RIBImplModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME, INSTANCE_NAME),
RIBImplModuleMXBean.class);
mxBean.setLocalAs(100L);
final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 1, 13);
+ assertStatus(status, 0, 1, 12);
}
}
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelPipeline;
-import io.netty.util.HashedWheelTimer;
+import io.netty.channel.EventLoop;
import io.netty.util.concurrent.DefaultPromise;
import io.netty.util.concurrent.GenericFutureListener;
import io.netty.util.concurrent.GlobalEventExecutor;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.List;
+import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
public class FSMTest {
+
+ @Mock
+ private EventLoop eventLoop;
+
private BGPClientSessionNegotiator clientSession;
@Mock
final List<BgpParameters> tlvs = Lists.newArrayList();
tlvs.add(new BgpParametersBuilder().setCParameters(
- new MultiprotocolCaseBuilder().setMultiprotocolCapability(
- new MultiprotocolCapabilityBuilder().setAfi(this.ipv4tt.getAfi()).setSafi(this.ipv4tt.getSafi()).build()).build()).build());
+ new MultiprotocolCaseBuilder().setMultiprotocolCapability(
+ new MultiprotocolCapabilityBuilder().setAfi(this.ipv4tt.getAfi()).setSafi(this.ipv4tt.getSafi()).build()).build()).build());
tlvs.add(new BgpParametersBuilder().setCParameters(
- new MultiprotocolCaseBuilder().setMultiprotocolCapability(
- new MultiprotocolCapabilityBuilder().setAfi(this.linkstatett.getAfi()).setSafi(this.linkstatett.getSafi()).build()).build()).build());
+ new MultiprotocolCaseBuilder().setMultiprotocolCapability(
+ new MultiprotocolCapabilityBuilder().setAfi(this.linkstatett.getAfi()).setSafi(this.linkstatett.getSafi()).build()).build()).build());
tlvs.add(new BgpParametersBuilder().setCParameters(new As4BytesCaseBuilder().setAs4BytesCapability(new As4BytesCapabilityBuilder().setAsNumber(
- new AsNumber(30L)).build()).build()).build());
+ new AsNumber(30L)).build()).build()).build());
final BGPSessionPreferences prefs = new BGPSessionPreferences(new AsNumber(30L), (short) 3, new Ipv4Address("1.1.1.1"), tlvs);
final ChannelFuture f = mock(ChannelFuture.class);
final BGPPeerRegistry peerRegistry = new StrictBGPPeerRegistry();
peerRegistry.addPeer(new IpAddress(new Ipv4Address(peerAddress.getHostAddress())), new SimpleSessionListener(), prefs);
- this.clientSession = new BGPClientSessionNegotiator(new HashedWheelTimer(), new DefaultPromise<BGPSessionImpl>(GlobalEventExecutor.INSTANCE), this.speakerListener, peerRegistry, new BGPClientSessionValidator(new AsNumber(30L)));
+ this.clientSession = new BGPClientSessionNegotiator(new DefaultPromise<BGPSessionImpl>(GlobalEventExecutor.INSTANCE), this.speakerListener, peerRegistry, new BGPClientSessionValidator(new AsNumber(30L)));
doAnswer(new Answer<Object>() {
@Override
public Object answer(final InvocationOnMock invocation) {
return f;
}
}).when(this.speakerListener).writeAndFlush(any(Notification.class));
-
+ doReturn(this.eventLoop).when(this.speakerListener).eventLoop();
+ doReturn(null).when(this.eventLoop).schedule(any(Runnable.class), any(long.class), any(TimeUnit.class));
doReturn("TestingChannel").when(this.speakerListener).toString();
doReturn(new InetSocketAddress(peerAddress, 179)).when(this.speakerListener).remoteAddress();
doReturn(this.pipeline).when(this.speakerListener).pipeline();
doReturn(this.pipeline).when(this.pipeline).replace(any(ChannelHandler.class), any(String.class), any(ChannelHandler.class));
doReturn(mock(ChannelFuture.class)).when(this.speakerListener).close();
this.classicOpen = new OpenBuilder().setMyAsNumber(30).setHoldTimer(3).setVersion(new ProtocolVersion((short) 4)).setBgpParameters(
- tlvs).setBgpIdentifier(new Ipv4Address("1.1.1.2")).build();
+ tlvs).setBgpIdentifier(new Ipv4Address("1.1.1.2")).build();
}
@Test
assertEquals(this.clientSession.getState(), BGPClientSessionNegotiator.State.Finished);
Thread.sleep(1000);
Thread.sleep(100);
- assertEquals(3, this.receivedMsgs.size());
- assertTrue(this.receivedMsgs.get(2) instanceof Keepalive); // test of keepalive timer
}
@Test
final List<BgpParameters> tlvs = Lists.newArrayList();
tlvs.add(new BgpParametersBuilder().setCParameters(
- new MultiprotocolCaseBuilder().setMultiprotocolCapability(
- new MultiprotocolCapabilityBuilder().setAfi(this.ipv4tt.getAfi()).setSafi(this.ipv4tt.getSafi()).build()).build()).build());
+ new MultiprotocolCaseBuilder().setMultiprotocolCapability(
+ new MultiprotocolCapabilityBuilder().setAfi(this.ipv4tt.getAfi()).setSafi(this.ipv4tt.getSafi()).build()).build()).build());
// Open Message without advertised four-octet AS Number capability
this.clientSession.handleMessage(new OpenBuilder().setMyAsNumber(30).setHoldTimer(1).setVersion(new ProtocolVersion((short) 4)).setBgpParameters(tlvs).build());
assertEquals(2, this.receivedMsgs.size());
assertEquals(BGPError.UNSPECIFIC_OPEN_ERROR, BGPError.forValue(((Notify) m).getErrorCode(), ((Notify) m).getErrorSubcode()));
}
- @Test
- @Ignore
- // long duration
- public void testNoOpen() throws InterruptedException {
- this.clientSession.channelActive(null);
- assertEquals(1, this.receivedMsgs.size());
- assertTrue(this.receivedMsgs.get(0) instanceof Open);
- Thread.sleep(BGPClientSessionNegotiator.INITIAL_HOLDTIMER * 1000 * 60);
- Thread.sleep(100);
- final Notification m = this.receivedMsgs.get(this.receivedMsgs.size() - 1);
- assertEquals(BGPError.HOLD_TIMER_EXPIRED, BGPError.forValue(((Notify) m).getErrorCode(), ((Notify) m).getErrorSubcode()));
- }
-
@Test
public void sendNotification() {
this.clientSession.channelActive(null);
import static org.mockito.Mockito.mock;
import io.netty.channel.Channel;
-import io.netty.util.HashedWheelTimer;
import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.OpenBuilder;
private final BGPSessionListener client;
SpeakerSessionMock(final BGPSessionListener listener, final BGPSessionListener client) {
- super(new HashedWheelTimer(), listener, mock(Channel.class), new OpenBuilder().setHoldTimer(5).build(), 10);
+ super(listener, mock(Channel.class), new OpenBuilder().setHoldTimer(5).build(), 10);
this.client = client;
}
package org.opendaylight.protocol.bgp.testtool;
import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.util.HashedWheelTimer;
import io.netty.util.concurrent.GlobalEventExecutor;
import java.net.InetAddress;
import java.net.InetSocketAddress;
private Main() throws Exception {
BGPActivator bgpActivator = new BGPActivator();
bgpActivator.start(ServiceLoaderBGPExtensionProviderContext.getSingletonInstance());
- this.dispatcher = new BGPDispatcherImpl(ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry(), new HashedWheelTimer(), new NioEventLoopGroup(), new NioEventLoopGroup());
+ this.dispatcher = new BGPDispatcherImpl(ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry(), new NioEventLoopGroup(), new NioEventLoopGroup());
}
public static void main(final String[] args) throws Exception {
package org.opendaylight.protocol.bgp.testtool;
import com.google.common.base.Preconditions;
-
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
-import io.netty.util.HashedWheelTimer;
import io.netty.util.concurrent.DefaultPromise;
import io.netty.util.concurrent.GlobalEventExecutor;
import io.netty.util.concurrent.Promise;
-
import java.net.InetSocketAddress;
import java.util.HashMap;
import java.util.Map;
-
import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
private final BGPHandlerFactory factory;
public BGPSpeakerMock(final SessionNegotiatorFactory<M, S, L> negotiatorFactory, final BGPHandlerFactory factory,
- final DefaultPromise<BGPSessionImpl> defaultPromise) {
+ final DefaultPromise<BGPSessionImpl> defaultPromise) {
super(GlobalEventExecutor.INSTANCE, new NioEventLoopGroup(), new NioEventLoopGroup());
this.negotiatorFactory = Preconditions.checkNotNull(negotiatorFactory);
this.factory = Preconditions.checkNotNull(factory);
public void initializeChannel(final SocketChannel ch, final Promise<S> promise) {
ch.pipeline().addLast(BGPSpeakerMock.this.factory.getDecoders());
ch.pipeline().addLast("negotiator",
- BGPSpeakerMock.this.negotiatorFactory.getSessionNegotiator(null, ch, promise));
+ BGPSpeakerMock.this.negotiatorFactory.getSessionNegotiator(null, ch, promise));
ch.pipeline().addLast(BGPSpeakerMock.this.factory.getEncoders());
}
});
}
};
- final SessionNegotiatorFactory<Notification, BGPSessionImpl, BGPSessionListener> snf = new BGPServerSessionNegotiatorFactory(new HashedWheelTimer(), new BGPSessionValidator() {
+ final SessionNegotiatorFactory<Notification, BGPSessionImpl, BGPSessionListener> snf = new BGPServerSessionNegotiatorFactory(new BGPSessionValidator() {
@Override
public void validate(final Open openObj, final BGPSessionPreferences prefs) throws BGPDocumentedException {
// NOOP
import static org.junit.Assert.fail;
import java.util.List;
-
import javax.management.ObjectName;
-
import org.junit.Test;
import org.opendaylight.controller.config.api.ValidationException;
import org.opendaylight.controller.config.api.jmx.CommitStatus;
try {
createIpv4ReachabilityTopoBuilderModuleInstance(null);
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage().contains("TopologyId is not set."));
}
}
@Test
public void testCreateBean() throws Exception {
- CommitStatus status = createIpv4ReachabilityTopoBuilderModuleInstance();
+ final CommitStatus status = createIpv4ReachabilityTopoBuilderModuleInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 15, 0, 0);
+ assertStatus(status, 14, 0, 0);
}
@Test
public void testReusingOldInstance() throws Exception {
createIpv4ReachabilityTopoBuilderModuleInstance();
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
- CommitStatus status = transaction.commit();
+ final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 15);
+ assertStatus(status, 0, 0, 14);
}
@Test
public void testReconfigure() throws Exception {
createIpv4ReachabilityTopoBuilderModuleInstance();
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
final Ipv4ReachabilityTopologyBuilderModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME,
INSTANCE_NAME), Ipv4ReachabilityTopologyBuilderModuleMXBean.class);
mxBean.setTopologyId(new TopologyId("new-bgp-topology"));
final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 1, 14);
+ assertStatus(status, 0, 1, 13);
}
private CommitStatus createIpv4ReachabilityTopoBuilderModuleInstance() throws Exception {
}
private CommitStatus createIpv4ReachabilityTopoBuilderModuleInstance(final TopologyId topologyId) throws Exception {
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
final ObjectName ipv4ReachabilityBuilderON = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
final Ipv4ReachabilityTopologyBuilderModuleMXBean mxBean = transaction.newMXBeanProxy(ipv4ReachabilityBuilderON,
Ipv4ReachabilityTopologyBuilderModuleMXBean.class);
import static org.junit.Assert.fail;
import java.util.List;
-
import javax.management.ObjectName;
-
import org.junit.Test;
import org.opendaylight.controller.config.api.ValidationException;
import org.opendaylight.controller.config.api.jmx.CommitStatus;
try {
createIpv6ReachabilityTopoBuilderModuleInstance(null);
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage().contains("TopologyId is not set."));
}
}
@Test
public void testCreateBean() throws Exception {
- CommitStatus status = createIpv6ReachabilityTopoBuilderModuleInstance();
+ final CommitStatus status = createIpv6ReachabilityTopoBuilderModuleInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 15, 0, 0);
+ assertStatus(status, 14, 0, 0);
}
@Test
public void testReusingOldInstance() throws Exception {
createIpv6ReachabilityTopoBuilderModuleInstance();
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
- CommitStatus status = transaction.commit();
+ final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 15);
+ assertStatus(status, 0, 0, 14);
}
@Test
public void testReconfigure() throws Exception {
createIpv6ReachabilityTopoBuilderModuleInstance();
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
final Ipv6ReachabilityTopologyBuilderModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME,
INSTANCE_NAME), Ipv6ReachabilityTopologyBuilderModuleMXBean.class);
mxBean.setTopologyId(new TopologyId("new-bgp-topology"));
final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 1, 14);
+ assertStatus(status, 0, 1, 13);
}
private CommitStatus createIpv6ReachabilityTopoBuilderModuleInstance() throws Exception {
}
private CommitStatus createIpv6ReachabilityTopoBuilderModuleInstance(final TopologyId topologyId) throws Exception {
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
final ObjectName ipv6ReachabilityBuilderON = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
final Ipv6ReachabilityTopologyBuilderModuleMXBean mxBean = transaction.newMXBeanProxy(ipv6ReachabilityBuilderON,
Ipv6ReachabilityTopologyBuilderModuleMXBean.class);
import static org.junit.Assert.fail;
import java.util.List;
-
import javax.management.ObjectName;
-
import org.junit.Test;
import org.opendaylight.controller.config.api.ValidationException;
import org.opendaylight.controller.config.api.jmx.CommitStatus;
try {
createLinkstateTopologyBuilderModuleInstance(null);
fail();
- } catch (ValidationException e) {
+ } catch (final ValidationException e) {
assertTrue(e.getMessage().contains("TopologyId is not set."));
}
}
@Test
public void testCreateBean() throws Exception {
- CommitStatus status = createLinkstateTopologyBuilderModuleInstance();
+ final CommitStatus status = createLinkstateTopologyBuilderModuleInstance();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 15, 0, 0);
+ assertStatus(status, 14, 0, 0);
}
@Test
public void testReusingOldInstance() throws Exception {
createLinkstateTopologyBuilderModuleInstance();
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
- CommitStatus status = transaction.commit();
+ final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 0, 15);
+ assertStatus(status, 0, 0, 14);
}
@Test
public void testReconfigure() throws Exception {
createLinkstateTopologyBuilderModuleInstance();
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
assertBeanCount(1, FACTORY_NAME);
final LinkstateTopologyBuilderModuleMXBean mxBean = transaction.newMXBeanProxy(transaction.lookupConfigBean(FACTORY_NAME,
INSTANCE_NAME), LinkstateTopologyBuilderModuleMXBean.class);
mxBean.setTopologyId(new TopologyId("new-bgp-topology"));
final CommitStatus status = transaction.commit();
assertBeanCount(1, FACTORY_NAME);
- assertStatus(status, 0, 1, 14);
+ assertStatus(status, 0, 1, 13);
}
private CommitStatus createLinkstateTopologyBuilderModuleInstance() throws Exception {
}
private CommitStatus createLinkstateTopologyBuilderModuleInstance(final TopologyId topologyId) throws Exception {
- final ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
final ObjectName linkstateTopoBuilderON = transaction.createModule(FACTORY_NAME, INSTANCE_NAME);
final LinkstateTopologyBuilderModuleMXBean mxBean = transaction.newMXBeanProxy(linkstateTopoBuilderON,
LinkstateTopologyBuilderModuleMXBean.class);