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ZG dd deeeZdS )	    N)PluginRedHatPluginDebianPluginUbuntuPluginc                   @   s,   e Zd ZdZdZdZdZdd Zdd ZdS )	GnocchizGnocchi - Metric as a serviceZopenstack_gnocchi)Z	openstackZopenstack_controllerNc                 C   s   |  dg | dr0|  dd| j dg n|  dd| j dg dd	 d
D }dd	 dD }t|rtt|s| jd n| ddddddg d S )N/etc/gnocchi/*Zall_logsz/var/log/gnocchi/*z	/var/log/z
*/gnocchi*z/var/log/gnocchi/*.logz*/gnocchi*.logc                 S   s   g | ]}|t jkqS  osenviron.0pr   r   F/usr/lib/python3/dist-packages/sos/report/plugins/openstack_gnocchi.py
<listcomp>(   s     z!Gnocchi.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDc                 S   s   g | ]}|t jkqS r   r	   r   r   r   r   r   +   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gnocchi --versionzgnocchi statuszgnocchi capabilities listzgnocchi archive-policy listzgnocchi resource listzgnocchi resource-type list)add_copy_specZ
get_option	apachepkgallanyZsoslogZwarningZadd_cmd_output)selfZvars_allZvars_anyr   r   r   setup   s0    
zGnocchi.setupc                 C   s   |  ddd d S Nz/etc/gnocchi/gnocchi.confz2(ceph_secret|password|memcache_secret_key)\s?=(.*)z\1=*****)do_file_subr   r   r   r   postproc<   s
    zGnocchi.postproc)	__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   r   r   r   r   r   r   r      s   $r   c                       s4   e Zd ZdZdZdZ fddZ fddZ  ZS )RedHatGnocchiZhttpdz-/var/lib/config-data/puppet-generated/gnocchi)zopenstack-gnocchi-metricdzopenstack-gnocchi-commonzopenstack-gnocchi-statsdzopenstack-gnocchi-apizopenstack-gnocchi-carbonarac                    s@   t    | | jd | jd | jd | jd | jd g d S )Nr   z/etc/httpd/conf/*z/etc/httpd/conf.d/*z#/etc/httpd/conf.modules.d/wsgi.confz/etc/my.cnf.d/tripleo.cnf)superr   r   var_puppet_genr   	__class__r   r   r   O   s    
zRedHatGnocchi.setupc                    s"   t    | | jd dd d S r   )r   r   r   r    r   r!   r   r   r   Y   s    
zRedHatGnocchi.postproc)	r   r   r   r   r    packagesr   r   __classcell__r   r   r!   r   r   D   s
   
r   c                   @   s   e Zd ZdZdZdS )DebianGnocchiZapache2)zgnocchi-apizgnocchi-metricdzgnocchi-commonzgnocchi-statsdzpython-gnocchizpython3-gnocchiN)r   r   r   r   r#   r   r   r   r   r%   c   s   r%   )	r
   Zsos.report.pluginsr   r   r   r   r   r   r%   r   r   r   r   <module>   s   4