Your IP : 216.73.216.86


Current Path : /lib/fm-agent/library/__pycache__/
Upload File :
Current File : //lib/fm-agent/library/__pycache__/container_discovery.cpython-36.pyc

3

q��i-�@sPddlZddlZddlZddlmZmZejd�Zdd�Z	ddd�Z
d	d
�ZdS)�N)�UnixHTTPConnection�
json_loadsZ
ContainerscCsRtjjd�sdSy(td�}|jddddid�|j�Wntk
rLdSXd	S)
Nz/var/run/docker.sockz	no-docker�GETz/containers/json�Host�	localhost)�headersz
no-permission�success)�os�path�existsr�request�getresponse�	Exception)�conn�r�0/usr/lib/fm-agent/library/container_discovery.py�check_access
srFc
Cs
td�}|jddddid�|j�j�}t|�}t|�s<gSi}|jd�rx|jd�}x"|D]\}	}
|j|
g�j	|	�qZWg}�x�|D�]|}|ddd	�}
|d
}|j
|
�}|r�|dkr�q�|r�|r�|d
|d
k}|j|�|r�d|d
<|}�nd|d<|d}g}||k�r |j||�||d<i}x�dg|D]�}	yt|j
j
|	�}|�s`tjd|	��w8|j||jj
|	i���pzi}tjd|
t|j��|	�t|d|j�}||f||	<Wn8tk
�r�tj�dd�\}}tj|��w8YnX�q8W||d<|j	|�q�W|S)Nz/var/run/docker.sockrz/containers/json?all=truerr)rZdocker_image_mapping�Id��State�runningT�updated�dockerZcontainer_platform�Image�applicationsz#Unknown/unloaded docker plugin '%s'z Container %s: %d textkeys for %s�label��app_metadata)rrr
�readr�len�has_section�items�
setdefault�append�get�update�extend�plugins�logger�errorZget_metadata_docker�config�info�keys�getattr�textkeyr�sys�exc_info�logging�	exception)r*r'�existing_containers�rebuildr�r�jZapp_mappingr!ZappZimage�
containers�	container�short_id�stateZexisting_containerZ
changed_stateZ	app_imagerr�plugin�metadataZplugin_label�t�errr�discover_docker_containerssl







r?cCs^td�}|jddddid�|j�j�}t|�}x(|D] }|ddd�}||kr6|Sq6WdS)	Nz/var/run/docker.sockrz/containers/json?all=truerr)rrr)rrr
rr)�container_idrr5Zcontainer_listr8r9rrr�find_docker_containerds
rA)F)r1�os.pathr	r/�
agent_utilrr�	getLoggerr(rr?rArrrr�<module>s

L