o id@s.ddlmZmZmZmZGdddeeZdS))PluginIndependentPlugin SoSPredicate PluginOptc@sFeZdZdZdZdZeddddeddd dgZdd d Zd d Z dS)Lvm2zLogical Volume Manager 2lvm2)storagelvmdumpFzcollect an lvmdump tarball)defaultdesc lvmdump-amzAattempt to collect lvmdump with advanced options and raw metadatacCs@|jddd}d}d}|rd}|||f}|j||ddS) z|Collects an lvmdump in standard format with optional metadata archives for each physical volume present. r F)namemakezlvmdump %s -d '%s'z-a -m)chrootN)get_cmd_output_pathadd_cmd_outputtmp_in_sysroot)selfmetadata lvmdump_path lvmdump_cmd lvmdump_optscmdr9/usr/lib/python3/dist-packages/sos/report/plugins/lvm2.py do_lvmdumps zLvm2.do_lvmdumpcCsddd}tt||drd}nd}|d}|jd|d d d d }|d d }d}|d d}d}|jd||fdd|jd||fdd|jd||fdd|d|d|g|d|d|drs|dS|dr|jdddSdS) Nz vgdisplay -hz --nolocking)routput) cmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z --foreignzvgdisplay -vv %s vgdisplay) root_symlinktagsz6pv_mda_free,pv_mda_size,pv_mda_count,pv_mda_used_count,pe_startz6vg_mda_count,vg_mda_free,vg_mda_size,vg_mda_used_countzvg_tags,systemidzElv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,stripes,stripesizezlvs -a -o +%s %s lvs_headings)r!zpvs -a -v -o +%s %s pvs_headingszvgs -v -o +%s %s vgs_headingsz pvscan -v %szvgscan -vvv %sz/etc/lvmz/run/lvmr r T)r)boolrr add_copy_spec get_optionr)rnolocklvm_optslvm_opts_foreignpvs_colsvgs_colslvs_colsrrrsetup*sF         z Lvm2.setupN)F) __name__ __module__ __qualname__ short_desc plugin_nameprofilesr option_listrr0rrrrr s   rN)sos.report.pluginsrrrrrrrrrs