Ë
    i©¹dñ%  ã                   óT   — d dl Z d dlZd dlZd dlmZmZmZ d dlmZ  G d„ dee«      Z	y)é    N)ÚPluginÚRedHatPluginÚ	PluginOpt)Úis_executablec                   ó¨   — e Zd ZdZdZdZdZ ej                  ej                  d¬«      Z
dZ edd	d
¬«       eded¬«       eddd¬«      gZd„ Zd„ Zy)ÚOvirtzoVirt EngineÚovirt)Úvirt)
úovirt-enginezovirt-engine-dwhzovirt-engine-reportszovirt-engine-metricszovirt-engine-setupzovirt-vmconsolezovirt-scheduler-proxyÚrhevmz	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)ÚdefaultÚdescÚsensitive_keysz.Sensitive keys to be masked in post-processingÚheapdumpFz3Collect heap dumps from /var/log/ovirt-engine/dump/c           
      óø  — | j                  d«      r¬| j                  d«      r›d}d|z  }| j                  |«      }|d   j                  «       D �cg c]  }t	        |«      ‘Œ }}|s,| j
                  j                  d«       | j                  d«       |D ]'  }	 t        j                  |t        j                  «       Œ) | j                  dd	g«       | j                  d
«      s"| j                  d«       | j                  d«       g d¢}ddg}	| j                  ddg«       | j                  |D �
cg c]  }
d|
z  ‘Œ	 c}
«       | j                  |	D ��
cg c]  \  }}
d|›d|
›�‘Œ c}
}«       d}d}d}t        |«      r| j                  d|z  «       t        |«      r| j                  d|z  «       t        d«      r(g d¢}| j                  |D �cg c]	  }|›d|›�‘Œ c}«       | j!                  g d¢«       | j#                  dddd œ«       | j                  d!d"g«       | j!                  d#d$g«       y c c}w # t        $ r*}| j
                  j                  d|z  |«       Y d }~�ŒÐd }~ww xY wc c}
w c c}
}w c c}w )%Nr   r   z)^ovirt-engine\ -server.*jboss-modules.jarzpgrep -f '%s'ÚoutputzUnable to get ovirt-engine pidzUnable 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)Úmypassú!/etc/pki/ovirt-engine/.truststore)Úchangeitú)/var/lib/ovirt-engine/external_truststorezengine-config --allzengine-config -dz openssl x509 -in %s -text -nooutzkeytool -list -storepass z -rfc -keystore zengine-manage-domainszovirt-engine-extensions-toolzovirt-aaa-jdbc-toolz%s listz%s info list-extensions)zquery --what=userzquery --what=groupzsettings showú )ú/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/configÚovirt_engine_confdÚovirt_engine_boot_logÚovirt_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_optionÚis_installedÚexec_cmdÚ
splitlinesÚintÚsoslogÚerrorÚ	add_alertÚosÚkillÚsignalÚSIGQUITÚOSErrorÚadd_forbidden_pathÚadd_cmd_outputr   Úadd_copy_specÚadd_file_tags)ÚselfÚengine_patternÚpgrepÚrÚxÚengine_pidsÚpidÚeÚcertificatesÚ	keystoresÚcÚpÚmanage_domainsÚextensions_toolÚ	jdbc_toolÚsubcmdsÚscs                    ú:/usr/lib/python3/dist-packages/sos/report/plugins/ovirt.pyÚsetupzOvirt.setupB   s¤  € Ø�?‰?˜<Ô(¨T×->Ñ->¸~Ô-NØIˆNØ# nÑ4ˆEØ—‘˜eÓ$ˆAØ+,¨X©;×+AÑ+AÓ+CÖD aœ3˜q�6ÐDˆKÐDÙØ—‘×!Ñ!Ð"BÔCØ—‘Ð?Ô@Ø"ò N�ðNä—G‘G˜C¤§¡Õ0ðNð 	×ÑØ'Ø ð!
ô 	ð
 �‰˜zÔ*Ø×#Ñ#Ð$@ÔAØ×ÑÐ CÔDò	
ˆð <ØEð
ˆ	ð
 	×Ñà!àð	
ô 	ð 	×Ñà<Hö
à78Ð.°Ó2ò
ô 	ð
 	×Ñð "+÷
ñ ˜™1ŠQ‘òó
ô 	ð 1ˆØ8ˆØ)ˆ	ä˜Ô(Ø×Ñ 	¨NÑ :Ô;Ü˜Ô)Ø×ÑÐ 9¸OÑ KÔLÜÐ.Ô/òˆGð ×ÑÀWÖ M¸rªI±rÒ!:Ò MÔNð 	×Ñò 
ô 	ð0 	×Ñà$à'à*ñ
ô 	ð 	×ÑØ(Ø+ð!
ô 	ð 	×ÑØ$Ø/ð
õ 	ùò_ Eøô ò NØ—K‘K×%Ñ%Ð&CÀcÑ&IÈ1×MÒMûðNüòF
ùó

ùò, !Ns0   ÁH1Â$H6Ä.I,ÅI1
ÇI7È6	I)È?I$É$I)c                 óš  — dD ]  }| j                  |dd«       Œ d}|D ]  }| j                  d|z  dd«       Œ | j                  dd	d«       g d
¢}|D ]'  }| j                  d|«      }| j                  |dd«       Œ) | j                  }| j                  d«      }|r|dur|}|j	                  d«      D �	cg c]  }	|	sŒ|	‘Œ	 }
}	| j                  | j                  ddj                  |
«      z  d«       dD ]%  }| j                  ddj                  |¬«      d«       Œ' g d¢}ddj                  |«      z  }| j                  d|d«       yc c}	w )z+
        Obfuscate sensitive keys.
        )z8/etc/ovirt-engine/engine-config/engine-config.propertiesz//etc/rhevm/rhevm-config/rhevm-config.propertiesz(Password.type)=(.*)z\1=********)zovirt-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)=(.*))zlogcollector.confzimageuploader.confzisouploader.confr   z(passwd|pg-pass)=(.*)r   Tú:z	(%s)=(.*)ú|)ÚpasswordÚOVESETUP_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.passwordzconfig.datasource.dbpasswordz(^\s*#*(%s)\s*=\s*)(.*)z$/etc/ovirt-engine/aaa/.*\.propertiesz\1*********N)	Údo_file_subÚ	path_joinÚDEFAULT_SENSITIVE_KEYSr   ÚsplitÚdo_path_regex_subÚDB_PASS_FILESÚjoinÚformat)r0   ÚfÚengine_filesÚfilenameÚpasswd_filesÚ	conf_fileÚ	conf_pathr   Úkeys_optr4   Úkey_listrH   Úprotect_keysÚregexps                 rA   ÚpostproczOvirt.postproc»   s�  € ðEò 	ˆAà×ÑØØ'Øõð	ð
ˆð %ò 	ˆHØ×ÑØ1°HÑ<Ø0Øõð	ð 	×ÑØ8Ø#Øô	
ò
ˆð
 &ò 	ˆIØŸ™Ð':¸IÓFˆIØ×ÑØØ(Øõð	ð ×4Ñ4ˆà—?‘?Ð#3Ó4ˆÙ˜¨Ñ,Ø%ˆNØ-×3Ñ3°CÓ8Ö>˜!ºA’AÐ>ˆÐ>Ø×ÑØ×ÑØ˜3Ÿ8™8 HÓ-Ñ-Øô	
ð
ò 	ˆDð ×"Ñ"Ø9Ø/×6Ñ6¸DÐ6ÓAØ#õð		ò
ˆð ,¨c¯h©h°|Ó.DÑDˆà×ÑÐFÈØ-õ	/ùò? ?s   Â5EÂ=EN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚpackagesÚreÚcompileÚVERBOSErN   rK   r   Úoption_listrB   r[   © ó    rA   r   r      sˆ   „ à€Jà€KØ€Hð€Hð �B—J‘JØ�j‰jðô€Mð	;ð ñ 	�,¨ØIô	KáÐ"Ð,BØGô	Iá�* eØLô	Nð€KòwórR/rh   r   )
r'   rc   r)   Úsos.report.pluginsr   r   r   Úsos.utilitiesr   r   rg   rh   rA   ú<module>rk      s+   ðó 
Û 	Û ÷ ?Ñ >Ý 'ôu/ˆF�Lõ u/rh   