o
    *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   )	containersystemservicesZcluster)/etc/origin/node/pods/etcd.yamlc                    s   |  drd nd | ddi |  | ddg | d g d	}|  fd
d|D  g d}rC| 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/etcd)z	--versionzmember listzcluster-healthzls --recursivec                       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       zetcd.setup.<locals>.<listcomp>)z/v2/stats/leaderz/v2/stats/selfz/v2/stats/storec                    r
   )zcurl -s %s%sr   )r   u)etcd_urlr   r   r   ;   r   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   s$   

z
etcd.setupc                 C   s   z>t | dd+}|D ]}|dr*|dd dd   W  d    W S qW d    W d S 1 s7w   Y  W d S  tyr   d}z| jj	 d	 }|d
 d }|dkrad}W | Y S W | Y S  t
yq   Y | Y S w w )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   ?   s0   
&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   