BUG-4083: Li: Enabling polling of statistics via config subsystem. 62/25862/2
authorJozef Gloncak <jgloncak@cisco.com>
Mon, 24 Aug 2015 10:01:47 +0000 (12:01 +0200)
committerJozef Gloncak <jgloncak@cisco.com>
Mon, 24 Aug 2015 10:35:48 +0000 (12:35 +0200)
New leaf >is-statistics-polling-off< was added to
openflow-plugin-impl.yang. Now it is possible to set statistic
gathering (ON|OFF) via configuration of 42-openflowplugin-new.xml -
add <is-statistics-polling-off>true|false</is-statistics-polling-off>
xml element to
configuration/data/modules/module/name=openflow-plugin-provider-impl

Change-Id: I3f8a8cee35f389a8804bb0234c61de686b5273a4
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/OpenFlowPluginProvider.java
openflowplugin-controller-config/src/main/resources/initial/42-openflowplugin-new.xml
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/config/openflow/plugin/impl/rev150327/OpenFlowProviderModule.java
openflowplugin-impl/src/main/yang/openflow-plugin-impl.yang

index ffbaaabccfa91098796e265c530e474b31730bc1..8bd7877533a84fd3594154c011a3efbb84666da1 100644 (file)
@@ -59,6 +59,8 @@ public interface OpenFlowPluginProvider extends AutoCloseable, BindingService {
 
     boolean isSwitchFeaturesMandatory();
 
+    boolean isStatisticsPollingOff();
 
+    void setIsStatisticsPollingOff(final boolean isStatisticsPollingOff);
 
     }
index 6c1ac7076726db2d27960e81b45c56a674b99c5c..b041fc3b1562a7aa85345d62a69bc3530b0e4a81 100644 (file)
@@ -85,6 +85,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
                     <rpc-requests-quota>20000</rpc-requests-quota>
                     <switch-features-mandatory>false</switch-features-mandatory>
                     <global-notification-quota>64000</global-notification-quota>
+                    <is-statistics-polling-off>false</is-statistics-polling-off>
                 </module>
             </modules>
 
index 7c273011107c43704de743294fed75729ea6af71..3b0ae0b1cbddcde8421bae802b9604d9370c47a2 100644 (file)
@@ -74,6 +74,7 @@ public class OpenFlowPluginProviderImpl implements OpenFlowPluginProvider, OpenF
     private OfpRole role;
     private Collection<SwitchConnectionProvider> switchConnectionProviders;
     private boolean switchFeaturesMandatory = false;
+    private boolean isStatisticsPollingOff = false;
 
     public OpenFlowPluginProviderImpl(final long rpcRequestsQuota, final Long globalNotificationQuota) {
         Preconditions.checkArgument(rpcRequestsQuota > 0 && rpcRequestsQuota <= Integer.MAX_VALUE, "rpcRequestQuota has to be in range <1,%s>", Integer.MAX_VALUE);
@@ -81,6 +82,15 @@ public class OpenFlowPluginProviderImpl implements OpenFlowPluginProvider, OpenF
         this.globalNotificationQuota = Preconditions.checkNotNull(globalNotificationQuota);
     }
 
+    @Override
+    public boolean isStatisticsPollingOff() {
+        return isStatisticsPollingOff;
+    }
+
+    @Override
+    public void setIsStatisticsPollingOff(final boolean isStatisticsPollingOff) {
+        this.isStatisticsPollingOff = isStatisticsPollingOff;
+    }
 
     private void startSwitchConnections() {
         final List<ListenableFuture<Boolean>> starterChain = new ArrayList<>(switchConnectionProviders.size());
index 17a509b59d0828b6ecdfc5bb5f7aa7513a6c38af..37ef120efb048f4add2d6db97dd579b2659ec8b0 100644 (file)
@@ -36,6 +36,7 @@ public class OpenFlowProviderModule extends org.opendaylight.yang.gen.v1.urn.ope
         openflowPluginProvider.setNotificationProviderService(getNotificationAdapterDependency());
         openflowPluginProvider.setNotificationPublishService(getNotificationPublishAdapterDependency());
         openflowPluginProvider.setSwitchFeaturesMandatory(getSwitchFeaturesMandatory());
+        openflowPluginProvider.setIsStatisticsPollingOff(getIsStatisticsPollingOff());
         openflowPluginProvider.initialize();
 
         return openflowPluginProvider;
index ba697b7fffcbcd3dcd1c8182749a6a2f84cdbeb3..aecb5c4eb8b0ce77f03396a97bbc5457c9c96b54 100644 (file)
@@ -87,6 +87,10 @@ module openflow-plugin-provider-impl {
                 type uint32;
                 default 131072;
             }
+            leaf is-statistics-polling-off {
+                type boolean;
+                default "false";
+            }
         }
 
     }