o
    *b                     @   sR   d dl mZmZmZmZ G dd deZG dd deeeZG dd deeZdS )	    )PluginRedHatPluginDebianPluginUbuntuPluginc                   @   s8   e Zd ZdZdZdZdZdZdd Zdd	 Z	d
d Z
dS )OpenStackManilazOpenStack ManilaZopenstack_manila)Z	openstackZopenstack_controller).*manila_apiz,/var/lib/config-data/puppet-generated/manilac              	   C   s   d|  dr	| jnd }d| }| j|dd | d| jd | jd | jd	 | jd
 | jd g | dr>| dg d S | dg d S )Nz%s/etc/manilar    z(manila-manage --config-dir %s db versionZmanila_db_version)Zsuggest_filenamez/etc/manila/z/etc/my.cnf.d/tripleo.cnfz/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.confZall_logsz/var/log/manila/*z/var/log/manila/*.log)Zcontainer_existsvar_puppet_genZadd_cmd_outputadd_copy_specZ
get_option)selfZ
config_dirZ
manila_cmd r   E/usr/lib/python3/dist-packages/sos/report/plugins/openstack_manila.pysetup   s*   
	

zOpenStackManila.setupc                 C   s&   |  d|| |  | jd || d S )Nz/etc/manila/*)Zdo_path_regex_subr	   )r   Zregexpsubstr   r   r   apply_regex_sub1   s
   zOpenStackManila.apply_regex_subc                 C   s@   g d}ddg}|  dd| d |  dd| d d S )	N)z.*password.*Ztransport_urlZhdfs_ssh_pwZmaprfs_ssh_pwZ
connectionZsql_connectionz((?m)^\s*(%s)\s*=\s*)(.*)|z\1*********z-((?m)^\s*(%s)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6)r   join)r   Zprotect_keysZconnection_keysr   r   r   postproc8   s   zOpenStackManila.postprocN)__name__
__module____qualname__
short_descZplugin_nameZprofilesZ
containersr	   r   r   r   r   r   r   r   r      s    r   c                   @   s   e Zd ZdZdZdS )DebianManilaz;OpenStack Manila information for Debian based distributions)zpython-manilazmanila-commonz
manila-apizmanila-sharezmanila-schedulerN)r   r   r   r   packagesr   r   r   r   r   H   s    r   c                       s$   e Zd ZdZdZ fddZ  ZS )RedHatManilaz6OpenStack Manila information for Red Hat distributions)zopenstack-selinuxc                    s   t t|   | d d S )Nz/etc/sudoers.d/manila)superr   r   r
   )r   	__class__r   r   r   Y   s   zRedHatManila.setup)r   r   r   r   r   r   __classcell__r   r   r   r   r   T   s    r   N)Zsos.report.pluginsr   r   r   r   r   r   r   r   r   r   r   <module>   s   
: