Server IP : 192.64.112.168 / Your IP : 3.145.43.200 Web Server : Apache System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : expressoneac ( 1128) PHP Version : 8.0.30 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python3.6/site-packages/sos/report/plugins/ |
Upload File : |
# This file is part of the sos project: https://github.com/sosreport/sos # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions of # version 2 of the GNU General Public License. # # See the LICENSE file in the source distribution for further information. import re from sos.report.plugins import Plugin, IndependentPlugin class ClearContainers(Plugin, IndependentPlugin): short_desc = 'Intel(R) Clear Containers configuration' plugin_name = 'clear_containers' profiles = ('system', 'virt', 'container') runtime = 'cc-runtime' packages = (runtime,) services = ('cc-proxy',) loglimit = None def collect_cc_config_files(self): """ Collect Clear Containers config files """ # start with the default file locations config_files = [ '/etc/clear-containers/configuration.toml' '/usr/share/defaults/clear-containers/configuration.toml' ] # obtain a list of config files by asking the runtime cmd = f"{self.runtime} --cc-show-default-config-paths" configs = self.exec_cmd(cmd)['output'] for config in configs.splitlines(): if config != "": config_files.append(config) # get a unique list of config files config_files = set(config_files) self.add_copy_spec(config_files) def collect_cc_log_files(self): """ Collect Clear Containers log files """ # start with the default global log log_files = [ '/var/lib/clear-containers/runtime/runtime.log' ] # query the runtime to find the configured global log file cmd = f"{self.runtime} cc-env" output = self.exec_cmd(cmd)['output'] for line in output.splitlines(): result = re.search(r'\bGlobalLogPath\b\s+=\s+"(.+)"', line) if result: global_logfile = result.group(1) if global_logfile: log_files.append(global_logfile) break # get a unique list of log files log_files = set(log_files) self.add_copy_spec(log_files, self.loglimit) def setup(self): self.loglimit = self.get_option("log_size") if self.get_option("all_logs"): # no loglimit on amount of data recorded self.loglimit = None self.add_cmd_output(f"{self.runtime} cc-env") self.collect_cc_config_files() self.collect_cc_log_files() self.add_journal(identifier="cc-shim") # vim: set et ts=4 sw=4 :