File: //lib/python3/dist-packages/sos/collector/__pycache__/sosnode.cpython-38.pyc
U
i��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� |� � | _|| _|d | _| �� |d | _|d | _|d | _|d | _d| _ d | _
d | _d | _i | _
i | _|px| jj| _| jjs�| jjs�| j| j_|r�|| j_d | _d| _d| _g | _d g g g g |d d�| _d | _t�d
�| _t�d�| _| �|�| _| jj�r| jjdk| _z| j� | j� W n4 t!k
�rZ } z| �"d
| � � W 5 d }~X Y nX | �#� | _
| jj| _| j �r�| jj$�r�d}| j%�r�|�r�| j
�s�| j�&� d S | j �r�| �'� �r�d| j
_(| j
j(�r�| �)� | �*� 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'