o
    id                     @   s.   d dl mZmZmZmZ G dd deeZdS )    )PluginIndependentPluginSoSPredicate	PluginOptc                   @   sF   e Zd ZdZdZdZeddddeddd	dgZdd
dZdd Z	dS )Lvm2zLogical Volume Manager 2lvm2)storagelvmdumpFzcollect an lvmdump tarball)defaultdesc
lvmdump-amzAattempt to collect lvmdump with advanced options and raw metadatac                 C   s@   | j ddd}d}d}|rd}|||f }| j||  d dS )	z|Collects an lvmdump in standard format with optional metadata
           archives for each physical volume present.
        r	   F)namemakezlvmdump %s -d '%s' z-a -m)chrootN)get_cmd_output_pathadd_cmd_outputtmp_in_sysroot)selfmetadatalvmdump_pathlvmdump_cmdlvmdump_optscmd r   9/usr/lib/python3/dist-packages/sos/report/plugins/lvm2.py
do_lvmdump   s   zLvm2.do_lvmdumpc                 C   s  ddd}t t| |drd}nd}|d }| jd| d	d	d
 d}|d d }d}|d d }d}| jd||f dd | jd||f dd | jd||f dd | d| d| g | d | d | drs|   d S | dr| jdd d S d S ) Nzvgdisplay -hz--nolocking)r   output)cmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z
 --foreignzvgdisplay -vv %s	vgdisplay)root_symlinktagsz6pv_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_countzvg_tags,systemidzElv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,stripes,stripesizezlvs -a -o +%s %slvs_headings)r!   zpvs -a -v -o +%s %spvs_headingszvgs -v -o +%s %svgs_headingszpvscan -v %szvgscan -vvv %sz/etc/lvmz/run/lvmr	   r   T)r   )boolr   r   add_copy_spec
get_optionr   )r   nolocklvm_optslvm_opts_foreignpvs_colsvgs_colslvs_colsr   r   r   setup*   sF   





z
Lvm2.setupN)F)
__name__
__module____qualname__
short_descplugin_nameprofilesr   option_listr   r0   r   r   r   r   r      s    
r   N)sos.report.pluginsr   r   r   r   r   r   r   r   r   <module>   s   