From bb702a8cea05972c964b29e4469088d0905bebfa Mon Sep 17 00:00:00 2001 From: Jozef Gloncak Date: Mon, 24 Aug 2015 12:01:47 +0200 Subject: [PATCH] BUG-4083: Li: Enabling polling of statistics via config subsystem. 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 true|false xml element to configuration/data/modules/module/name=openflow-plugin-provider-impl Change-Id: I3f8a8cee35f389a8804bb0234c61de686b5273a4 Signed-off-by: Jozef Gloncak --- .../api/openflow/OpenFlowPluginProvider.java | 2 ++ .../main/resources/initial/42-openflowplugin-new.xml | 1 + .../impl/OpenFlowPluginProviderImpl.java | 10 ++++++++++ .../plugin/impl/rev150327/OpenFlowProviderModule.java | 1 + .../src/main/yang/openflow-plugin-impl.yang | 4 ++++ 5 files changed, 18 insertions(+) diff --git a/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/OpenFlowPluginProvider.java b/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/OpenFlowPluginProvider.java index ffbaaabccf..8bd7877533 100644 --- a/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/OpenFlowPluginProvider.java +++ b/openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/OpenFlowPluginProvider.java @@ -59,6 +59,8 @@ public interface OpenFlowPluginProvider extends AutoCloseable, BindingService { boolean isSwitchFeaturesMandatory(); + boolean isStatisticsPollingOff(); + void setIsStatisticsPollingOff(final boolean isStatisticsPollingOff); } diff --git a/openflowplugin-controller-config/src/main/resources/initial/42-openflowplugin-new.xml b/openflowplugin-controller-config/src/main/resources/initial/42-openflowplugin-new.xml index 6c1ac70767..b041fc3b15 100644 --- a/openflowplugin-controller-config/src/main/resources/initial/42-openflowplugin-new.xml +++ b/openflowplugin-controller-config/src/main/resources/initial/42-openflowplugin-new.xml @@ -85,6 +85,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html 20000 false 64000 + false diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java index 7c27301110..3b0ae0b1cb 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java @@ -74,6 +74,7 @@ public class OpenFlowPluginProviderImpl implements OpenFlowPluginProvider, OpenF private OfpRole role; private Collection 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> starterChain = new ArrayList<>(switchConnectionProviders.size()); diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/config/openflow/plugin/impl/rev150327/OpenFlowProviderModule.java b/openflowplugin-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/config/openflow/plugin/impl/rev150327/OpenFlowProviderModule.java index 17a509b59d..37ef120efb 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/config/openflow/plugin/impl/rev150327/OpenFlowProviderModule.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/config/openflow/plugin/impl/rev150327/OpenFlowProviderModule.java @@ -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; diff --git a/openflowplugin-impl/src/main/yang/openflow-plugin-impl.yang b/openflowplugin-impl/src/main/yang/openflow-plugin-impl.yang index ba697b7fff..aecb5c4eb8 100644 --- a/openflowplugin-impl/src/main/yang/openflow-plugin-impl.yang +++ b/openflowplugin-impl/src/main/yang/openflow-plugin-impl.yang @@ -87,6 +87,10 @@ module openflow-plugin-provider-impl { type uint32; default 131072; } + leaf is-statistics-polling-off { + type boolean; + default "false"; + } } } -- 2.36.6