3 ܓi @s&ddlmZmZGdddeeZdS))PluginIndependentPluginc@s4eZdZdZdZd ZdZddZdd Zd d Z d S)Opensvcz:OpenSVC cluster and services (config and state collection)opensvcclusterservicessystemcCsV|jd|d}|d}|ddkrRx*|djD]}|jd|d|dq4Wd S) z. Get the status of opensvc management service zom z ls --color=noZ_statusZstatusroutputz print status --color=no)ZsubdirN)Zcollect_cmd_output splitlinesadd_cmd_output)selfZkindZgetobjsdirnameliner/usr/lib/python3.6/opensvc.py get_statuss  zOpensvc.get_statuscCs&|jddddddddd d d d d dddddg|jddddddg|jddd|jd|jdd}yvt|dd d!^}|jj}|s|j|d"dS|js|jd#|d$|dS|jd%|d&WdQRXWn@t t t fk r }z|jd'|d$|WYdd}~XnXdS)(Nz/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=nozom mon --color=nozom daemon dns dump --color=noz!om daemon relay status --color=noz.om daemon status --format flat_json --color=noz/var/lib/opensvcT) recursiveZvolZsvcz/var/lib/opensvc/osvcd.pidrzutf-8)encodingz is emptyzInvalid PID in z: z/proc/z/task/*/statuszError while reading PID file ) Z add_copy_specr Zadd_dir_listingropenreadstripZ _log_debugisdigitIOErrorFileNotFoundErrorPermissionError)r Zpid_filefilepiderrorrrrsetupsV    z Opensvc.setupcCsd}|jd|ddS)Nz(\s*secret =\s*)\S+z/etc/opensvc/cluster.confz\1****************************)Z do_file_sub)r ZregexprrrpostprocNs zOpensvc.postprocN)rrr)r) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZpackagesrrr rrrrr s 0rN)Zsos.report.pluginsrrrrrrr s