3 ܓi@s@ddlZddlmZddlmZmZmZGdddeeeZdS)N) gethostname)Plugin RedHatPlugin UbuntuPluginc@s0eZdZdZdZdZdZdZd d Zd dZ dS)CephRGWzCEPH rgwZceph_rgwstoragevirt container webservercephceph-(.*)?rgw.*/var/lib/ceph/radosgw/*)/var/snap/microceph/common/data/radosgw/*c s |jd}dddddddd d d d d ddddddg}|jjjd}|rt|rV|jdgn |jdg|jdddgn<|s|jdddn|jddd|jddd d!d"d#d$d%g|rd&nd't|jfd(d)|D|jd*d+}|d,d-krpy@t j |d.}|d/}x$|D]}|jd*d0|qWWn4t k rn}z|j d1|WYdd}~XnX|jd*d2}|d,d-kry@t j |d.}|d3} x$| D]} |jd*d4| qWWn4t k r}z|j d5|WYdd}~XnXdS)6Nall_logszbucket limit checkz bucket listz bucket statsz datalog listzdatalog statuszgc listzlc listzlog listzmetadata sync statusz period listz realm listz reshard listzsync error listz sync statusz zone listzzone placement listzzonegroup listzzonegroup placement list microcephz3/var/snap/microceph/common/logs/*ceph-radosgw*.log*z2/var/snap/microceph/common/logs/*ceph-radosgw*.logz'/var/snap/microceph/common/**/*keyring*z(/var/snap/microceph/current/**/*keyring*z"/var/snap/microceph/common/state/*z"/var/log/ceph/ceph-client.rgw*.logZ ceph_rgw_log)Ztagsz#/var/log/ceph/ceph-client.rgw*.log*z/etc/ceph/*keyring*z/var/lib/ceph/*keyring*z/var/lib/ceph/*/*keyring*z/var/lib/ceph/*/*/*keyring*z/var/lib/ceph/osdz/var/lib/ceph/monz/var/lib/ceph/tmp/*mnt*z/etc/ceph/*bindpass*zradosgw.gatewayzrgw.csg|]}dd|qS)zradosgw-admin --id= ).0c)rgw_idr/usr/lib/python3.6/ceph_rgw.py Usz!CephRGW.setup..zradosgw-admin --id=z zone listZstatusroutputZzonesz zone get --rgw-zone=z'Error while getting get rgw zone list: z zonegroup list zonegroupsz zone get --rgw-zonegroup=z,Error while getting get rgw zonegroup list: ) Z get_optionZpolicyZpackage_managerZ pkg_by_nameZ add_copy_specZadd_forbidden_pathrZadd_cmd_outputZcollect_cmd_outputjsonloads ValueErrorZ _log_error) selfrZcmdsrresZ_outZ zone_listZzoneerrrZzgroupr)rrsetups      "  z CephRGW.setupcCsd}|jd|ddS)z& Obfuscate secondary zone access keys z!("access_key":|"secret_key":)\s.*z radosgw-adminz\1 "**********"N)Zdo_cmd_output_sub)rZrsubrrrpostprocrszCephRGW.postprocN)rrr r r )r )r r) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersfilesr r!rrrrrsYr)rZsocketrZsos.report.pluginsrrrrrrrr s