Add blueprint XML wiring for the BGPDispatcher 12/40412/8
authorTom Pantelis <tpanteli@brocade.com>
Wed, 15 Jun 2016 16:32:30 +0000 (12:32 -0400)
committerTom Pantelis <tpanteli@brocade.com>
Thu, 14 Jul 2016 07:06:41 +0000 (03:06 -0400)
Added blueprint wiring for the BGPDispatcher. The BGPDispatcherImplModule was
deprecated but still remains for now to provide the RIBExtensionProviderContext
instance created via blueprint to the config system so it can be injected
into other users. Once the other user(s) are converted to blueprint then
the config yang and Module classes can be removed.

Change-Id: Ie1f268a4ee593efeda677e10009b4a351acda17c
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
15 files changed:
bgp/controller-config/src/main/resources/initial/31-bgp.xml
bgp/rib-impl/src/main/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPDispatcherImplModule.java
bgp/rib-impl/src/main/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPDispatcherImplModuleFactory.java
bgp/rib-impl/src/main/resources/org/opendaylight/blueprint/bgp-rib.xml
bgp/rib-impl/src/main/yang/odl-bgp-rib-impl-cfg.yang
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/AbstractRIBImplModuleTest.java
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPApplicationPeerModuleTest.java
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPDispatcherImplModuleTest.java [deleted file]
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPPeerAcceptorModuleTest.java
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPPeerModuleTest.java
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/RIBImplModuleTest.java
bgp/rib-spi/src/main/yang/odl-bgp-rib-spi-cfg.yang
bgp/topology-provider/src/test/java/org/opendaylight/controller/config/yang/bgp/topology/provider/Ipv4ReachabilityTopologyBuilderModuleTest.java
bgp/topology-provider/src/test/java/org/opendaylight/controller/config/yang/bgp/topology/provider/Ipv6ReachabilityTopologyBuilderModuleTest.java
bgp/topology-provider/src/test/java/org/opendaylight/controller/config/yang/bgp/topology/provider/LinkstateTopologyBuilderModuleTest.java

index a5f88dc60dc7bc761502318c3c2b540c851d5986..0c3db50d46f21728d314a79f291b831470c8ca00 100644 (file)
@@ -20,8 +20,6 @@
         <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:parser:spi?module=odl-bgp-parser-spi-cfg&amp;revision=2013-11-15</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:spi?module=odl-bgp-rib-spi-cfg&amp;revision=2013-11-15</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl?module=odl-bgp-rib-impl-cfg&amp;revision=2016-03-30</capability>
-        <capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&amp;revision=2013-10-28</capability>
-        <capability>urn:opendaylight:params:xml:ns:yang:controller:netty?module=netty&amp;revision=2013-11-19</capability>
         <capability>urn:opendaylight:params:xml:ns:yang:controller:rsvp:spi?module=odl-rsvp-parser-spi-cfg&amp;revision=2015-08-26</capability>
     </required-capabilities>
     <configuration>
                 <module>
                     <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:bgp-dispatcher-impl</type>
                     <name>global-bgp-dispatcher</name>
-                    <bgp-extensions>
-                        <type xmlns:bgpspi="urn:opendaylight:params:xml:ns:yang:controller:bgp:parser:spi">bgpspi:extensions</type>
-                        <name>global-bgp-extensions</name>
-                    </bgp-extensions>
-                    <boss-group>
-                        <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
-                        <name>global-boss-group</name>
-                    </boss-group>
-                    <worker-group>
-                        <type xmlns:netty="urn:opendaylight:params:xml:ns:yang:controller:netty">netty:netty-threadgroup</type>
-                        <name>global-worker-group</name>
-                    </worker-group>
-
-                    <!--
-                         Uncomment this block to enable TCP MD5 Signature support
-
-                    <md5-channel-factory>
-                        <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:tcpmd5:netty:cfg">prefix:md5-channel-factory</type>
-                        <name>md5-client-channel-factory</name>
-                    </md5-channel-factory>
-
-                    <md5-server-channel-factory>
-                        <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:tcpmd5:netty:cfg">prefix:md5-server-channel-factory</type>
-                        <name>md5-server-channel-factory</name>
-                    </md5-server-channel-factory>
-                    -->
                 </module>
 
                 <module>
index f4dff5659cf6fb1775d7155169e1c59cacafb199..6866421bdce31753f0340a4bcefe4ab7f4c0a4da 100644 (file)
  */
 package org.opendaylight.controller.config.yang.bgp.rib.impl;
 
-import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext;
-import org.opendaylight.protocol.bgp.rib.impl.BGPDispatcherImpl;
+import com.google.common.reflect.AbstractInvocationHandler;
+import com.google.common.reflect.Reflection;
+import java.lang.reflect.Method;
+import org.opendaylight.controller.config.api.osgi.WaitingServiceTracker;
+import org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher;
+import org.osgi.framework.BundleContext;
 
 /**
- *
+ * @deprecated Replaced by blueprint wiring but remains for backwards compatibility until downstream users
+ *             of the provided config system service are converted to blueprint.
  */
+@Deprecated
 public final class BGPDispatcherImplModule extends org.opendaylight.controller.config.yang.bgp.rib.impl.AbstractBGPDispatcherImplModule {
+    private BundleContext bundleContext;
 
     public BGPDispatcherImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier name,
             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
@@ -36,8 +43,32 @@ public final class BGPDispatcherImplModule extends org.opendaylight.controller.c
     }
 
     @Override
-    public java.lang.AutoCloseable createInstance() {
-        final BGPExtensionConsumerContext bgpExtensions = getBgpExtensionsDependency();
-        return new BGPDispatcherImpl(bgpExtensions.getMessageRegistry(), getBossGroupDependency(), getWorkerGroupDependency());
+    public AutoCloseable createInstance() {
+        // The BGPDispatcher instance is created and advertised as an OSGi service via blueprint
+        // so obtain it here (waiting if necessary).
+        final WaitingServiceTracker<BGPDispatcher> tracker =
+                WaitingServiceTracker.create(BGPDispatcher.class, bundleContext);
+        final BGPDispatcher service = tracker.waitForService(WaitingServiceTracker.FIVE_MINUTES);
+
+        // Create a proxy to override close to close the ServiceTracker. The actual BGPDispatcher
+        // instance will be closed via blueprint.
+        return Reflection.newProxy(AutoCloseableBGPDispatcher.class, new AbstractInvocationHandler() {
+            @Override
+            protected Object handleInvocation(Object proxy, Method method, Object[] args) throws Throwable {
+                if (method.getName().equals("close")) {
+                    tracker.close();
+                    return null;
+                } else {
+                    return method.invoke(service, args);
+                }
+            }
+        });
+    }
+
+    void setBundleContext(BundleContext bundleContext) {
+        this.bundleContext = bundleContext;
+    }
+
+    private static interface AutoCloseableBGPDispatcher extends BGPDispatcher, AutoCloseable {
     }
 }
index f0ebe5ca7869547dce3eea473f63658058e5874c..d88dc73e1ef05bd02f6d96f42b08881a81c586e8 100644 (file)
  */
 package org.opendaylight.controller.config.yang.bgp.rib.impl;
 
+import org.opendaylight.controller.config.api.DependencyResolver;
+import org.osgi.framework.BundleContext;
+
 /**
-*
-*/
-public class BGPDispatcherImplModuleFactory extends
-        org.opendaylight.controller.config.yang.bgp.rib.impl.AbstractBGPDispatcherImplModuleFactory {
+ * @deprecated Replaced by blueprint wiring but remains for backwards compatibility until downstream users
+ *             of the provided config system service are converted to blueprint.
+ */
+@Deprecated
+public class BGPDispatcherImplModuleFactory extends AbstractBGPDispatcherImplModuleFactory {
+    @Override
+    public BGPDispatcherImplModule instantiateModule(String instanceName, DependencyResolver dependencyResolver,
+            BGPDispatcherImplModule oldModule, AutoCloseable oldInstance, BundleContext bundleContext) {
+        BGPDispatcherImplModule module = super.instantiateModule(instanceName, dependencyResolver, oldModule,
+                oldInstance, bundleContext);
+        module.setBundleContext(bundleContext);
+        return module;
+    }
 
+    @Override
+    public BGPDispatcherImplModule instantiateModule(String instanceName, DependencyResolver dependencyResolver,
+            BundleContext bundleContext) {
+        BGPDispatcherImplModule module = super.instantiateModule(instanceName, dependencyResolver, bundleContext);
+        module.setBundleContext(bundleContext);
+        return module;
+    }
 }
index 3f05a966bd956274aa98acdae43e7f767209cda5..48196b30a06f341ef945a1184692c0fd6696695a 100644 (file)
@@ -6,4 +6,18 @@
 
   <service ref="RIBActivator" interface="org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderActivator"
           odl:type="org.opendaylight.protocol.bgp.rib.impl.RIBActivator"/>
+
+  <reference id="BGPExtensionContext" interface="org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext"/>
+  <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
+  <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
+
+  <bean id="BGPDispatcher" class="org.opendaylight.protocol.bgp.rib.impl.BGPDispatcherImpl">
+    <argument>
+      <bean factory-ref="BGPExtensionContext" factory-method="getMessageRegistry"/>
+    </argument>
+    <argument ref="globalBossGroup"/>
+    <argument ref="globalWorkerGroup"/>
+  </bean>
+
+  <service ref="BGPDispatcher" interface="org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher"/>
 </blueprint>
\ No newline at end of file
index 3b21bf3fc9f35c2b7093e1d7658bd08aa77458aa..e08a88b0a8994ba29db4d453342cd47baafc929e 100644 (file)
@@ -54,6 +54,7 @@ module odl-bgp-rib-impl-cfg {
 
         base "config:service-type";
         config:java-class "org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher";
+        config:disable-osgi-service-registration;
     }
 
     identity bgp-dispatcher-impl {
@@ -65,33 +66,6 @@ module odl-bgp-rib-impl-cfg {
     augment "/config:modules/config:module/config:configuration" {
         case bgp-dispatcher-impl {
             when "/config:modules/config:module/config:type = 'bgp-dispatcher-impl'";
-
-            container bgp-extensions {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity bgpspi:consumer-extensions;
-                    }
-                }
-            }
-
-            container boss-group {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity netty:netty-threadgroup;
-                    }
-                }
-            }
-
-            container worker-group {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity netty:netty-threadgroup;
-                    }
-                }
-            }
         }
     }
 
index cfa2a46a37bdaf307c5c624335d31222a82e3899..3fa59e0f6b2c6ae16e160305e27d5aa79e8c9c05 100755 (executable)
@@ -8,19 +8,24 @@
 package org.opendaylight.controller.config.yang.bgp.rib.impl;
 
 import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.contains;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
 import com.google.common.util.concurrent.CheckedFuture;
 import io.netty.channel.EventLoopGroup;
 import io.netty.util.concurrent.EventExecutor;
+import io.netty.util.concurrent.ImmediateEventExecutor;
+import io.netty.util.concurrent.SucceededFuture;
 import java.io.IOException;
+import java.net.InetSocketAddress;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -80,6 +85,8 @@ import org.opendaylight.controller.sal.core.api.model.SchemaService;
 import org.opendaylight.controller.sal.core.api.model.YangTextSourceProvider;
 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
 import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
+import org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher;
+import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderContext;
 import org.opendaylight.protocol.bgp.rib.spi.SimpleRIBExtensionProviderContext;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
@@ -135,6 +142,9 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
     @Mock
     private RpcResult<TransactionStatus> mockedResult;
 
+    @Mock
+    protected BGPDispatcher mockedBGPDispatcher;
+
     @SuppressWarnings("unchecked")
     @Before
     public void setUp() throws Exception {
@@ -223,6 +233,10 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
         setupMockService(DOMRpcProviderService.class, mock(DOMRpcProviderService.class));
         setupMockService(DOMMountPointService.class, mock(DOMMountPointService.class));
 
+        setupMockService(BGPDispatcher.class, mockedBGPDispatcher);
+        doReturn(new SucceededFuture<>(ImmediateEventExecutor.INSTANCE, null)).when(mockedBGPDispatcher).createReconnectingClient(
+                any(InetSocketAddress.class), any(BGPPeerRegistry.class), anyInt(), any(Optional.class));
+
         setupMockService(RIBExtensionProviderContext.class, new SimpleRIBExtensionProviderContext());
     }
 
@@ -297,7 +311,7 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
         mxBean.setDataProvider(dataBroker);
         mxBean.setDomDataProvider(lookupDomAsyncDataBroker(transaction));
         mxBean.setCodecTreeFactory(lookupMappingServiceInstance(transaction));
-        mxBean.setBgpDispatcher(BGPDispatcherImplModuleTest.createInstance(transaction));
+        mxBean.setBgpDispatcher(createBGPDispatcherImplInstance(transaction));
         mxBean.setExtensions(createRibExtensionsInstance(transaction));
         mxBean.setRibId(ribId);
         mxBean.setLocalAs(localAs);
@@ -306,6 +320,12 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
         return nameCreated;
     }
 
+    public static ObjectName createBGPDispatcherImplInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
+        final ObjectName nameCreated = transaction.createModule(BGPDispatcherImplModuleFactory.NAME, "bgp-message-fct");
+        final BGPDispatcherImplModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, BGPDispatcherImplModuleMXBean.class);
+        return nameCreated;
+    }
+
     protected ObjectName createRIBImplModuleInstance(final ConfigTransactionJMXClient transaction) throws Exception {
         return createRIBImplModuleInstance(transaction, RIB_ID, 5000L, BGP_ID, CLUSTER_ID,
                 createAsyncDataBrokerInstance(transaction));
index a512d0c77092ffbcda6858aeba4b7574f000c9aa..2d1d335e4ab94a70f53ed3314b0e7d4a194758d5 100755 (executable)
@@ -12,12 +12,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.util.List;
-
 import javax.management.InstanceNotFoundException;
 import javax.management.ObjectName;
-
 import org.junit.Test;
 import org.opendaylight.controller.config.api.jmx.CommitStatus;
 import org.opendaylight.controller.config.spi.ModuleFactory;
@@ -27,6 +24,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.type
 
 public class BGPApplicationPeerModuleTest extends AbstractRIBImplModuleTest {
 
+    private static final int EXP_INSTANCES = 8;
     private static final String INSTANCE_NAME = "application-peer-instance";
     private static final String INSTANCE_NAME2 = "application-peer-instance-2";
     private static final String FACTORY_NAME = BGPApplicationPeerModuleFactory.NAME;
@@ -47,7 +45,7 @@ public class BGPApplicationPeerModuleTest extends AbstractRIBImplModuleTest {
     public void testCreateInstance() throws Exception {
         final CommitStatus status = createApplicationPeerInstance();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 11, 0, 0);
+        assertStatus(status, EXP_INSTANCES, 0, 0);
     }
 
     @Test
@@ -57,7 +55,7 @@ public class BGPApplicationPeerModuleTest extends AbstractRIBImplModuleTest {
         assertBeanCount(1, FACTORY_NAME);
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 11);
+        assertStatus(status, 0, 0, EXP_INSTANCES);
     }
 
     @Test
@@ -70,7 +68,7 @@ public class BGPApplicationPeerModuleTest extends AbstractRIBImplModuleTest {
         mxBean.setApplicationRibId(new ApplicationRibId(NEW_APP_RIB_ID));
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 1, 10);
+        assertStatus(status, 0, 1, EXP_INSTANCES - 1);
         assertEquals(NEW_APP_RIB_ID, getApplicationRibId());
     }
 
diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPDispatcherImplModuleTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/BGPDispatcherImplModuleTest.java
deleted file mode 100644 (file)
index 9f3f64f..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.config.yang.bgp.rib.impl;
-
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.ObjectName;
-import org.junit.Test;
-import org.opendaylight.controller.config.api.jmx.CommitStatus;
-import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
-import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleFactory;
-import org.opendaylight.controller.config.yang.bgp.parser.spi.SimpleBGPExtensionProviderContextModuleMXBean;
-import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleFactory;
-import org.opendaylight.controller.config.yang.netty.threadgroup.NettyThreadgroupModuleMXBean;
-
-public class BGPDispatcherImplModuleTest extends AbstractRIBImplModuleTest {
-
-    private static final String INSTANCE_NAME = "bgp-message-fct";
-    private static final String FACTORY_NAME = BGPDispatcherImplModuleFactory.NAME;
-
-    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";
-
-    @Test
-    public void testCreateBean() throws Exception {
-        final CommitStatus status = createInstance();
-        assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 4, 0, 0);
-    }
-
-    @Test
-    public void testReusingOldInstance() throws Exception {
-        createInstance();
-        final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
-        assertBeanCount(1, FACTORY_NAME);
-        final CommitStatus status = transaction.commit();
-        assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 4);
-    }
-
-    @Override
-    protected CommitStatus createInstance() throws Exception {
-        final ConfigTransactionJMXClient transaction = this.configRegistryClient.createTransaction();
-        createInstance(transaction);
-        return transaction.commit();
-    }
-
-    public static ObjectName createInstance(final ConfigTransactionJMXClient transaction) throws InstanceAlreadyExistsException {
-        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));
-        return nameCreated;
-    }
-
-    private static ObjectName createThreadgroupInstance(final ConfigTransactionJMXClient transaction, final String instanceName,
-            final Integer threadCount) throws InstanceAlreadyExistsException {
-        final ObjectName nameCreated = transaction.createModule(NettyThreadgroupModuleFactory.NAME, instanceName);
-        final NettyThreadgroupModuleMXBean mxBean = transaction.newMXBeanProxy(nameCreated, NettyThreadgroupModuleMXBean.class);
-        mxBean.setThreadCount(threadCount);
-        return nameCreated;
-    }
-
-    private static ObjectName createBgpExtensionsInstance(final ConfigTransactionJMXClient transaction)
-            throws InstanceAlreadyExistsException {
-        final ObjectName nameCreated = transaction.createModule(SimpleBGPExtensionProviderContextModuleFactory.NAME, BGP_EXTENSION_INSTANCE_NAME);
-        transaction.newMXBeanProxy(nameCreated, SimpleBGPExtensionProviderContextModuleMXBean.class);
-        return nameCreated;
-    }
-}
index 1680d1313bc78c64c4ca9d3f2dc3c33332ce51cf..676a487a45246a6132b24a2796413e6fef994f60 100644 (file)
@@ -147,23 +147,5 @@ public class BGPPeerAcceptorModuleTest extends AbstractConfigTest {
 
         @Override
         protected AutoCloseable prepareMockedInstance() throws Exception {return dispatcher;}
-
-        @Override
-        public ObjectName getWorkerGroup() {return null;}
-
-        @Override
-        public void setWorkerGroup(final ObjectName workerGroup) {}
-
-        @Override
-        public ObjectName getBgpExtensions() {return null;}
-
-        @Override
-        public void setBgpExtensions(final ObjectName bgpExtensions) {}
-
-        @Override
-        public ObjectName getBossGroup() {return null;}
-
-        @Override
-        public void setBossGroup(final ObjectName bossGroup) {}
     }
 }
index ebb4232ebac9b19ff7366f23da9b125ee30e094f..78f265a5a1bf13c7f5feef2c00204d7027000af0 100755 (executable)
@@ -17,6 +17,7 @@ import java.util.Collections;
 import java.util.List;
 import javax.management.InstanceAlreadyExistsException;
 import javax.management.ObjectName;
+import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.controller.config.api.IdentityAttributeRef;
 import org.opendaylight.controller.config.api.ValidationException;
@@ -35,6 +36,7 @@ import org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeConte
 
 public class BGPPeerModuleTest extends AbstractRIBImplModuleTest {
 
+    private static final int EXP_INSTANCES = 18;
     private static final String INSTANCE_NAME = "bgp-peer-module-impl";
     private static final String FACTORY_NAME = BGPPeerModuleFactory.NAME;
 
@@ -93,7 +95,7 @@ public class BGPPeerModuleTest extends AbstractRIBImplModuleTest {
     public void testCreateBean() throws Exception {
         final CommitStatus status = createBgpPeerInstance();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 21, 0, 0);
+        assertStatus(status, EXP_INSTANCES, 0, 0);
     }
 
     @Test
@@ -103,7 +105,7 @@ public class BGPPeerModuleTest extends AbstractRIBImplModuleTest {
         assertBeanCount(1, FACTORY_NAME);
         status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 21);
+        assertStatus(status, 0, 0, EXP_INSTANCES);
     }
 
     @Test
@@ -116,7 +118,7 @@ public class BGPPeerModuleTest extends AbstractRIBImplModuleTest {
         mxBean.setPort(new PortNumber(10));
         status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 1, 20);
+        assertStatus(status, 0, 1, EXP_INSTANCES - 1);
     }
 
     private ObjectName createBgpPeerInstance(final ConfigTransactionJMXClient transaction, final IpAddress host,
index fd6ea5b887523e1aad742f0d3d5ff45501980846..9df07e5729ded5a4790502552f999dea13be6197 100755 (executable)
@@ -9,13 +9,13 @@ package org.opendaylight.controller.config.yang.bgp.rib.impl;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import org.junit.Test;
 import org.opendaylight.controller.config.api.ValidationException;
 import org.opendaylight.controller.config.api.jmx.CommitStatus;
 import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
 
 public class RIBImplModuleTest extends AbstractRIBImplModuleTest {
+    private static final int EXP_INSTANCES = 7;
     private static final String INSTANCE_NAME = "rib-impl";
     private static final String FACTORY_NAME = RIBImplModuleFactory.NAME;
 
@@ -53,7 +53,7 @@ public class RIBImplModuleTest extends AbstractRIBImplModuleTest {
     public void testCreateBean() throws Exception {
         final CommitStatus status = createInstance();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 10, 0, 0);
+        assertStatus(status, EXP_INSTANCES, 0, 0);
     }
 
     @Test
@@ -63,7 +63,7 @@ public class RIBImplModuleTest extends AbstractRIBImplModuleTest {
         assertBeanCount(1, FACTORY_NAME);
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 10);
+        assertStatus(status, 0, 0, EXP_INSTANCES);
     }
 
     @Test
@@ -76,6 +76,6 @@ public class RIBImplModuleTest extends AbstractRIBImplModuleTest {
         mxBean.setLocalAs(100L);
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 1, 9);
+        assertStatus(status, 0, 1, EXP_INSTANCES - 1);
     }
 }
index d9a45a1447b95f5cbdb3aaf43b60a158837496d6..297c81aa35c5d6b7856db4fccb974c1d93035911 100644 (file)
@@ -33,6 +33,7 @@ module odl-bgp-rib-spi-cfg {
 
         base "config:service-type";
         config:java-class "org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext";
+        config:disable-osgi-service-registration;
     }
 
     identity extensions {
@@ -42,6 +43,7 @@ module odl-bgp-rib-spi-cfg {
 
         base "consumer-extensions";
         config:java-class "org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderContext";
+        config:disable-osgi-service-registration;
     }
 
     identity extension {
index 8894e3b03fe66622af6b9696630a6fb262ab35d4..942c1271c3460acd39aa2368b6c00fac14c741ac 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.controller.config.yang.bgp.topology.provider;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.util.List;
 import javax.management.ObjectName;
 import org.junit.Test;
@@ -61,7 +60,7 @@ public class Ipv4ReachabilityTopologyBuilderModuleTest extends AbstractRIBImplMo
     public void testCreateBean() throws Exception {
         final CommitStatus status = createIpv4ReachabilityTopoBuilderModuleInstance();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 11, 0, 0);
+        assertStatus(status, 8, 0, 0);
     }
 
     @Test
@@ -71,7 +70,7 @@ public class Ipv4ReachabilityTopologyBuilderModuleTest extends AbstractRIBImplMo
         assertBeanCount(1, FACTORY_NAME);
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 11);
+        assertStatus(status, 0, 0, 8);
     }
 
     @Test
@@ -84,7 +83,7 @@ public class Ipv4ReachabilityTopologyBuilderModuleTest extends AbstractRIBImplMo
         mxBean.setTopologyId(new TopologyId("new-bgp-topology"));
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 1, 10);
+        assertStatus(status, 0, 1, 7);
     }
 
     private CommitStatus createIpv4ReachabilityTopoBuilderModuleInstance() throws Exception {
index 54c891a7ae7c4d03c841c3d8c94ff6e55ad479da..acacfcc78e5cf7bfd8c7f317a1ecc07f1123ce1c 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.controller.config.yang.bgp.topology.provider;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.util.List;
 import javax.management.ObjectName;
 import org.junit.Test;
@@ -61,7 +60,7 @@ public class Ipv6ReachabilityTopologyBuilderModuleTest extends AbstractRIBImplMo
     public void testCreateBean() throws Exception {
         final CommitStatus status = createIpv6ReachabilityTopoBuilderModuleInstance();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 11, 0, 0);
+        assertStatus(status, 8, 0, 0);
     }
 
     @Test
@@ -71,7 +70,7 @@ public class Ipv6ReachabilityTopologyBuilderModuleTest extends AbstractRIBImplMo
         assertBeanCount(1, FACTORY_NAME);
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 11);
+        assertStatus(status, 0, 0, 8);
     }
 
     @Test
@@ -84,7 +83,7 @@ public class Ipv6ReachabilityTopologyBuilderModuleTest extends AbstractRIBImplMo
         mxBean.setTopologyId(new TopologyId("new-bgp-topology"));
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 1, 10);
+        assertStatus(status, 0, 1, 7);
     }
 
     private CommitStatus createIpv6ReachabilityTopoBuilderModuleInstance() throws Exception {
index 6c7bcd82c9bf2e46a91a15b99eb60ce7cf2d9f5f..b8e88637b6fe4b1c44217de9a0bc4ee9acfcfca9 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.controller.config.yang.bgp.topology.provider;
 
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-
 import java.util.List;
 import javax.management.ObjectName;
 import org.junit.Test;
@@ -63,7 +62,7 @@ public class LinkstateTopologyBuilderModuleTest extends AbstractRIBImplModuleTes
     public void testCreateBean() throws Exception {
         final CommitStatus status = createLinkstateTopologyBuilderModuleInstance();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 11, 0, 0);
+        assertStatus(status, 8, 0, 0);
     }
 
     @Test
@@ -73,7 +72,7 @@ public class LinkstateTopologyBuilderModuleTest extends AbstractRIBImplModuleTes
         assertBeanCount(1, FACTORY_NAME);
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 0, 11);
+        assertStatus(status, 0, 0, 8);
     }
 
     @Test
@@ -86,7 +85,7 @@ public class LinkstateTopologyBuilderModuleTest extends AbstractRIBImplModuleTes
         mxBean.setTopologyId(new TopologyId("new-bgp-topology"));
         final CommitStatus status = transaction.commit();
         assertBeanCount(1, FACTORY_NAME);
-        assertStatus(status, 0, 1, 10);
+        assertStatus(status, 0, 1, 7);
     }
 
     private CommitStatus createLinkstateTopologyBuilderModuleInstance() throws Exception {