3 ܓi@s>ddlmZddlmZddlmZmZGdddeeZdS))match)quote)Plugin RedHatPluginc@sBeZdZdZdZd ZdZdZdZdZ ddZ d ddZ d d Z dS) Candlepinz Candlepin entitlement management candlepinNcCshd|_d|_d|_d}yt|ddd}|jj}WdQRXxv|D]n}| sD|dd kr\qDtd |r|jd d jd djd}|d|_|d |_td|rD|jd d |_qDWWntt fk rYnX|j ddddd|ji|_ |j ddgdd|j ddddddddd d!d"g |j d#|jd$}|j |d%|j d&|jd'}|j |d(|j d&dS))NZ localhosti8z/etc/candlepin/candlepin.confrzUTF--8)encodingr#z&^\s*org.quartz.dataSource.myDS.URL=\S+=/:z+^\s*org.quartz.dataSource.myDS.password=\S+Z candlepin_logZcandlepin_error_logZcandlepin_conf)z"/var/log/candlepin/candlepin.log.*z/var/log/candlepin/err.log.*z/etc/candlepin/candlepin.confZ PGPASSWORDz/var/log/candlepin/error.logz /var/log/candlepin/candlepin.log)Z sizelimitz/etc/candlepin/broker.xmlz/var/log/candlepin/audit*.log*z%/var/log/candlepin/candlepin.log[.-]*z/var/log/candlepin/cpdb*.log*z/var/log/candlepin/cpinit*.log*z!/var/log/candlepin/error.log[.-]*z/var/log/tomcat*/catalina*log*z"/var/log/tomcat*/host-manager*log*z/var/log/tomcat*/localhost*log*z/var/log/tomcat*/manager*log*zdu -sh /var/lib/candlepin/*/*a[SELECT table_name, pg_size_pretty(total_bytes) AS total, pg_size_pretty(index_bytes) AS INDEX , pg_size_pretty(toast_bytes) AS toast, pg_size_pretty(table_bytes) AS TABLE FROM ( SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes FROM (SELECT c.oid,nspname AS table_schema, relname AS TABLE_NAME, c.reltuples AS row_estimate, pg_total_relation_size(c.oid) AS total_bytes, pg_indexes_size(c.oid) AS index_bytes, pg_total_relation_size(reltoastrelid) AS toast_bytes FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r') a) a order by total_bytes DESCZcandlepin_db_tables_sizes)Zsuggest_filenameenvzN SELECT displayname, content_access_mode FROM cp_owner;Zsimple_content_access)dbhostdbportdbpasswdopenread splitlinesrsplitIOError IndexErrorZ add_file_tagsrZ add_copy_specZadd_cmd_outputbuild_query_cmd)selfZcfg_filecfileZ candle_lineslineZjdbcurlZ_cmdr/usr/lib/python3.6/candlepin.pysetupsb         zCandlepin.setupFcCs(|rdnd}d}||j|j|t|fS)aI Builds the command needed to invoke the pgsql query as the postgres user. The query requires significant quoting work to satisfy both the shell and postgres parsing requirements. Note that this will generate a large amount of quoting in sos logs referencing the command being run z -A -F , -XrzSpsql --no-password -h %s -p %s -U candlepin -d candlepin %s -c %s)rrr)rZqueryZcsvZ csvformatZ_dbcmdrrr rws zCandlepin.build_query_cmdcCsPd}d}|jd||d}|jd||x"d D]}|jdd |d d q.WdS) Nz$(((.*)(pass|token|secret)(.*))=)(.*)z \1********z/etc/candlepin/candlepin.confz(--password=)([a-zA-Z0-9]*)z/var/log/candlepin/cpdb.logtrustStorePasswordkeyStorePasswordz/etc/candlepin/broker.xml(z )=(\w*)([;<])z \1=********\3)r"r#)Z do_file_sub)rZregreplZcpdbregkeyrrr postprocs  zCandlepin.postproc)r)F) __name__ __module__ __qualname__Z short_descZ plugin_nameZpackagesrrrrr!rr'rrrr rs[ rN)rerZshlexrZsos.report.pluginsrrrrrrr  s