U
    *b	
                     @   s&   d dl mZmZ G dd deeZdS )    )PluginRedHatPluginc                   @   s4   e Zd ZdZd ZdZdZdZdZdd Z	dd Z
d	S )
etcdzetcd plugin)r   )Z	containersystemservicesZcluster)/etc/origin/node/pods/etcd.yamlc                    s   |  drd nd | ddi |  | ddg | d d	d
ddg}|  fdd|D  dddg}r| fdd|D  | d d S )Nr   zmaster-exec etcd etcd etcdctlZetcdctl/etc/etcd/etcd.confZ	etcd_confz/etc/etcd/caz/etc/etcd/*.keyz	/etc/etcdz	--versionzmember listzcluster-healthzls --recursivec                    s   g | ]}d  |f qS )z%s %s ).0sub)etcd_cmdr	   9/usr/lib/python3/dist-packages/sos/report/plugins/etcd.py
<listcomp>2   s     zetcd.setup.<locals>.<listcomp>z/v2/stats/leaderz/v2/stats/selfz/v2/stats/storec                    s   g | ]}d  |f qS )zcurl -s %s%sr	   )r
   u)etcd_urlr	   r   r   ;   s     zls -lR /var/lib/etcd/)Zpath_existsZadd_file_tagsget_etcd_urlZadd_forbidden_pathZadd_copy_specZadd_cmd_output)selfZsubcmdsZurlsr	   )r   r   r   setup   s4    
 
z
etcd.setupc                 C   s   z`t | ddF}|D ]:}|dr|dd dd   W  5 Q R  W S qW 5 Q R X W n^ tk
r   d}z,| jj	 d	 }|d
 d }|dkrd}W n t
k
r   Y nX | Y S X d S )Nr   rZETCD_LISTEN_CLIENT_URLS=   " zhttp://localhost:2379r   versionr   2zhttp://localhost:4001)openZ	path_join
startswithsplitreplacestripIOErrorZpolicyZpackage_managerZget_pkg_list	Exception)r   ZeflineZurlZverr	   r	   r   r   ?   s    
<zetcd.get_etcd_urlN)__name__
__module____qualname__Z
short_descZplugin_nameZpackagesZprofilesfilesr   r   r   r	   r	   r	   r   r      s   &r   N)Zsos.report.pluginsr   r   r   r	   r	   r	   r   <module>   s   