Source code for insights.specs.datasources.logrotate

"""
Custom datasources for logrotate
"""

import os

from insights.core.context import HostContext
from insights.core.plugins import datasource


[docs] @datasource(HostContext) def logrotate_conf_list(broker): """ This datasource returns the list of logrotate configuration files. - "/etc/logrotate.conf" is the one must be collected. - Files without extension under "/etc/logrotate.d/" will be collected. - Files with extension, only the ".conf" files will be collected. Returns: list: The list of logrotate configuration files. ["/etc/logrotate.conf"] by default """ conf_files = ["/etc/logrotate.conf"] root = "/etc/logrotate.d/" if os.path.isdir(root): for file_name in os.listdir(root): file_path = os.path.join(root, file_name) if ('.' not in file_name or file_name.endswith('.conf')) and os.path.isfile(file_path): conf_files.append(file_path) return conf_files