New configuration parameter EXCLUDE_MODULES defines module names,
which won't be automatically loaded by LoaderServant. It can be used
to exclude obsolete or abstract modules.
Change-Id: If98b50b1505465bcedcf28fe63421c73a4fe160a
JIRA: VSPERF-118
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
Reviewed-by: Gene Snider <eugene.snider@huawei.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
# from anywhere in the test framework so be careful with naming
# conventions
TEST_PARAMS = {}
+
+# ############################
+# Modules
+# ############################
+
+# following modules will be excluded from automatic load by LoaderServant
+# it can be used to suppress automatic load of obsoleted or abstract modules
+# Example:
+# EXCLUDE_MODULES = ['ovs_vanilla', 'qemu_virtio_net', 'pidstat']
+EXCLUDE_MODULES = []
import imp
import fnmatch
import logging
+from conf import settings
class LoaderServant(object):
for filename in fnmatch.filter(filenames, '[!.]*.py'):
modname = os.path.splitext(os.path.basename(filename))[0]
+ # skip module load if it is excluded by configuration
+ if modname in settings.getValue('EXCLUDE_MODULES'):
+ continue
+
try:
if modname in sys.modules:
mod = sys.modules[modname]