o
    *b                     @   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| d| d||f d||f d||f g | d | dr[|   d S | drh| jdd d S 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_symlinkz6pv_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vgscan -vvv %szpvscan -v %szpvs -a -v -o +%s %szvgs -v -o +%s %szlvs -a -o +%s %sz/etc/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*   s6   






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   