
    ([Qh                     ,    d dl mZmZ  G d dee      Zy)    )PluginIndependentPluginc                   .    e Zd ZdZdZdZdZd Zd Zd Z	y)	Opensvcz:OpenSVC cluster and services (config and state collection)opensvc)clusterservicessystem)r   c                     | j                  d| d      }|dz   }|d   dk(  r0|d   j                         D ]  }| j                  d| d|        y	y	)
z. Get the status of opensvc management service zom z ls --color=no_statusstatusr   outputz print status --color=no)subdirN)collect_cmd_output
splitlinesadd_cmd_output)selfkindgetobjsdirnamelines        </usr/lib/python3/dist-packages/sos/report/plugins/opensvc.py
get_statuszOpensvc.get_status   sw    ))Cv^*DE"8!)446 ##$78" $  "    c                 ~   | j                  g d       | j                  g d       | j                  dd       | j                  d       | j                  d       d}	 t	        |d	d
      5 }|j                         j                         }|s| j                  | d       	 d d d        y |j                         s!| j                  d| d|        	 d d d        y | j                  d| d       d d d        y # 1 sw Y   y xY w# t        t        t        f$ r!}| j                  d| d|        Y d }~y d }~ww xY w)N)z/etc/opensvc/*z/var/log/opensvc/*z/etc/conf.d/opensvcz/etc/default/opensvcz/etc/sysconfig/opensvcz/var/lib/opensvc/*.jsonz/var/lib/opensvc/list.*z/var/lib/opensvc/ccfgz/var/lib/opensvc/cfgz&/var/lib/opensvc/certs/ca_certificatesz(/var/lib/opensvc/certs/certificate_chainz/var/lib/opensvc/compliance/*z/var/lib/opensvc/namespaces/*z/var/lib/opensvc/node/*z/var/lib/opensvc/sec/*z/var/lib/opensvc/svc/*z/var/lib/opensvc/usr/*z/var/lib/opensvc/vol/*)z#om pool status --verbose --color=noz"om net status --verbose --color=nozom mon --color=nozom daemon dns dump --color=noz!om daemon relay status --color=noz.om daemon status --format flat_json --color=noz/var/lib/opensvcT)	recursivevolsvcz/var/lib/opensvc/osvcd.pidrzutf-8)encodingz	 is emptyzInvalid PID in z: z/proc/z/task/*/statuszError while reading PID file )add_copy_specr   add_dir_listingr   openreadstrip
_log_debugisdigitIOErrorFileNotFoundErrorPermissionError)r   pid_filefilepiderrors        r   setupzOpensvc.setup   sH    
 	( 	 
 	 	/4@/	hg6 A$iik'')OOxj	$:;	A A
 {{}OOohZr#$GHA A ""VC5#?@A A A *O< 	OO/zE7C 	sN   D -6C;#D ,(C;D C;2D ;D D D D<D77D<c                 .    d}| j                  d|d       y )Nz(\s*secret =\s*)\S+z/etc/opensvc/cluster.confz\1****************************)do_file_sub)r   regexps     r   postproczOpensvc.postprocN   s      ('-	
r   N)
__name__
__module____qualname__
short_descplugin_nameprofilespackagesr   r/   r3    r   r   r   r      s&    MJK0HH	.`
r   r   N)sos.report.pluginsr   r   r   r;   r   r   <module>r=      s    9V
f' V
r   