OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
apport
/
general-hooks
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:13:26 AM
rwxr-xr-x
📄
clickinfo.py
1.69 KB
11/11/2019 09:57:56 PM
rw-r--r--
📄
cloud_archive.py
1.13 KB
11/11/2019 09:57:56 PM
rw-r--r--
📄
generic.py
4.09 KB
11/11/2019 09:57:56 PM
rw-r--r--
📄
parse_segv.py
14.31 KB
04/12/2023 05:53:49 PM
rw-r--r--
📄
powerpc.py
4.48 KB
11/11/2019 09:57:56 PM
rw-r--r--
📄
ubuntu-gnome.py
2.25 KB
11/11/2019 09:57:56 PM
rw-r--r--
📄
ubuntu.py
23.77 KB
08/25/2021 04:56:13 PM
rw-r--r--
📄
wayland_session.py
225 bytes
11/11/2019 09:57:56 PM
rw-r--r--
Editing: powerpc.py
Close
# This hook collects logs for Power systems and more specific logs for Pseries, # PowerNV platforms. # # Author: Thierry FAUCK <thierry@linux.vnet.ibm.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. import os, os.path, platform, tempfile, subprocess from apport.hookutils import command_output, attach_root_command_outputs, attach_file, attach_file_if_exists, command_available '''IBM Power System related information''' def add_tar(report, dir, key): (fd, f) = tempfile.mkstemp(prefix='apport.', suffix='.tar') os.close(fd) subprocess.call(['tar', 'chf', f, dir]) if os.path.getsize(f) > 0: report[key] = (f, ) # NB, don't cleanup the temp file, it'll get read later by the apport main # code def add_info(report, ui): arch = platform.machine() if arch not in ['ppc64', 'ppc64le']: return is_kernel = report['ProblemType'].startswith('Kernel') or 'linux' in report.get('Package') try: with open('/proc/cpuinfo', 'r') as fp: contents = fp.read() ispSeries = 'pSeries' in contents isPowerNV = 'PowerNV' in contents isPowerKVM = 'emulated by qemu' in contents except IOError: ispSeries = False isPowerNV = False isPowerKVM = False if ispSeries or isPowerNV: if is_kernel: add_tar(report, '/proc/device-tree/', 'DeviceTree.tar') attach_file(report, '/proc/misc', 'ProcMisc') attach_file(report, '/proc/locks', 'ProcLocks') attach_file(report, '/proc/loadavg', 'ProcLoadAvg') attach_file(report, '/proc/swaps', 'ProcSwaps') attach_file(report, '/proc/version', 'ProcVersion') report['cpu_smt'] = command_output(['ppc64_cpu', '--smt']) report['cpu_cores'] = command_output(['ppc64_cpu', '--cores-present']) report['cpu_coreson'] = command_output(['ppc64_cpu', '--cores-on']) # To be executed as root if is_kernel: attach_root_command_outputs(report, { 'cpu_runmode': 'ppc64_cpu --run-mode', 'cpu_freq': 'ppc64_cpu --frequency', 'cpu_dscr': 'ppc64_cpu --dscr', 'nvram': 'cat /dev/nvram', }) attach_file_if_exists(report, '/var/log/platform') if ispSeries and not isPowerKVM: attach_file(report, '/proc/ppc64/lparcfg', 'ProcLparCfg') attach_file(report, '/proc/ppc64/eeh', 'ProcEeh') attach_file(report, '/proc/ppc64/systemcfg', 'ProcSystemCfg') report['lscfg_vp'] = command_output(['lscfg', '-vp']) report['lsmcode'] = command_output(['lsmcode', '-A']) report['bootlist'] = command_output(['bootlist', '-m', 'both', '-r']) report['lparstat'] = command_output(['lparstat', '-i']) if command_available('lsvpd'): report['lsvpd'] = command_output(['lsvpd', '--debug']) if command_available('lsvio'): report['lsvio'] = command_output(['lsvio', '-des']) if command_available('servicelog'): report['servicelog_dump'] = command_output(['servicelog', '--dump']) if command_available('servicelog_notify'): report['servicelog_list'] = command_output(['servicelog_notify', '--list']) if command_available('usysattn'): report['usysattn'] = command_output(['usysattn']) if command_available('usysident'): report['usysident'] = command_output(['usysident']) if command_available('serv_config'): report['serv_config'] = command_output(['serv_config', '-l']) if isPowerNV: add_tar(report, '/proc/ppc64/', 'ProcPpc64.tar') attach_file_if_exists(report, '/sys/firmware/opal/msglog') if os.path.exists('/var/log/dump'): report['VarLogDump_list'] = command_output(['ls', '-l', '/var/log/dump']) if is_kernel: add_tar(report, '/var/log/opal-elog', 'OpalElog.tar')