File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/ovirt.cpython-38.pyc
U
i��d�% � @ sN d dl Z d dlZd dlZd dlmZmZmZ d dlmZ G dd� dee�Z dS )� N)�Plugin�RedHatPlugin� PluginOpt)�
is_executablec @ sh e Zd ZdZdZdZdZejej dd�Z
dZedd d
d�eded
d�edddd�gZ
dd� Zdd� ZdS )�OvirtzoVirt EngineZovirt)Zvirt)
�ovirt-enginezovirt-engine-dwhzovirt-engine-reportszovirt-engine-metricszovirt-engine-setupzovirt-vmconsolezovirt-scheduler-proxyZrhevmz rhevm-dwhz
rhevm-reportsz}^/etc/
(rhevm|ovirt-engine|ovirt-engine-dwh)/
(engine.conf|ovirt-engine-dwhd.conf)
(\.d/.+.conf.*?)?$)�flags�patternzcENGINE_DB_PASSWORD:ENGINE_PKI_TRUST_STORE_PASSWORD:ENGINE_PKI_ENGINE_STORE_PASSWORD:DWH_DB_PASSWORD�
jbosstraceTz0Enable oVirt Engine JBoss stack trace collection)�defaultZdesc�sensitive_keysz.Sensitive keys to be masked in post-processing�heapdumpFz3Collect heap dumps from /var/log/ovirt-engine/dump/c s� | � d�r�| �d�r�d}d| }| �|�}dd� |d �� D �}|sZ| j�d� | �d� |D ]L}zt�|t j
� W q^ tk
r� } z| j�d | |� W 5 d }~X Y q^X q^| �d
dg� | � d�s�| �d
� | �
d� ddddddddg}ddg}| �
ddg� | �
dd� |D �� | �
dd� |D �� d} d}
d� t| ��rN| �
d | � t|
��rf| �
d!|
� td��r�d"d#d$g}| �
� fd%d�|D �� | �d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:g� | �d;d<d=d>�� | �d?d@g� | �dAdBg� d S )CNr
r z)^ovirt-engine\ -server.*jboss-modules.jarz
pgrep -f '%s'c S s g | ]}t |��qS � )�int��.0�xr r �:/usr/lib/python3/dist-packages/sos/report/plugins/ovirt.py�
<listcomp>G s zOvirt.setup.<locals>.<listcomp>�outputzUnable to get ovirt-engine pidzUnable to send signal to %dz/etc/ovirt-engine/.pgpassz/etc/rhevm/.pgpassr
z/var/log/ovirt-engine/dumpz!ls -l /var/log/ovirt-engine/dump/z/etc/pki/ovirt-engine/ca.pemz#/etc/pki/ovirt-engine/apache-ca.pemz&/etc/pki/ovirt-engine/certs/engine.cerz&/etc/pki/ovirt-engine/certs/apache.cerz//etc/pki/ovirt-engine/certs/websocket-proxy.cerz%/etc/pki/ovirt-engine/certs/jboss.cerz-/etc/pki/ovirt-engine/certs/imageio-proxy.cerz2/etc/pki/ovirt-engine/certs/ovirt-provider-ovn.cer)Zmypass�!/etc/pki/ovirt-engine/.truststore)Zchangeit�)/var/lib/ovirt-engine/external_truststorezengine-config --allzengine-config -dc S s g | ]}d | �qS )z openssl x509 -in %s -text -nooutr )r �cr r r r r s c S s g | ]\}}d ||f �qS )z-keytool -list -storepass %s -rfc -keystore %sr )r �pr r r r r w s ��zengine-manage-domainszovirt-engine-extensions-toolzovirt-aaa-jdbc-toolz%s listz%s info list-extensionszquery --what=userzquery --what=groupz
settings showc s g | ]}d � |f �qS )z%s %sr )r Zsc�Z jdbc_toolr r r � s �/etc/ovirt-enginez/etc/rhevm/z/etc/ovirt-engine-dwhz/etc/ovirt-engine-reportsz/etc/ovirt-engine-metricsz/etc/ovirt-engine-setupz/etc/ovirt-vmconsolez/var/log/ovirt-enginez/var/log/ovirt-engine-dwhz/var/log/ovirt-engine-reportsz/var/log/ovirt-scheduler-proxyz/var/log/rhevmz/etc/sysconfig/ovirt-enginez/usr/share/ovirt-engine/confz/var/log/ovirt-guest-agentz'/var/lib/ovirt-engine/setup-history.txtz#/var/lib/ovirt-engine/setup/answersr z/var/tmp/ovirt-engine/configz*/var/lib/ovirt-engine/jboss_runtime/configz2/var/lib/ovirt-engine-reports/jboss_runtime/configZovirt_engine_confdZovirt_engine_boot_logZovirt_engine_console_log)z"/etc/ovirt-engine/engine.conf.d/.*z/var/log/ovirt-engine/boot.logz!/var/log/ovirt-engine/console.logz/etc/pki/ovirt-engine/keysz/etc/pki/ovirt-engine/privatez/etc/pki/ovirt-engine/r )�
get_optionZis_installedZexec_cmd�
splitlinesZsoslog�errorZ add_alert�os�kill�signal�SIGQUIT�OSErrorZadd_forbidden_pathZadd_cmd_outputr Z
add_copy_specZ
add_file_tags)�selfZengine_patternZpgrep�rZengine_pids�pid�eZcertificatesZ keystoresZmanage_domainsZextensions_toolZsubcmdsr r r �setupB s�
&�
���
�
�
���
��zOvirt.setupc
C s dD ]}| � |dd� qd}|D ]}| � d| dd� q | � dd d� d
ddg}|D ]}| �d
|�}| � |dd� qT| j}| �d�}|r�|dk r�|}dd� |�d�D �} | �| jdd�| � d� dD ]}
| �ddj|
d�d� q�ddddg}dd�|� }| �d |d!� d"S )#z+
Obfuscate sensitive keys.
)z8/etc/ovirt-engine/engine-config/engine-config.propertiesz//etc/rhevm/rhevm-config/rhevm-config.propertiesz(Password.type)=(.*)z\1=********)zovirt-engine.xmlz0ovirt-engine_history/current/ovirt-engine.v1.xmlz*ovirt-engine_history/ovirt-engine.boot.xmlz-ovirt-engine_history/ovirt-engine.initial.xmlz*ovirt-engine_history/ovirt-engine.last.xmlz/var/tmp/ovirt-engine/config/%sz(<password>)(.*)(</password>)z\1********\3z*/etc/ovirt-engine/redhatsupportplugin.confz(proxyPassword)=(.*)zlogcollector.confzimageuploader.confzisouploader.confr z(passwd|pg-pass)=(.*)r Tc S s g | ]}|r|�qS r r r r r r r � s z"Ovirt.postproc.<locals>.<listcomp>�:z (%s)=(.*)�|)ZpasswordZOVESETUP_CONFIG_ADMIN_SETUPz&/var/lib/ovirt-engine/setup/answers/.*z(?P<key>[^=]*{item}[^=]*)=.*)�itemz\g<key>=********z
vars.passwordz!pool.default.auth.simple.passwordz$pool.default.ssl.truststore.passwordzconfig.datasource.dbpasswordz(^\s*#*(%s)\s*=\s*)(.*)z$/etc/ovirt-engine/aaa/.*\.propertiesz\1*********N) Zdo_file_subZ path_join�DEFAULT_SENSITIVE_KEYSr �splitZdo_path_regex_sub�
DB_PASS_FILES�join�format)
r$ �fZengine_files�filenameZpasswd_filesZ conf_fileZ conf_pathr Zkeys_optZkey_listr+ Zprotect_keysZregexpr r r �postproc� sl �����
�
���zOvirt.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackages�re�compile�VERBOSEr. r, r Zoption_listr( r3 r r r r r s,
� ����� yr )
r r7 r! Zsos.report.pluginsr r r Z
sos.utilitiesr r r r r r �<module> s