U
    -_g                     @   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r| jnd}| d}d| d}| j|dd | d| jd | jd	 | jd
 | jd | jd g | dr| dg n| dg | ddi d S )Nr    z/etc/manilazmanila-manage --config-dir z 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/*.confall_logsz/var/log/manila/*z/var/log/manila/*.logz.*/etc/manila/manila.confZmanila_conf)Zcontainer_existsvar_puppet_genZadd_cmd_outputadd_copy_spec
get_optionZadd_file_tags)selfZpre_confZ
config_dirZ
manila_cmd r   E/usr/lib/python3/dist-packages/sos/report/plugins/openstack_manila.pysetup   s2    
	
 zOpenStackManila.setupc                 C   s&   |  d|| |  | jd || dS )z Apply regex substitution z/etc/manila/*N)Zdo_path_regex_subr
   )r   ZregexpZsubstr   r   r   apply_regex_sub5   s     zOpenStackManila.apply_regex_subc                 C   sR   dddddg}ddg}d |}| d	d | d
d | d	| dd d S )Nz.*password.*Ztransport_urlZhdfs_ssh_pwZmaprfs_ssh_pwZmemcache_secret_keyZ
connectionZsql_connection|z(^\s*(z)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6)joinr   )r   Zprotect_keysZconnection_keysZjoin_con_keysr   r   r   postproc=   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 fddZ  ZS )DebianManilaz;OpenStack Manila information for Debian based distributions)zpython-manilazmanila-commonz
manila-apizmanila-sharezmanila-schedulerzpython3-manilac                    s2   t    | dr"| dg n| dg d S )Nr	   z/var/log/apache2/manila*z/var/log/apache2/manila*.log)superr   r   r   r   	__class__r   r   r   [   s    

zDebianManila.setupr   r   r   r   Zpackagesr   __classcell__r   r   r   r   r   O   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    | d | dr,| dg n| dg d S )Nz/etc/sudoers.d/manilar	   z/var/log/containers/manila/*z /var/log/containers/manila/*.log)r   r   r   r   r   r   r   r   r   l   s    


zRedHatManila.setupr   r   r   r   r   r    g   s   r    N)Zsos.report.pluginsr   r   r   r   r   r   r    r   r   r   r   <module>   s   A