+
    ib	  c                   s0    ^ RI t ^ RIHt  ! R R]4      tR# )i    N)Clusterc                   sF   a  ] tR t^t o RtRtR.tR^2/tRtR	.t	R t
RtV tR# )
cepha  
This cluster profile is for Ceph Storage clusters, and is primarily
built around Red Hat Ceph Storage 5. Nodes are enumerated via `cephadm`; if
your Ceph deployment uses cephadm but is not RHCS 5, this profile may work
as intended, but it is not currently guaranteed to do so. If you are using
such an environment and this profile does not work for you, please file a
bug report detailing what is failing.

By default, all nodes in the cluster will be returned for collection. This
may not be desirable, so users are encouraged to use the `labels` option
to specify a colon-delimited set of ceph node labels to restrict the list
of nodes to.

For example, using `-c ceph.labels=osd:mgr` will return only nodes labeled
with *either* `osd` or `mgr`.
zCeph Storage ClusterZceph_commonzlog-sizec                s  a . V n         V P                  R RR7      pVR,          ^ 8X  g(   V P                  RVR,           24       V P                   # \        P                  ! VR,          P                  4       R,          4      pV P                  R4      P                  R4       Uu. uF  q3'       g   K  VNK  	  ppV F  oV'       dW   \        ;QJ d    V3R lV 4       F  '       g   K   RM	  R	M! V3R lV 4       4      '       g   V P                  S R
24       Ka  V P                   P                  SR,          4       K  	  V P                   # u upi )z0cephadm shell -- ceph orch host ls --format jsonT)Z	need_rootZstatusz'Could not enumerate nodes via cephadm: ZoutputlabelsZ:c              3   s:   <"   T F  qSR ,          9   x  K  	  R# 5i)r   N )Z.0Z_lnodes   & @/usr/lib/python3.14/site-packages/sos/collector/clusters/ceph.pyZ	<genexpr>Z!ceph.get_nodes.<locals>.<genexpr><   s     "J'Bh#7's   Fz! filtered from list due to labelsZhostnamei)nodesZexec_primary_cmdZ	log_errorjsonZloadsZ
splitlinesZ
get_optionZsplitZanyZ	log_debugZappend)ZselfZceph_outr   ZlabZ_labelsr   s   &    @r   	get_nodesZceph.get_nodes,   s   
((> ) 

 !Q&NN9(8:L9MN ::

8H-88:2>?"&//(";"A"A#"FN"F3#33"FNDss"J'"Jsss"J'"JJJ$'HIJJJd:./	  zz Os   %	E3E)r   N)Zcephadm)r   Z z3Colon delimited list of labels to select nodes with)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Zcluster_nameZsos_pluginsZsos_optionsZpackagesZoption_listr   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s@     " *LK r"KHMK     r   )r   Zsos.collector.clustersr    r   r   r	   r   <module>r
      s     *17 1r	   