3 ܓi%@sNddlZddlZddlZddlmZmZmZddlmZGdddeeZ dS)N)Plugin RedHatPlugin PluginOpt) is_executablec @sheZdZdZdZdZd Zejej ddZ dZ e dddde de dde ddddgZ ddZddZdS)!Ovirtz oVirt EngineZovirtvirt ovirt-engineovirt-engine-dwhovirt-engine-reportsovirt-engine-metricsovirt-engine-setupovirt-vmconsoleovirt-scheduler-proxyrhevm rhevm-dwh rhevm-reportsz}^/etc/ (rhevm|ovirt-engine|ovirt-engine-dwh)/ (engine.conf|ovirt-engine-dwhd.conf) (\.d/.+.conf.*?)?$)flagspatternzcENGINE_DB_PASSWORD:ENGINE_PKI_TRUST_STORE_PASSWORD:ENGINE_PKI_ENGINE_STORE_PASSWORD:DWH_DB_PASSWORD jbosstraceTz0Enable oVirt Engine JBoss stack trace collection)defaultZdesczsensitive-keysz.Sensitive keys to be masked in post-processingheapdumpFz3Collect heap dumps from /var/log/ovirt-engine/dump/c s|jdr|jdrd}d|d}|j|}dd|djD}|s^|jjd |jd xF|D]>}ytj|t j Wqdt k r|jjd |YqdXqdW|j d d g|jd s|j d|j dddddddddg}dDdEg}|jddg|jdd|D|jdd|Dd }d!} d"t|rJ|j|d#t| rd|j| d$td"rd%d&d'g} |jfd(d| D|jd)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9dd:d;dd?d@|j dAdBg|jdCdgdS)FNrz ovirt-enginez)^ovirt-engine\ -server.*jboss-modules.jarz pgrep -f ''cSsg|] }t|qS)int).0xrr/usr/lib/python3.6/ovirt.py GszOvirt.setup..outputzUnable to get ovirt-engine pidzUnable to send signal to z/etc/ovirt-engine/.pgpassz/etc/rhevm/.pgpassrz/var/log/ovirt-engine/dumpz/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.cermypass!/etc/pki/ovirt-engine/.truststorechangeit)/var/lib/ovirt-engine/external_truststorezengine-config --allzengine-config -dcSsg|]}d|dqS)zopenssl x509 -in z -text -nooutr)rcrrrrtscSs g|]\}}d|d|qS)zkeytool -list -storepass z -rfc -keystore r)rpr#rrrryszengine-manage-domainszovirt-engine-extensions-toolzovirt-aaa-jdbc-toolz listz info list-extensionszquery --what=userzquery --what=groupz settings showcsg|]}d|qS) r)rZsc) jdbc_toolrrrsz/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/answersz/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/)rr )r!r") get_optionZ is_installedZexec_cmd splitlinesZsoslogerrorZ add_alertoskillsignalSIGQUITOSErrorZadd_forbidden_pathZadd_dir_listingZadd_cmd_outputrZ add_copy_specZ add_file_tags) selfZengine_patternZpgrepresZ engine_pidspidZ certificatesZ keystoresZmanage_domainsZextensions_toolZsubcmdsr)r&rsetupBs             z Ovirt.setupc Cs(xd+D]}|j|ddqWd,}x |D]}|jd |d d q&W|jd dddddg}x&|D]}|jd|}|j|ddq`W|j}|jd}|r|dk r|}dd|jdD} |j|jddj| ddx"d-D]} |jdd| d d!qWd"d#d$d%g} d&dj| d'} |jd(| d)d*S).z+ Obfuscate sensitive keys. 8/etc/ovirt-engine/engine-config/engine-config.properties//etc/rhevm/rhevm-config/rhevm-config.propertiesz(Password.type)=(.*)z \1=********ovirt-engine.xml0ovirt-engine_history/current/ovirt-engine.v1.xml*ovirt-engine_history/ovirt-engine.boot.xml-ovirt-engine_history/ovirt-engine.initial.xml*ovirt-engine_history/ovirt-engine.last.xmlz/var/tmp/ovirt-engine/config/z()(.*)()z \1********\3z*/etc/ovirt-engine/redhatsupportplugin.confz(proxyPassword)=(.*)zlogcollector.confzimageuploader.confzisouploader.confz/etc/ovirt-enginez(passwd|pg-pass)=(.*)zsensitive-keysTcSsg|] }|r|qSrr)rrrrrrsz"Ovirt.postproc..:(|z)=(.*)passwordOVESETUP_CONFIG_ADMIN_SETUPz&/var/lib/ovirt-engine/setup/answers/.*z (?P[^=]*z [^=]*)=.*z\g=********z vars.passwordz!pool.default.auth.simple.passwordz$pool.default.ssl.truststore.passwordzconfig.datasource.dbpasswordz(^\s*#*(z )\s*=\s*)(.*)z$/etc/ovirt-engine/aaa/.*\.propertiesz \1*********N)r3r4)r5r6r7r8r9)r=r>)Z do_file_subZ path_joinDEFAULT_SENSITIVE_KEYSr'splitZdo_path_regex_sub DB_PASS_FILESjoin) r/ZproZ engine_filesfilenameZ passwd_filesZ conf_fileZ conf_pathZsensitive_keysZkeys_optZkey_listitemZ protect_keysZregexprrrpostprocsh          zOvirt.postprocN)r) rr r r r r rrrr)__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZpackagesrecompileVERBOSErAr?rZ option_listr2rErrrrrs2 yr) r*rIr,Zsos.report.pluginsrrrZ sos.utilitiesrrrrrrs