X7ROOT File Manager
Current Path:
/usr/lib/python3.6/site-packages/sos/report/plugins
usr
/
lib
/
python3.6
/
site-packages
/
sos
/
report
/
plugins
/
📁
..
📄
__init__.py
(138.51 KB)
📁
__pycache__
📄
aap_containerized.py
(5.04 KB)
📄
aap_controller.py
(3.15 KB)
📄
aap_eda.py
(2.16 KB)
📄
aap_gateway.py
(1.71 KB)
📄
aap_hub.py
(1.31 KB)
📄
aap_receptor.py
(1.85 KB)
📄
abrt.py
(1.51 KB)
📄
acpid.py
(917 B)
📄
activemq.py
(1.65 KB)
📄
aide.py
(1.41 KB)
📄
alternatives.py
(2.27 KB)
📄
anaconda.py
(1.46 KB)
📄
anacron.py
(782 B)
📄
ansible.py
(1.08 KB)
📄
apache.py
(6 KB)
📄
apparmor.py
(1.05 KB)
📄
apport.py
(1.37 KB)
📄
apt.py
(1.73 KB)
📄
arcconf.py
(2.17 KB)
📄
ata.py
(1016 B)
📄
auditd.py
(1.83 KB)
📄
authd.py
(2.2 KB)
📄
autofs.py
(2.77 KB)
📄
azure.py
(2.37 KB)
📄
bcache.py
(2.2 KB)
📄
bird.py
(2.41 KB)
📄
block.py
(2.44 KB)
📄
boom.py
(1.05 KB)
📄
boot.py
(1.99 KB)
📄
bootc.py
(940 B)
📄
btrfs.py
(739 B)
📄
buildah.py
(1.82 KB)
📄
candlepin.py
(5.84 KB)
📄
canonical_livepatch.py
(1.04 KB)
📄
canonical_livepatch_onprem.py
(1.22 KB)
📄
ceph_ansible.py
(956 B)
📄
ceph_common.py
(6.83 KB)
📄
ceph_iscsi.py
(1.55 KB)
📄
ceph_mds.py
(4.15 KB)
📄
ceph_mgr.py
(5.92 KB)
📄
ceph_mon.py
(9.82 KB)
📄
ceph_osd.py
(5.27 KB)
📄
ceph_rgw.py
(4.51 KB)
📄
cgroups.py
(1.39 KB)
📄
charmed_mysql.py
(5.23 KB)
📄
charmed_postgresql.py
(6.05 KB)
📄
chrony.py
(1.84 KB)
📄
cifs.py
(962 B)
📄
clear_containers.py
(2.58 KB)
📄
cloud_init.py
(1.07 KB)
📄
cman.py
(1.78 KB)
📄
cobbler.py
(1.29 KB)
📄
cockpit.py
(968 B)
📄
collectd.py
(2.24 KB)
📄
collectl.py
(752 B)
📄
composer.py
(2.11 KB)
📄
conntrack.py
(2.37 KB)
📄
console.py
(869 B)
📄
container_log.py
(1.54 KB)
📄
containerd.py
(1.37 KB)
📄
containers_common.py
(2.64 KB)
📄
convert2rhel.py
(1.04 KB)
📄
coredump.py
(5.14 KB)
📄
corosync.py
(2.41 KB)
📄
crio.py
(3.38 KB)
📄
cron.py
(1.01 KB)
📄
crypto.py
(1.38 KB)
📄
cs.py
(4.5 KB)
📄
ctdb.py
(1.42 KB)
📄
cups.py
(3.08 KB)
📄
curtin.py
(1.74 KB)
📄
cxl.py
(1.32 KB)
📄
date.py
(867 B)
📄
dbus.py
(877 B)
📄
dellrac.py
(1.69 KB)
📄
devicemapper.py
(1.13 KB)
📄
devices.py
(740 B)
📄
dhcp.py
(1.03 KB)
📄
discovery.py
(1.15 KB)
📄
distupgrade.py
(1.51 KB)
📄
dlm.py
(1.52 KB)
📄
dmraid.py
(1.29 KB)
📄
dnf.py
(5.42 KB)
📄
docker.py
(5.08 KB)
📄
docker_distribution.py
(1.3 KB)
📄
dovecot.py
(1007 B)
📄
dpkg.py
(1.16 KB)
📄
dracut.py
(942 B)
📄
drbd.py
(955 B)
📄
ds.py
(3.6 KB)
📄
ebpf.py
(3.11 KB)
📄
elastic.py
(2.5 KB)
📄
etcd.py
(2.14 KB)
📄
fail2ban.py
(830 B)
📄
fapolicyd.py
(1.34 KB)
📄
fcoe.py
(1018 B)
📄
fibrechannel.py
(1.77 KB)
📄
filesys.py
(3.81 KB)
📄
firewall_tables.py
(5.07 KB)
📄
firewalld.py
(1.95 KB)
📄
flatpak.py
(1.29 KB)
📄
foreman.py
(15.24 KB)
📄
foreman_installer.py
(3.86 KB)
📄
foreman_openscap.py
(830 B)
📄
foreman_proxy.py
(2.19 KB)
📄
freeipmi.py
(896 B)
📄
frr.py
(1.79 KB)
📄
fwupd.py
(1.41 KB)
📄
gcp.py
(5.38 KB)
📄
gdm.py
(735 B)
📄
gfs2.py
(1.36 KB)
📄
gluster.py
(4.34 KB)
📄
gluster_block.py
(1.07 KB)
📄
grafana.py
(2.01 KB)
📄
greenboot.py
(905 B)
📄
grub.py
(988 B)
📄
grub2.py
(2.81 KB)
📄
gssproxy.py
(823 B)
📄
haproxy.py
(2.41 KB)
📄
hardware.py
(1.13 KB)
📄
helm.py
(1.14 KB)
📄
host.py
(1.74 KB)
📄
hpasm.py
(898 B)
📄
hpssm.py
(2.65 KB)
📄
hts.py
(700 B)
📄
hyperv.py
(886 B)
📄
i18n.py
(774 B)
📄
infiniband.py
(2.66 KB)
📄
infinidat.py
(1.38 KB)
📄
insights.py
(2.49 KB)
📄
instructlab.py
(5.45 KB)
📄
ipa.py
(7.36 KB)
📄
ipmitool.py
(1.53 KB)
📄
iprconfig.py
(4.53 KB)
📄
ipvs.py
(1.04 KB)
📄
iscsi.py
(2.15 KB)
📄
iscsitarget.py
(1.25 KB)
📄
jars.py
(5.39 KB)
📄
java.py
(978 B)
📄
juju.py
(8.03 KB)
📄
kafka.py
(2.07 KB)
📄
kata_containers.py
(1.34 KB)
📄
kdump.py
(5.63 KB)
📄
kea.py
(1.37 KB)
📄
keepalived.py
(855 B)
📄
kernel.py
(5.85 KB)
📄
kernelrt.py
(1.66 KB)
📄
keyutils.py
(894 B)
📄
kimchi.py
(1009 B)
📄
kpatch.py
(1.02 KB)
📄
krb5.py
(2.88 KB)
📄
kubernetes.py
(12.45 KB)
📄
kvm.py
(954 B)
📄
landscape.py
(3.17 KB)
📄
ldap.py
(2.99 KB)
📄
leapp.py
(1.49 KB)
📄
libraries.py
(1.56 KB)
📄
libreswan.py
(2.47 KB)
📄
libvirt.py
(3.76 KB)
📄
lightdm.py
(1.11 KB)
📄
lilo.py
(716 B)
📄
login.py
(1.06 KB)
📄
logrotate.py
(1.24 KB)
📄
logs.py
(3.92 KB)
📄
lstopo.py
(1.2 KB)
📄
lustre.py
(2.86 KB)
📄
lvm2.py
(4.6 KB)
📄
lxd.py
(4.31 KB)
📄
maas.py
(5.07 KB)
📄
manageiq.py
(2.86 KB)
📄
md.py
(1.22 KB)
📄
megacli.py
(1.01 KB)
📄
mellanox_firmware.py
(4.7 KB)
📄
memcached.py
(1.58 KB)
📄
memory.py
(1.44 KB)
📄
microcloud.py
(2.72 KB)
📄
microk8s.py
(4.38 KB)
📄
microovn.py
(3.23 KB)
📄
microshift.py
(6.96 KB)
📄
microshift_ovn.py
(1.69 KB)
📄
migration_results.py
(637 B)
📄
mongodb.py
(4.14 KB)
📄
monit.py
(1.68 KB)
📄
mpt.py
(732 B)
📄
mssql.py
(3.29 KB)
📄
multipath.py
(1011 B)
📄
mvcli.py
(1003 B)
📄
mysql.py
(4.44 KB)
📄
named.py
(2.5 KB)
📄
navicli.py
(2.47 KB)
📄
networking.py
(14.36 KB)
📄
networkmanager.py
(5.04 KB)
📄
nfs.py
(1.32 KB)
📄
nfsganesha.py
(1.2 KB)
📄
nginx.py
(1.53 KB)
📄
nis.py
(812 B)
📄
nodejs.py
(1.18 KB)
📄
npm.py
(2.06 KB)
📄
nscd.py
(989 B)
📄
nss.py
(885 B)
📄
ntb.py
(937 B)
📄
ntp.py
(1.41 KB)
📄
numa.py
(1.46 KB)
📄
nvidia.py
(1.82 KB)
📄
nvme.py
(1.71 KB)
📄
nvmetcli.py
(977 B)
📄
oddjob.py
(871 B)
📄
omnipath_client.py
(1.92 KB)
📄
omnipath_manager.py
(2.38 KB)
📄
omsa.py
(1.64 KB)
📄
opencl.py
(692 B)
📄
opencontrail.py
(1.35 KB)
📄
opendaylight.py
(1.38 KB)
📄
opengl.py
(694 B)
📄
openhpi.py
(878 B)
📄
openshift.py
(16.88 KB)
📄
openshift_ovn.py
(2.61 KB)
📄
openssl.py
(1.4 KB)
📄
openstack_ansible.py
(1.31 KB)
📄
openstack_aodh.py
(3.93 KB)
📄
openstack_barbican.py
(1.76 KB)
📄
openstack_ceilometer.py
(3.24 KB)
📄
openstack_cinder.py
(6.84 KB)
📄
openstack_database.py
(2.47 KB)
📄
openstack_designate.py
(3.58 KB)
📄
openstack_edpm.py
(1.45 KB)
📄
openstack_glance.py
(4.67 KB)
📄
openstack_gnocchi.py
(4.27 KB)
📄
openstack_heat.py
(5.34 KB)
📄
openstack_horizon.py
(3.37 KB)
📄
openstack_instack.py
(5.98 KB)
📄
openstack_ironic.py
(8.28 KB)
📄
openstack_keystone.py
(4.9 KB)
📄
openstack_manila.py
(3.68 KB)
📄
openstack_masakari.py
(2.08 KB)
📄
openstack_masakarimonitors.py
(1.5 KB)
📄
openstack_mistral.py
(1.6 KB)
📄
openstack_neutron.py
(6.29 KB)
📄
openstack_nova.py
(8.75 KB)
📄
openstack_novajoin.py
(1.15 KB)
📄
openstack_octavia.py
(5.16 KB)
📄
openstack_placement.py
(5.01 KB)
📄
openstack_sahara.py
(2.67 KB)
📄
openstack_swift.py
(2.95 KB)
📄
openstack_tripleo.py
(1.62 KB)
📄
openstack_trove.py
(2.26 KB)
📄
opensvc.py
(3.39 KB)
📄
openvswitch.py
(17.47 KB)
📄
oratab.py
(1.92 KB)
📄
origin.py
(8.57 KB)
📄
os_net_config.py
(800 B)
📄
ostree.py
(1.05 KB)
📄
ovirt.py
(9.44 KB)
📄
ovirt_engine_backup.py
(1.72 KB)
📄
ovirt_hosted_engine.py
(2.16 KB)
📄
ovirt_imageio.py
(1.56 KB)
📄
ovirt_node.py
(1.62 KB)
📄
ovirt_provider_ovn.py
(1.16 KB)
📄
ovn_central.py
(9.86 KB)
📄
ovn_host.py
(3.32 KB)
📄
pacemaker.py
(5.81 KB)
📄
pam.py
(1.37 KB)
📄
pci.py
(1.35 KB)
📄
pcp.py
(6.05 KB)
📄
perccli.py
(1.81 KB)
📄
perccli2.py
(1.82 KB)
📄
peripety.py
(1.19 KB)
📄
perl.py
(662 B)
📄
pmem.py
(3.34 KB)
📄
podman.py
(5.49 KB)
📄
postfix.py
(4.32 KB)
📄
postgresql.py
(4.36 KB)
📄
powerpath.py
(1.82 KB)
📄
powerpc.py
(4.22 KB)
📄
ppp.py
(848 B)
📄
procenv.py
(710 B)
📄
process.py
(4.29 KB)
📄
processor.py
(2.56 KB)
📄
proxmox.py
(2.98 KB)
📄
psacct.py
(1.29 KB)
📄
ptp.py
(892 B)
📄
pulp.py
(7.66 KB)
📄
pulpcore.py
(7.8 KB)
📄
pulseaudio.py
(1.56 KB)
📄
puppet.py
(2.26 KB)
📄
pxe.py
(1.39 KB)
📄
python.py
(3.79 KB)
📄
qaucli.py
(1.35 KB)
📄
qpid.py
(3.53 KB)
📄
qpid_dispatch.py
(2.19 KB)
📄
qt.py
(809 B)
📄
quagga.py
(755 B)
📄
rabbitmq.py
(2.73 KB)
📄
radius.py
(1.34 KB)
📄
rasdaemon.py
(994 B)
📄
rear.py
(1.31 KB)
📄
redis.py
(1.6 KB)
📄
release.py
(1.2 KB)
📄
rhc.py
(2.02 KB)
📄
rhcos.py
(1.36 KB)
📄
rhui.py
(2.27 KB)
📄
rhv_analyzer.py
(941 B)
📄
rpm.py
(2.34 KB)
📄
rpmostree.py
(1.12 KB)
📄
ruby.py
(813 B)
📄
s390.py
(2.38 KB)
📄
salt.py
(2.14 KB)
📄
saltmaster.py
(2.26 KB)
📄
samba.py
(1.79 KB)
📄
sanlock.py
(1000 B)
📄
saphana.py
(2.52 KB)
📄
sapnw.py
(5.03 KB)
📄
sar.py
(3.95 KB)
📄
sas3ircu.py
(1.3 KB)
📄
scsi.py
(2.4 KB)
📄
seagate_ses.py
(2.1 KB)
📄
sedutil.py
(1.7 KB)
📄
selinux.py
(2.02 KB)
📄
sendmail.py
(1.18 KB)
📄
services.py
(1.43 KB)
📄
shmcli.py
(4.21 KB)
📄
skydive.py
(2.28 KB)
📄
slurm.py
(3.75 KB)
📄
smartcard.py
(1.49 KB)
📄
smclient.py
(1.89 KB)
📄
snap.py
(2.99 KB)
📄
snapper.py
(741 B)
📄
snmp.py
(903 B)
📄
sos_extras.py
(3.74 KB)
📄
soundcard.py
(980 B)
📄
squid.py
(1.25 KB)
📄
ssh.py
(3.73 KB)
📄
ssmtp.py
(976 B)
📄
sssd.py
(2.33 KB)
📄
storageconsole.py
(1.66 KB)
📄
storcli.py
(1.8 KB)
📄
stratis.py
(1.12 KB)
📄
subscription_manager.py
(5.55 KB)
📄
sudo.py
(1.48 KB)
📄
sunbeam.py
(6.89 KB)
📄
sunbeam_hypervisor.py
(3.73 KB)
📄
sunrpc.py
(818 B)
📄
symcli.py
(3.46 KB)
📄
system.py
(1.67 KB)
📄
systemd.py
(3.68 KB)
📄
systemtap.py
(881 B)
📄
sysvipc.py
(886 B)
📄
targetcli.py
(1.12 KB)
📄
teamd.py
(1.24 KB)
📄
telegraf.py
(1.68 KB)
📄
tftpserver.py
(879 B)
📄
tigervnc.py
(1.67 KB)
📄
tomcat.py
(2.08 KB)
📄
tpm2.py
(989 B)
📄
tuned.py
(1.17 KB)
📄
ubuntu.py
(2.23 KB)
📄
udev.py
(900 B)
📄
udisks.py
(804 B)
📄
ufw.py
(987 B)
📄
ultrapath.py
(1.3 KB)
📄
unbound.py
(899 B)
📄
unity.py
(703 B)
📄
unpackaged.py
(3.48 KB)
📄
usb.py
(731 B)
📄
usbguard.py
(813 B)
📄
validation_framework.py
(1.5 KB)
📄
valkey.py
(1.72 KB)
📄
vault.py
(1.74 KB)
📄
vdo.py
(2.27 KB)
📄
vdsm.py
(5.05 KB)
📄
vectordev.py
(1.2 KB)
📄
veritas.py
(1.33 KB)
📄
vhostmd.py
(1.71 KB)
📄
virsh.py
(4.42 KB)
📄
virtwho.py
(985 B)
📄
vmware.py
(1.74 KB)
📄
vsftpd.py
(724 B)
📄
vulkan.py
(700 B)
📄
watchdog.py
(2.89 KB)
📄
wireless.py
(886 B)
📄
x11.py
(1.38 KB)
📄
xdp.py
(659 B)
📄
xen.py
(3.32 KB)
📄
xfs.py
(1.34 KB)
📄
xinetd.py
(837 B)
📄
zfs.py
(1.91 KB)
📄
zvm.py
(2.76 KB)
Editing: lvm2.py
# 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. from sos.report.plugins import (Plugin, IndependentPlugin, SoSPredicate, PluginOpt) class Lvm2(Plugin, IndependentPlugin): short_desc = 'Logical Volume Manager 2' plugin_name = 'lvm2' profiles = ('storage',) option_list = [ PluginOpt('lvmdump', default=False, desc='collect an lvmdump tarball'), PluginOpt('lvmdump-am', default=False, desc=('attempt to collect lvmdump with advanced options and ' 'raw metadata')), PluginOpt('metadata', default=False, desc='attempt to collect headers and metadata via pvck') ] def do_lvmdump(self, metadata=False): """Collects an lvmdump in standard format with optional metadata archives for each physical volume present. """ lvmdump_path = self.get_cmd_output_path(name="lvmdump", make=False) lvmdump_cmd = "lvmdump %s -d '%s'" lvmdump_opts = "" if metadata: lvmdump_opts = "-a -m" cmd = lvmdump_cmd % (lvmdump_opts, lvmdump_path) self.add_cmd_output(cmd, chroot=self.tmp_in_sysroot()) def get_pvck_output(self): """ Collects the output of the command pvck for each block device present in the system. """ block_list = self.exec_cmd( 'pvs -o pv_name --no-headings' ) if block_list['status'] == 0: for line in block_list['output'].splitlines(): cmds = [ f"pvck --dump headers {line}", f"pvck --dump metadata {line}", f"pvck --dump metadata_all {line} -v", f"pvck --dump metadata_search {line} -v" ] self.add_cmd_output(cmds, subdir="metadata") def setup(self): # When running LVM2 comamnds: # - use nolocking if supported, else locking_type 0 (no locks) # from lvm.conf: Turn locking off by setting to 0 (dangerous: # risks metadata corruption if LVM2 commands get run # concurrently). This avoids the possibility of hanging lvm # commands when another process or node holds a conflicting # lock. # - use metadata_read_only 1 (forbid on-disk changes). Although # all LVM2 commands we use should be read-only, any LVM2 # command may attempt to recover on-disk data in some cases. # This option prevents such changes, allowing safe use of # locking_type=0. # - use --foreign option in pvs, lvs, vgs and vgdisplay commands # to support HA-LVM deployments nolock = {'cmd': 'vgdisplay -h', 'output': '--nolocking'} if bool(SoSPredicate(self, cmd_outputs=nolock)): lvm_opts = '--config="global{metadata_read_only=1}" --nolocking' else: lvm_opts = '--config="global{locking_type=0 metadata_read_only=1}"' lvm_opts_foreign = lvm_opts + ' --foreign' self.add_cmd_output( f"vgdisplay -vv {lvm_opts_foreign}", root_symlink="vgdisplay", tags="vgdisplay" ) pvs_cols = 'pv_mda_free,pv_mda_size,pv_mda_count,pv_mda_used_count' pvs_cols = pvs_cols + ',' + 'pe_start' vgs_cols = 'vg_mda_count,vg_mda_free,vg_mda_size,vg_mda_used_count' vgs_cols = vgs_cols + ',' + 'vg_tags,systemid,lock_type' lvs_cols = ('lv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,' 'stripes,stripesize') self.add_cmd_output(f"lvs -a -o +{lvs_cols} {lvm_opts_foreign}", tags="lvs_headings") self.add_cmd_output( f"pvs -a -v -o +{pvs_cols} {lvm_opts_foreign}", tags="pvs_headings") self.add_cmd_output(f"vgs -v -o +{vgs_cols} {lvm_opts_foreign}", tags="vgs_headings") self.add_cmd_output([ f"pvscan -v {lvm_opts}", f"vgscan -vvv {lvm_opts}", ]) self.add_copy_spec("/etc/lvm") self.add_copy_spec("/run/lvm") if self.get_option('lvmdump'): self.do_lvmdump() elif self.get_option('lvmdump-am'): self.do_lvmdump(metadata=True) if self.get_option('metadata'): self.get_pvck_output() # vim: set et ts=4 sw=4 :
Upload File
Create Folder