File: //usr/lib/python3.6/site-packages/sos/collector/__pycache__/sosnode.cpython-36.pyc
3
3��ds� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZ d dlmZ d dlmZ d d lmZ d d
lmZmZmZmZ d dlmZ eeeeed�ZG d
d� d�ZdS )� N)�quote)�load)�
InitSystem)�JujuSSH)�SSHControlPersist)�LocalTransport)�OCTransport)�SaltStackMaster)�CommandTimeoutException�ConnectionException�UnsupportedHostException�InvalidTransportException)�
parse_version)�localZcontrol_persistZocZ saltstackZjujuc @ s� e Zd Zdgdd�Zedd� �Zdd� Zd d
� Zdd� Zed
d� �Z dd� Z
dd� Zdd� Zdd� Z
dhdd�Zedd� �Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zdid.d/�Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zdjd9d:�Zd;d<� Zd=d>� Z d?d@� Z!dAdB� Z"dCdD� Z#dEdF� Z$dGdH� Z%dIdJ� Z&dKdL� Z'dMdN� Z(dOdP� Z)dQdR� Z*dSdT� Z+dUdV� Z,dWdX� Z-dYdZ� Z.d[d\� Z/d]d^� Z0d_d`� Z1dadb� Z2dcdd� Z3dedf� Z4dS )k�SosNodeNTc C s� |j � | _|| _|d | _| j� |d | _|d | _|d | _|d | _d| _ d | _
d | _d | _i | _
i | _|px| jj| _| jj r�| jj r�| j| j_|r�|| j_d | _d| _d| _g | _d g g g g |d d�| _d | _tjd
�| _tjd�| _| j|�| _| jj�r| jjdk| _y| jj | j� W n4 t!k
�r^ } z| j"d
| � � W Y d d }~X nX | j#� | _
| jj| _| j �r�| jj$�r�d}| j%�r�|�r�| j
�s�| jj&� d S | j �r�| j'� �r�d| j
_(| j
j(�r�| j)� | j*� d S )NZcmdlineopts�tmpdir�hostlen� need_sudo�sos_optionsF�sos_cmd)�version�enabled�disabled�options�presetsr � sosreportZsosZsos_ui�rootz!Unable to open remote session: %s)+�strip�address�commons�opts�_assign_config_optsr r r r r �host�cluster�hostname�sos_env_vars� _env_vars�password� _passwordZ
nopasswd_sudoZsudo_pw�sos_path� retrievedZhash_retrieved� file_list�sos_info�sos_bin�loggingZ getLogger�soslog�ui_log�_load_remote_transport�
_transportZdefault_userZconnect� Exception� log_error�determine_host_policyZno_local� connected�
disconnect�check_in_container�
containerized�create_sos_container�_load_sos_info)�selfr r r'