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 )ÚOpenStackGlancezOpenStack GlanceZopenstack_glance)Z	openstackZopenstack_controller)Ú
glance_apiz0/var/lib/config-data/puppet-generated/glance_apizopenstack-glance-api.servicec                 C   sÔ   |   d¡r|  dg¡ n|  dg¡ |  d| jd | jd g¡ |  d¡}|  | j¡s-|rhd}|r8d| j d }| jd	| d
 dd dd„ dD ƒ}dd„ dD ƒ}t|ƒrYt|ƒsa| j	 
d¡ d S |  d¡ d S d S )NZall_logsz/var/log/glance/z/var/log/glance/*.logz/etc/glance/z/etc/my.cnf.d/tripleo.cnfr   Ú z--config-dir zglance-manage z db_versionZglance_db_version)Zsuggest_filenamec                 S   ó   g | ]}|t jv ‘qS © ©ÚosÚenviron©Ú.0Úpr
   r
   úE/usr/lib/python3/dist-packages/sos/report/plugins/openstack_glance.pyÚ
<listcomp>=   ó    z)OpenStackGlance.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 image list --long)Z
get_optionZadd_copy_specÚvar_puppet_genZcontainer_existsZis_service_runningÚservice_nameZadd_cmd_outputÚallÚanyZsoslogZwarning)ÚselfZin_containerZglance_configZvars_allZvars_anyr
   r
   r   Úsetup   s:   
ÿÿý
ÿ
þèzOpenStackGlance.setupc                 C   s&   |   d||¡ |   | jd ||¡ d S )Nz/etc/glance/*)Zdo_path_regex_subr   )r   ZregexpÚsubstr
   r
   r   Úapply_regex_subK   s
   þzOpenStackGlance.apply_regex_subc                 C   s>   g d¢}dg}|   dd |¡ d¡ |   dd |¡ d¡ d S )N)Zadmin_passwordZpasswordZqpid_passwordZrabbit_passwordZs3_store_secret_keyZssl_key_passwordZvmware_server_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   ÚpostprocR   s   þÿýzOpenStackGlance.postprocN)Ú__name__Ú
__module__Ú__qualname__Z
short_descZplugin_nameZprofilesZ
containersr   r   r   r   r   r
   r
   r
   r   r      s    .r   c                   @   s   e Zd ZdZdZdS )ÚDebianGlance)Zglancez
glance-apizglance-clientzglance-commonzglance-registryzpython-glancezglance-api.serviceN)r   r    r!   Úpackagesr   r
   r
   r
   r   r"   e   s    r"   c                   @   s   e Zd ZdZdS )ÚRedHatGlance)zopenstack-selinuxN)r   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
   R