Ë
    i©¹dZ  ã                   óH   — d dl mZmZmZ d dlmZ d dlmZ  G d„ dee«      Zy)é    )ÚPluginÚRedHatPluginÚ	PluginOpt)Úquote)Úmatchc                   óF   — e Zd ZdZdZdZdZ eddd¬«      gZd	„ Z	d
„ Z
d„ Zy)ÚPulpzPulp platformÚpulp)zpulp-serverzpulp-katellozpython3-pulpcore)ú/etc/pulp/settings.pyÚtaskséÈ   z*number of tasks to collect from DB queries)ÚdefaultÚdescc                 óü  — d| _         d| _        d| _        d| _        d| _        d}	 t        d«      j                  «       j                  «       D ]æ  }t        d|«      rH|j                  «       d   j                  d«      d	   j                  d
«      }|d	   | _         |d   | _        t        d|«      rd|j                  «       d   z  | _        t        d|«      rd|j                  «       d   z  | _        |j                  d«      rd}|sŒ»|j                  d«      sŒÍ|j                  «       d   | _        d}Œè 	 | j                  ddi«       | j                  g d¢«       | j                  d«      }| j                  d|z  «      }| j                  d|z  «      }| j                  d|z  «      }| j                  d«      }| j                  d«      }	| j!                  |d¬«       | j!                  |d¬«       | j!                  |d¬«       | j!                  |d¬«       | j!                  |	d ¬«       d!D ])  }
| j!                  d"|
› d#| j                  › d$�d%|
› �¬&«       Œ+ | j!                  d'd(¬«       y # t        $ r Y �ŒBw xY w))NÚ	localhostÚ27017Ú 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_workersÚpulp_worker_defaults)
z/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()"zmongo-task_status)Úsuggest_filenamezmongo-reserved_resourceszpulp-running_taskszmongo-collection_sizeszmongo-db_statsÚquczqpid-stat -z --ssl-certificate=z -b amqps://localhost:5671Ú
qpid_stat_)Útagszosudo -u pulp PULP_SETTINGS='/etc/pulp/settings.py' DJANGO_SETTINGS_MODULE='pulpcore.app.settings' dynaconf listÚdynaconf_list)ÚdbhostÚdbportÚdbuserÚ
dbpasswordÚmessaging_cert_fileÚopenÚreadÚ
splitlinesr   ÚsplitÚ
startswithÚIOErrorÚadd_file_tagsÚadd_copy_specÚ
get_optionÚbuild_mongo_cmdÚadd_cmd_output)ÚselfÚin_messaging_sectionÚlineÚuriÚ	num_tasksÚmtasksÚmresÚprunÚcsizesÚdbstatsÚopts              ú9/usr/lib/python3/dist-packages/sos/report/plugins/pulp.pyÚsetupz
Pulp.setup   sÉ  € ð "ˆŒØˆŒØˆŒØˆŒØ#%ˆÔ Ø$Ðð	ÜÐ4Ó5×:Ñ:Ó<×GÑGÓIò 1�ÜÐ0°$Ô7ØŸ*™*›, q™/×/Ñ/°Ó4°QÑ7×=Ñ=¸cÓB�CØ"% a¡&�D”KØ"% a¡&�D”KÜÐ.°Ô5Ø")¨D¯J©J«L¸©OÑ";�D”KÜÐ.°Ô5Ø&-°·
±
³¸Q±Ñ&?�D”OØ—?‘? =Ô1Ø+/Ð(Ú'¨D¯O©O¸KÕ,HØ/3¯z©z«|¸A©�DÔ,Ø+0Ñ(ñ1ð$ 	×ÑØ'Ð)?ð
ô 	ð 	×Ñò 
ô 	ð —O‘O GÓ,ˆ	à×%Ñ%ð'à)2ñ3ó
ˆð ×#Ñ#ðCØENñOó
ˆð
 ×#Ñ#ðà )ñ*ó
ˆð ×%Ñ%ðMó
ˆð. ×&Ñ&Ð'7Ó8ˆà×Ñ˜FÐ5HÐÔIØ×Ñ˜DÐ3MÐÔNØ×Ñ˜DÐ3GÐÔHØ×Ñ˜FÐ5MÐÔNØ×Ñ˜GÐ6FÐÔGàò 	)ˆCØ×ÑØ˜c˜UÐ"5Ø×+Ñ+Ð,Ð,FðHà! # Ð'ð  õ )ð	)ð 	×ÑðKà,ð 	õ 	
øô_ ò 	âð	ús   §C!I. Ä	I. ÄI. É.	I;É:I;c                 óœ   — d}d| j                   ›d| j                  ›d| j                  ›d| j                  ›�}d}|t	        |||fz  «      z  S )Nz
bash -c %sz--host z --port ú z mongo pulp_database %s --eval %s)r   r   r   r    r   )r-   ÚqueryÚ_cmdÚ_mondbÚ_moncmds        r8   r+   zPulp.build_mongo_cmd“   sG   € Ø‰Ø04·³¸T¿[»[Ø04·³¸T¿_º_ðNˆà4ˆØ”e˜G v¨u oÑ5Ó6Ñ6Ð6ó    c                 ó´   — d}d}| j                  d||«       d}d}| j                  d||«       d}d}| j                  d||«       | j                  d	||«       y )
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)Údo_path_regex_subÚdo_cmd_output_sub)r-   ÚetcregÚreplÚjregÚkey_pass_res        r8   ÚpostproczPulp.postprocš   st   € ð EˆØˆØ×ÑÐ7¸ÀÔFð
 JˆØˆØ×ÑÐ6¸¸dÔCð
 OˆØˆØ×ÑÐ6¸ÀTÔJØ×Ñ˜°¸TÕBr@   N)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚpackagesÚfilesr   Úoption_listr9   r+   rH   © r@   r8   r	   r	      s?   „ à €Jà€KØB€HØ&€Eá�' 3ØCô	Eð€Kò
u
òn7óCr@   r	   N)	Úsos.report.pluginsr   r   r   Úpipesr   Úrer   r	   rQ   r@   r8   ú<module>rU      s%   ð÷ ?Ñ >Ý Ý ôaCˆ6�<õ aCr@   