3 ܓi1@sTddlZddlZddlZddlmZmZdZejddejZGdddeeZ dS)N)Plugin RedHatPlugina$ 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(eZdZdZd ZdZddZddZdS) Vdsmz)VDSM - Virtual Desktop and Server Managervdsm vdsm-clientcs|jd|jd|jd|jd|jddg|jddd d g|jd |j|jd d dg|jdddd|jd}|rdddg|jfdd|D|jddgddd|jddd|jdtd d!td d"td g|jd#d$d%d&d'd(d)d*gyJ|j d+}|dd,krXt j |d-}x|D]}|jd.|q>WWn4t k r}z|j d/|WYdd}~XnXyF|j d0}|dd,krt j |d-}d1|jfd2d|DWn4t k r }z|j d3|WYdd}~XnXdS)4Nz/etc/pki/vdsm/keysz/etc/pki/vdsm/*/*-key.*z/etc/pki/libvirt/privatez%/var/lib/vdsm/storage/transient_disksZvdsmdZ supervdsmdz/tmp/vds_installer*z/tmp/vds_bootstrap*z /etc/vdsm/*z/etc/pki/vdsm/z/var/log/vdsm/*z /run/vdsm/*z/usr/libexec/vdsm/hooksz /var/lib/vdsmZ vdsm_confZvdsm_idZvdsm_import_log)z/etc/vdsm/vdsm.confz/etc/vdsm/vdsm.idz!/var/log/vdsm/import/import-*.logzqemu-kvmZcmdlineZstatusZ mountstatscs&g|]}D]}d|d|q qS)z/proc//).0pidname)filesr /usr/lib/python3.6/vdsm.py aszVdsm.setup..z /etc/vdsmz/rhev/data-centerrT)Zrunas recursive)Ztreezlvm vgs -v -o +tags --config ''zlvm lvs -v -o +tags --config 'zlvm pvs -v -o +all --config '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 getConnectedStoragePoolsroutputz3vdsm-client StoragePool getSpmStatus storagepoolID=z+vdsm-client Host getConnectedStoragePools: z"vdsm-client Host getStorageDomainszvdsm-tool dump-volume-chains %scsg|] }|qSr r )r Zuuid)dump_volume_chains_cmdr rrsz$vdsm-client Host getStorageDomains: )add_forbidden_pathZadd_service_statusZ add_copy_spec_add_vdsm_forbidden_pathsZ add_file_tagsZget_process_pidsZadd_dir_listingZadd_cmd_output LVM_CONFIGZcollect_cmd_outputjsonloads ValueErrorZ _log_error)selfZ qemu_pidsresZpoolsZpoolerrZsd_uuidsr )rr rsetup?s               z Vdsm.setupcCs,x&tjdD]}|jdr |j|q WdS)zJAdd confidential sysprep vfds under /run/vdsm to forbidden paths z /run/vdsm/*.vfd /isoUploader/storageN)rrr )globendswithr)rZ file_pathr r rrs zVdsm._add_vdsm_forbidden_pathsN)rr)__name__ __module__ __qualname__Z short_descZpackagesZ plugin_namerrr r r rr5s \r) r!rreZsos.report.pluginsrrrsubstriprr r r r s #