File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/pulp.cpython-38.pyc
U
i��dZ � @ sB d dl mZmZmZ d dlmZ d dlmZ G dd� dee�ZdS )� )�Plugin�RedHatPlugin� PluginOpt)�quote)�matchc @ sD e Zd ZdZdZdZdZedddd�gZd d
� Z dd� Z
d
d� ZdS )�Pulpz
Pulp platformZpulp)zpulp-serverzpulp-katellozpython3-pulpcore)�/etc/pulp/settings.py�tasks�� z*number of tasks to collect from DB queries)�defaultZdescc C s� d| _ d| _d| _d| _d| _d}z�td��� �� D ]�}td|�rr|� � d � d�d � d
�}|d | _ |d | _td|�r�d|� � d | _td
|�r�d|� � d | _|�
d�r�d}|r4|�
d�r4|� � d | _d}q4W n tk
r� Y nX | �ddi� | �
ddddddddddg
� | �d�}| �d| �}| �d | �}| �d!| �}| �d"�}| �d#�} | j|d$d%� | j|d&d%� | j|d'd%� | j|d(d%� | j| d)d%� d*D ]*}
| jd+|
� d,| j� d-�d.|
� �d/� �q�| jd0d1d%� d S )2NZ localhostZ27017� Fz/etc/pulp/server.confz^\s*seeds:\s+\S+:\S+� �,r �:z\s*username:\s+\S+z-u %sz\s*password:\s+\S+z-p %sz[messaging]Tz certfile:z/etc/default/pulp_workersZpulp_worker_defaultsz/etc/pulp/*.confr z /etc/pulp/server/plugins.conf.d/z/etc/default/pulp*z/var/log/httpd/pulp-http.log*z/var/log/httpd/pulp-https.log*z(/var/log/httpd/pulp-http_access_ssl.log*z)/var/log/httpd/pulp-https_access_ssl.log*z'/var/log/httpd/pulp-http_error_ssl.log*z(/var/log/httpd/pulp-https_error_ssl.log*r za"DBQuery.shellBatchSize=%s;; db.task_status.find().sort({finish_time: -1}).pretty().shellPrint()"zP"DBQuery.shellBatchSize=%s;; db.reserved_resources.find().pretty().shellPrint()"ze"DBQuery.shellBatchSize=%s;; db.task_status.find({state:{\$ne: \"finished\"}}).pretty().shellPrint()"a� "function humanReadable(bytes) { var i = -1; var byteUnits = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; do { bytes = bytes / 1024; i++; } while (bytes > 1024); return Math.max(bytes, 0.1).toFixed(1) + ' ' + byteUnits[i];};var collectionNames = db.getCollectionNames(), stats = [];collectionNames.forEach(function (n) { stats.push(db[n].stats()); });stats = stats.sort(function(a, b) { return b['size'] - a['size']; });for (var c in stats) { print(stats[c]['ns'] + ': ' + humanReadable(stats[c]['size']) + ' (' + humanReadable(stats[c]['storageSize']) + ')'); }"z"db.stats()"zmongo-task_status)Zsuggest_filenamezmongo-reserved_resourceszpulp-running_taskszmongo-collection_sizeszmongo-db_statsZquczqpid-stat -z --ssl-certificate=z -b amqps://localhost:5671Z
qpid_stat_)Ztagszosudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' dynaconf listZ
dynaconf_list)�dbhost�dbport�dbuser�
dbpasswordZmessaging_cert_file�open�read�
splitlinesr �split�
startswith�IOErrorZ
add_file_tagsZ
add_copy_specZ
get_option�build_mongo_cmdZadd_cmd_output)�selfZin_messaging_section�lineZuriZ num_tasksZmtasksZmresZprunZcsizesZdbstatsZopt� r �9/usr/lib/python3/dist-packages/sos/report/plugins/pulp.py�setup s�
��
�������
�
�z
Pulp.setupc C s4 d}d| j | j| j| jf }d}|t|||f � S )Nz
bash -c %sz--host %s --port %s %s %sz mongo pulp_database %s --eval %s)r r r r r )r ZqueryZ_cmdZ_mondbZ_moncmdr r r r � s
�zPulp.build_mongo_cmdc C sT d}d}| � d||� d}d}| � d||� d}d}| � d||� | �d ||� d S )
Nz0(([a-z].*(passw|token|cred|secret).*)\:(\s))(.*)z\1 ********z/etc/pulp/(.*)\.conf$z7(\s*\".*(passw|cred|token|secret).*\"\s*:(\s))(.*)(\w+)z
\1********z/etc/pulp(.*)(.json$)z5(SECRET_KEY\s*=|(password|PASSWORD)(\"|'|:)+)\s*(\S*)r z
dynaconf list)Zdo_path_regex_subZdo_cmd_output_sub)r Zetcreg�replZjregZkey_pass_rer r r �postproc� s z
Pulp.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZpackages�filesr Zoption_listr r r! r r r r r s ��wr N) Zsos.report.pluginsr r r Zpipesr �rer r r r r r �<module> s