U
    -_g                     @   sZ   d dl Z 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 )	    N)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 )OpenStackAodhzOpenStack Alarm serviceZopenstack_aodh)Z	openstackZopenstack_controllerz*/var/lib/config-data/puppet-generated/aodhNc              	   C   s   |  d| jd | jd | jd | jd | jd g | drX|  dd	| j d
g n|  dd	| j dg dd dD }dd dD }t|rt|s| jd n| dddg d S )Nz
/etc/aodh/z/etc/aodh/*z/etc/httpd/conf/*z/etc/httpd/conf.d/*z#/etc/httpd/conf.modules.d/wsgi.confz/etc/my.cnf.d/tripleo.cnfall_logsz/var/log/aodh/*z	/var/log/z*/aodh*z/var/log/aodh/*.logz*/aodh*.logc                 S   s   g | ]}|t jkqS  osenviron.0pr   r   C/usr/lib/python3/dist-packages/sos/report/plugins/openstack_aodh.py
<listcomp>.   s     z'OpenStackAodh.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDZOS_AUTH_TYPEc                 S   s   g | ]}|t jkqS r   r	   r   r   r   r   r   2   s     )ZOS_TENANT_NAMEZOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.zaodh --versionzaodh capabilities listzaodh alarm list)	add_copy_specvar_puppet_gen
get_option	apachepkgallanyZsoslogZwarningZadd_cmd_output)selfZvars_allZvars_anyr   r   r   setup   s4    	
zOpenStackAodh.setupc                 C   s&   |  d|| |  | jd || dS )z Apply regex substitution z/etc/aodh/aodh.confN)Zdo_path_regex_subr   )r   ZregexpZsubstr   r   r   apply_regex_subA   s      zOpenStackAodh.apply_regex_subc                 C   sZ   ddddddddg}d	d
dg}|  dd| dd d|}|  d| dd d S )NZadmin_passwordZconnection_passwordZhost_passwordZos_passwordZpasswordZqpid_passwordZrabbit_passwordZmemcache_secret_keyZ
connectionZbackend_urlZtransport_urlz(^\s*(|z)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6)r   join)r   Zprotect_keysZconnection_keysZjoin_con_keysr   r   r   postprocL   s&         


zOpenStackAodh.postproc)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   r   r   r   r   r   r   r   r   r      s   (r   c                   @   s   e Zd ZdZdZdS )DebianOpenStackAodhZapache2)zaodh-apizaodh-commonzaodh-evaluatorzaodh-notifierzaodh-listenerzpython-aodhzpython3-aodhN)r   r   r   r   packagesr   r   r   r   r    a   s   r    c                       s$   e Zd ZdZdZ fddZ  ZS )RedHatOpenStackAodhZhttpd)zopenstack-selinuxc                    s6   t    | dr$| ddg n| ddg d S )Nr   z$/var/log/containers/httpd/aodh-api/*z/var/log/containers/aodh/*z(/var/log/containers/httpd/aodh-api/*.logz/var/log/containers/aodh/*.log)superr   r   r   )r   	__class__r   r   r   t   s    

zRedHatOpenStackAodh.setup)r   r   r   r   r!   r   __classcell__r   r   r$   r   r"   o   s   r"   )	r
   Zsos.report.pluginsr   r   r   r   r   r    r"   r   r   r   r   <module>   s   Q