o
G%@i @ s> d dl mZ d dlmZ d dlmZmZ G dd deeZdS ) )match)quote)PluginRedHatPluginc @ sB e Zd ZdZdZdZdZdZdZdZ dd Z
ddd Zd
d ZdS )
Candlepinz Candlepin entitlement management candlepin)r Nc C sb d| _ d| _d| _d}zXt|ddd}| }W d n1 s$w Y |D ]6}|r5|d d kr6q+td
|rT|dd d
d d}|d | _ |d | _td|ra|dd | _q+W n tt fyn Y nw |
dddd d| ji| _| jddgdd | g d |
d | d}| j
|d| jd | d}| j
|d| jd d S ) N localhosti8 /etc/candlepin/candlepin.confrzUTF--8)encodingr #z&^\s*org.quartz.dataSource.myDS.URL=\S+= / :z+^\s*org.quartz.dataSource.myDS.password=\S+
candlepin_logcandlepin_error_logcandlepin_conf)z"/var/log/candlepin/candlepin.log.*z/var/log/candlepin/err.log.*r
PGPASSWORDz/var/log/candlepin/error.logz /var/log/candlepin/candlepin.log) sizelimit)r
/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 DESCcandlepin_db_tables_sizes)suggest_filenameenvzN SELECT displayname, content_access_mode FROM cp_owner;simple_content_access)dbhostdbportdbpasswdopenread
splitlinesr splitIOError
IndexError
add_file_tagsr
add_copy_specadd_cmd_outputbuild_query_cmd)selfcfg_filecfilecandle_lineslinejdbcurl_cmd r1 >/usr/lib/python3/dist-packages/sos/report/plugins/candlepin.pysetup s^
zCandlepin.setupFc C s( |rdnd}d}|| j | j|t|f S )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 , -Xr zSpsql --no-password -h %s -p %s -U candlepin -d candlepin %s -c %s)r r r )r* querycsv csvformat_dbcmdr1 r1 r2 r) w s zCandlepin.build_query_cmdc C sL d}d}| d|| d}| d|| dD ]
}| dd| d d
qd S )Nz$(((.*)(pass|token|secret)(.*))=)(.*)z
\1********r
z(--password=)([a-zA-Z0-9]*)z/var/log/candlepin/cpdb.log)trustStorePasswordkeyStorePasswordr (z
)=(\w*)([;<])z
\1=********\3)do_file_sub)r* regreplcpdbregkeyr1 r1 r2 postproc s
zCandlepin.postproc)F)
__name__
__module____qualname__
short_descplugin_namepackagesr r r r r3 r) r@ r1 r1 r1 r2 r s
[
r N)rer shlexr sos.report.pluginsr r r r1 r1 r1 r2