U
    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 2Zlvm2)ZstoragelvmdumpFzcollect an lvmdump tarball)defaultZ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)nameZmakezlvmdump %s -d '%s' z-a -m)chrootN)Zget_cmd_output_pathadd_cmd_outputZtmp_in_sysroot)selfmetadataZlvmdump_pathZlvmdump_cmdZ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r|   n| dr| jdd d S ) Nzvgdisplay -hz--nolocking)r   output)Zcmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z
 --foreignzvgdisplay -vv %sZ	vgdisplay)Zroot_symlinktagsz6pv_mda_free,pv_mda_size,pv_mda_count,pv_mda_used_count,Z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 %sZlvs_headings)r   zpvs -a -v -o +%s %sZpvs_headingszvgs -v -o +%s %sZvgs_headingszpvscan -v %szvgscan -vvv %sz/etc/lvmz/run/lvmr   r	   T)r   )boolr   r   Zadd_copy_specZ
get_optionr   )r   ZnolockZlvm_optsZlvm_opts_foreignZpvs_colsZvgs_colsZlvs_colsr   r   r   setup*   sF    
 





z
Lvm2.setupN)F)
__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   Zoption_listr   r   r   r   r   r   r      s   
r   N)Zsos.report.pluginsr   r   r   r   r   r   r   r   r   <module>	   s   