Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/lvm2.cpython-312.pyc
�

-�_ge��4�ddlmZmZmZmZGd�dee�Zy)�)�Plugin�IndependentPlugin�SoSPredicate�	PluginOptc�l�eZdZdZdZdZeddd��eddd	��ed
dd��gZdd�Zd
�Z	d�Z
y)�Lvm2zLogical Volume Manager 2�lvm2)�storage�lvmdumpFzcollect an lvmdump tarball)�default�desc�
lvmdump-amzAattempt to collect lvmdump with advanced options and raw metadata�metadataz0attempt to collect headers and metadata via pvckc��|jdd��}d}d}|rd}|||fz}|j||j���y)	z|Collects an lvmdump in standard format with optional metadata
           archives for each physical volume present.
        rF)�name�makezlvmdump %s -d '%s'�z-a -m)�chrootN)�get_cmd_output_path�add_cmd_output�tmp_in_sysroot)�selfr�lvmdump_path�lvmdump_cmd�lvmdump_opts�cmds      �9/usr/lib/python3/dist-packages/sos/report/plugins/lvm2.py�
do_lvmdumpzLvm2.do_lvmdumpsV���/�/�Y�U�/�K��*�����"�L��\�<�8�8�����C��(;�(;�(=��>�c��|jd�}|ddk(r@|dj�D])}d|��d|��d|�d�d	|�d�g}|j|d
���+yy)
zj Collects the output of the command pvck for each block device
            present in the system.
        zpvs -o pv_name --no-headings�statusr�outputzpvck --dump headers zpvck --dump metadata zpvck --dump metadata_all z -vzpvck --dump metadata_search r)�subdirN)�exec_cmd�
splitlinesr)r�
block_list�line�cmdss    r�get_pvck_outputzLvm2.get_pvck_output,s���
�]�]�*�
�
��h��1�$�"�8�,�7�7�9�
=��*�4�&�1�+�D�6�2�/��v�S�9�2�4�&��<�	���#�#�D��#�<�
=�%rc��ddd�}tt||���rd}nd}|dz}|jd|��d	d	�
�d}|dzd
z}d}|dzdz}d}|jd|�d|��d��|jd|�d|��d��|jd|�d|��d��|jd|��d|��g�|jd�|jd�|j	d�r|j�n#|j	d�r|jd� �|j	d!�r|j
�yy)"Nzvgdisplay -hz--nolocking)rr")�cmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z
 --foreignzvgdisplay -vv �	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_countzvg_tags,systemid,lock_typezElv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,stripes,stripesizezlvs -a -o +� �lvs_headings)r.zpvs -a -v -o +�pvs_headingszvgs -v -o +�vgs_headingsz
pvscan -v zvgscan -vvv z/etc/lvmz/run/lvmrrT)rr)�boolrr�
add_copy_spec�
get_optionrr))r�nolock�lvm_opts�lvm_opts_foreign�pvs_cols�vgs_cols�lvs_colss       r�setupz
Lvm2.setup>s���(�=�A����T�v�6�7�L�H�O�H�#�l�2������-�.�/�$�;�	�	
�
L���c�>�J�.��K���c�>�$@�@��)�����k�(��1�5E�4F�G�!/�	�	1�����X�J�a�(8�'9�:��	�	!�	
���k�(��1�5E�4F�G�!/�	�	1������
�#��8�*�%�
�	�
	
���:�&����:�&��?�?�9�%��O�O��
�_�_�\�
*��O�O�T�O�*��?�?�:�&�� � �"�'rN)F)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesr�option_listrr)r>�rrrr
sY��+�J��K��H�	�)�U�1M�N��,��'�	)�	�*�e�I�	K��K�
?�=�$6#rrN)�sos.report.pluginsrrrrrrFrr�<module>rHs ��+�+�g#�6�$�g#r