o i©¹dNã@sTddlmZmZddlZddlZddlZdZe dde¡ ¡ZGdd„deeƒZ dS)é)ÚPluginÚ RedHatPluginNa$ global { locking_type=0 metadata_read_only=1 use_lvmetad=0 } devices { preferred_names=["^/dev/mapper/"] ignore_suspended_devices=1 write_cache_state=0 disable_after_error_count=3 use_devicesfile=0 filter=["a|^/dev/disk/by-id/dm-uuid-mpath-|", "r|.+|"] } z\s+ú c@s(eZdZdZdZdZdd„Zdd„ZdS) ÚVdsmz)VDSM - Virtual Desktop and Server Manager)Úvdsmz vdsm-clientrc sÔ| d¡| d¡| d¡| d¡| ddg¡| gd¢¡| d¡| ¡| gd ¢¡| d d d d œ¡| d¡}|rRgd¢‰| ‡fdd„|Dƒ¡| gd¢¡| dtdtdtg¡| gd¢¡z!| d¡}|ddkrŽt   |d¡}|D] }| d  |¡¡qƒWnt y¨}z |  d|¡WYd}~nd}~wwz&| d¡}|ddkrÍt   |d¡}d‰| ‡fdd„|Dƒ¡WdSWdSt yé}z|  d |¡WYd}~dSd}~ww)!Nz/etc/pki/vdsm/keysz/etc/pki/vdsm/*/*-key.*z/etc/pki/libvirt/privatez%/var/lib/vdsm/storage/transient_disksÚvdsmdÚ supervdsmd)z/tmp/vds_installer*z/tmp/vds_bootstrap*z /etc/vdsm/*z/etc/pki/vdsm/z/var/log/vdsm/*)ú /run/vdsm/*z/usr/libexec/vdsm/hooksz /var/lib/vdsmÚ vdsm_confÚvdsm_idÚvdsm_import_log)z/etc/vdsm/vdsm.confz/etc/vdsm/vdsm.idz!/var/log/vdsm/import/import-*.logzqemu-kvm)ÚcmdlineÚstatusÚ mountstatscs"g|] }ˆD]}d||f‘qqS)z /proc/%s/%s©)Ú.0ÚpidÚname)Úfilesrú9/usr/lib/python3/dist-packages/sos/report/plugins/vdsm.pyÚ asý þÿzVdsm.setup..)zls -ldZ /etc/vdsmz1su vdsm -s /bin/sh -c 'tree -l /rhev/data-center'z0su vdsm -s /bin/sh -c 'ls -lR /rhev/data-center'z!lvm vgs -v -o +tags --config '%s'z!lvm lvs -v -o +tags --config '%s'z lvm pvs -v -o +all --config '%s')z vdsm-client Host getCapabilitieszvdsm-client Host getStatszvdsm-client Host getAllVmStatszvdsm-client Host getVMFullListzvdsm-client Host getDeviceListz"vdsm-client Host hostdevListByCapsz vdsm-client Host getAllTasksInfoz$vdsm-client Host getAllTasksStatusesz)vdsm-client Host getConnectedStoragePoolsrrÚoutputz5vdsm-client StoragePool getSpmStatus storagepoolID={}z-vdsm-client Host getConnectedStoragePools: %sz"vdsm-client Host getStorageDomainszvdsm-tool dump-volume-chains %scsg|]}ˆ|‘qSrr)rÚuuid)Údump_volume_chains_cmdrrr‘sÿz&vdsm-client Host getStorageDomains: %s)Úadd_forbidden_pathÚadd_service_statusÚ add_copy_specÚ_add_vdsm_forbidden_pathsÚ add_file_tagsÚget_process_pidsÚadd_cmd_outputÚ LVM_CONFIGÚcollect_cmd_outputÚjsonÚloadsÚformatÚ ValueErrorÚ _log_error)ÚselfÚ qemu_pidsÚresÚpoolsÚpoolÚeÚsd_uuidsr)rrrÚsetup@sx     ý þý ÿ þ€ÿ€ÿ  ÿýÿ€ÿz Vdsm.setupcCs(t d¡D] }| d¡r| |¡qdS)zJAdd confidential sysprep vfds under /run/vdsm to forbidden paths r )z.vfdz /isoUploaderz/storageN)ÚglobÚendswithr)r(Ú file_pathrrrr™s   €þzVdsm._add_vdsm_forbidden_pathsN)Ú__name__Ú __module__Ú __qualname__Ú short_descÚpackagesÚ plugin_namer/rrrrrr6s  Yr) Úsos.report.pluginsrrr0r#Úrer!ÚsubÚstriprrrrrÚs