Source code for insights.specs.datasources.kernel_module_list

Custom datasources to get a list of modules to check the detailed module info.
from insights.core.context import HostContext
from insights.core.exceptions import SkipComponent
from insights.core.filters import get_filters
from insights.core.plugins import datasource
from insights.parsers.lsmod import LsMod
from insights.specs import Specs

[docs]@datasource(LsMod, HostContext) def kernel_module_filters(broker): """ Return a string of a list of modules from the spec filter, separated with space. """ filters = sorted((get_filters(Specs.modinfo_modules))) if filters: loaded_modules = [] for item in filters: module_list = [module for module in broker[LsMod].data if item in module] if module_list: loaded_modules.extend(module_list) if loaded_modules: return ' '.join(loaded_modules) raise SkipComponent raise SkipComponent