o
    *b:  ã                   @   sZ   d dl mZmZmZmZ d dl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ÚUbuntuPluginNc                   @   s<   e Zd ZdZdZdZdZdZdZdd„ Z	d	d
„ Z
dd„ ZdS )ÚOpenStackHeatzOpenStack HeatZopenstack_heat)Z	openstackZopenstack_controller)ú
.*heat_apiz*/var/lib/config-data/puppet-generated/heatzopenstack-heat-api.servicec                 C   s  |   d¡}|  | j¡s|rEd}|rd| j d }| jd| d dd d	d
„ dD ƒ}dd
„ dD ƒ}t|ƒr9t|ƒs@| j d¡ n|  d¡ |  	d¡rQ|  
dg¡ n|  
dg¡ |  
d| jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd g¡ d S )Nr   Ú z--config-dir z_api/etc/heat/zheat-manage z db_versionZheat_db_version)Zsuggest_filenamec                 S   ó   g | ]}|t jv ‘qS © ©ÚosÚenviron©Ú.0Úpr
   r
   úC/usr/lib/python3/dist-packages/sos/report/plugins/openstack_heat.pyÚ
<listcomp>+   ó    z'OpenStackHeat.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDc                 S   r	   r
   r   r   r
   r
   r   r   .   r   )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openstack stack listZall_logsz/var/log/heat/z/var/log/heat/*.logz
/etc/heat/z/etc/my.cnf.d/tripleo.cnfz_api/etc/httpd/conf/z_api/etc/httpd/conf.d/z$_api/etc/httpd/conf.modules.d/*.confz_api/var/spool/cron/heatz_api_cfn/etc/heat/z_api_cfn/etc/httpd/conf/z_api_cfn/etc/httpd/conf.d/z(_api_cfn/etc/httpd/conf.modules.d/*.confz_api_cfn/var/spool/cron/heat)Zcontainer_existsZis_service_runningÚservice_nameÚvar_puppet_genZadd_cmd_outputÚallÚanyZsoslogZwarningZ
get_optionZadd_copy_spec)ÚselfZin_containerZheat_configZvars_allZvars_anyr
   r
   r   Úsetup   sL   
ÿ
þ

ÿÿ
ózOpenStackHeat.setupc                 C   sN   |   d||¡ |   | jd ||¡ |   | jd ||¡ |   | jd ||¡ d S )Nz/etc/heat/*z_api/etc/heat/*z_api_cfn/etc/heat/*)Zdo_path_regex_subr   )r   ZregexpÚsubstr
   r
   r   Úapply_regex_subR   s    þþþþzOpenStackHeat.apply_regex_subc                 C   s>   g d¢}dg}|   dd |¡ d¡ |   dd |¡ d¡ d S )N)Zadmin_passwordZmemcache_secret_keyZpasswordZqpid_passwordZrabbit_passwordZstack_domain_admin_passwordZtransport_urlZ
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   Úpostprocc   s   þÿýzOpenStackHeat.postprocN)Ú__name__Ú
__module__Ú__qualname__Z
short_descZplugin_nameZprofilesZ
containersr   r   r   r   r   r
   r
   r
   r   r      s    9r   c                   @   s   e Zd ZdZdZdS )Ú
DebianHeat)zheat-apizheat-api-cfnzheat-api-cloudwatchzheat-commonzheat-enginezpython-heatzpython-heatclientzheat-api.serviceN)r   r    r!   Úpackagesr   r
   r
   r
   r   r"   v   s    	r"   c                   @   s   e Zd ZdZdS )Ú
RedHatHeat)zopenstack-selinuxN)r   r    r!   r#   r
   r
   r
   r   r$   „   s    r$   )	Zsos.report.pluginsr   r   r   r   r   r   r"   r$   r
   r
   r
   r   Ú<module>   s
   f