+
    Û1j³  ã                   ó<   € ^ RI t ^ RIHtHtHt  ! R R]]]4      tR# )é    N)ÚPluginÚRedHatPluginÚUbuntuPluginc                   óD   a € ] tR t^t o RtRtRtRtR	tR
t	R t
R tRtV tR# )ÚCephMGRaÿ  
This plugin is for capturing information from Ceph mgr nodes. While the
majority of this plugin should be version-agnostic, several collections are
dependent upon the version of Ceph installed. Versions that correlate to
RHCS 4 or RHCS 5 are explicitly handled for differences such as those
pertaining to log locations on the host filesystem.

Note that while this plugin will activate based on the presence of Ceph
containers, commands are run directly on the host as those containers are
often not configured to successfully run the `ceph` commands collected by
this plugin. These commands are majorily `ceph daemon` commands that will
reference discovered admin sockets under /var/run/ceph.

Users may expect to see several collections twice - once in standard output
from the `ceph` command, and again in JSON format. The latter of which will
be placed in the `json_output/` subdirectory within this plugin's directory
in the report archive. These JSON formatted collections are intended to
aid in automated analysis.
zCEPH mgrÚceph_mgrc                óœ  € V P                  R 4      pV P                  P                  P                  R4      p. ROpV P	                  R4      pVR,          ^ 8X  d   V. RO,          p. ROpRpV'       gj   RpV P                  RR/4       V P                  . RO4       V'       g   V P                  R.4       MV P                  R	.4       V P                  . RO4       MTR
pV P                  RR/4       V P                  R.4       V'       g   V P                  R.4       MV P                  R.4       T P                  V Uu. uF  pRV 2NK
  	  up4       T P                  V Uu. uF	  pRV R2NK  	  upRR7       T P                  V P                  V4       UUu. uF  pV F  pRV RV 2NK  	  K  	  upp4       R# u upi u upi u uppi )Úall_logsÚ	microcephzceph orch statusÚstatusÚ z/var/run/cephz"/var/log/ceph/(.*/)?ceph-mgr.*.logÚceph_mgr_logz/var/log/ceph/**/ceph-mgr*.logz/var/log/ceph/**/ceph-mgr*.log*z/var/snap/microceph/current/runz./var/snap/microceph/common/logs/ceph-mgr.*.logz'/var/snap/microceph/common/**/*keyring*z-/var/snap/microceph/common/logs/ceph-mgr*.logz./var/snap/microceph/common/logs/ceph-mgr*.log*zceph z --format json-prettyÚjson_output)Úsubdirzceph daemon Ú N)zbalancer evalzbalancer statuszbalancer status detailzhealthcheck history lszlog last cephadmzmgr dumpzmgr metadatazmgr module lszmgr serviceszmgr statzmgr versions)zorch host lszorch device lszorch lszorch ls --exportzorch pszorch status --detailzorch upgrade status)zconfig diffzconfig showzcounter dumpzcounter schemaÚ
dump_cacheÚdump_mempoolsÚdump_osd_networkÚmds_requestsÚmds_sessionsÚobjecter_requestsz	perf dumpzperf histogram dumpzperf histogram schemazperf schemar   Úversion)z/etc/ceph/*keyring*z/var/lib/ceph/**/*keyring*z/var/lib/ceph/**/osd*z/var/lib/ceph/**/mon*z/var/lib/ceph/**/tmp/*mnt*z/etc/ceph/*bindpass*)z/var/lib/ceph/**/mgr*z/var/lib/ceph/**/bootstrap-mgr/z/run/ceph/**/ceph-mgr*)
Ú
get_optionÚpolicyÚpackage_managerÚpkg_by_nameÚexec_cmdÚadd_file_tagsÚadd_forbidden_pathÚadd_copy_specÚadd_cmd_outputÚ	get_socks)	Úselfr
   Úmicroceph_pkgÚceph_mgr_cmdsÚorch_configuredÚcmdsÚ	directoryÚcmdÚms	   &        Ú=/usr/lib/python3/dist-packages/sos/report/plugins/ceph_mgr.pyÚsetupÚCephMGR.setup-   s  € Ø—?‘? :Ó.ˆØŸ™×3Ñ3×?Ñ?ÀÓLˆò
ˆð Ÿ-™-Ð(:Ó;ˆØ˜8Õ$¨Ô)Øò õ ˆMò
ˆð& ˆ	ßØ'ˆIØ×ÑØ4°nð ô ð ×#Ñ#ò 	%ô 	÷ Ø×"Ñ"Ø4ð$õ ð ×"Ñ"Ø5ð$ô ð ×Ñò  õ ð :ˆIØ×ÑØ@Øð ô ð
 ×#Ñ#Ø9ð%ô ÷ Ø×"Ñ"ØCð$õ ð ×"Ñ"ØDð$ô ð 	×ÑÙ&3Ó4¡m˜sˆu�S�E‹]¡mÑ4ô	6ð 	×ÑÙ;HÓI¹=°Cˆu�S�EÐ.Ó/¹=ÑIØ ð 	ô 	
ð
 	×ÑØ.2¯n©n¸YÔ.GôÙ.G¨Û�ð ˜1˜#˜Q˜s˜eÓ$Ùñ %Ñ.Gòö 	
ùò 5ùò Jùós   Ä?F>Å#GÆG
c                ó   € . p\         P                  ! V4       Fa  w  r4pV FU  pVP                  R4      '       g   K  VP                  R4      '       g   K5  VP	                  V P                  W64      4       KW  	  Kc  	  V# )z‰
Find any available admin sockets under /var/run/ceph (or subdirs for
later versions of Ceph) which can be used for ceph daemon commands
zceph-mgrz.asok)ÚosÚwalkÚ
startswithÚendswithÚappendÚ	path_join)r#   r(   Úceph_socketsÚrdirÚ_ÚfilesÚfiles   &&     r+   r"   ÚCephMGR.get_socks¢   sf   € ð
 ˆÜ Ÿgšg iÖ0‰NˆD�UÛ�Ø—?‘? :×.Ô.°4·=±=À×3IÔ3IØ ×'Ñ'¨¯©°tÓ(BÖCó ñ 1ð Ðó    © N)ÚstorageÚvirtÚ	containerÚceph)z/var/lib/ceph/mgr/*z/var/lib/ceph/*/mgr*z%/var/snap/microceph/common/data/mgr/*)zceph-(.*-)?mgr.*)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
short_descÚplugin_nameÚprofilesr8   Ú
containersr,   r"   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r+   r   r      s8   ø‡ € ñð( €Jà€KØ7€Hð6€Eà&€Jòs
÷j
ð 
r;   r   )r/   Úsos.report.pluginsr   r   r   r   r<   r;   r+   Ú<module>rN      s"   ðó 
ç AÑ Aô\ˆf�l Lö \r;   