File: //lib/python3.6/site-packages/sos/collector/__pycache__/sosnode.cpython-36.pyc
3
mk�h� � @ 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)�sos_parse_version)�localZcontrol_persistZocZ saltstackZjujuc @ s� e Zd Zdhdd�Zedd� �Zdd� Zd d
� Zdd� Zed
d� �Z dd� Z
dd� Zdd� Zdd� Z
didd�Zedd� �Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zdjd.d/�Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zdkd:d;�Zd<d=� Zd>d?� Z d@dA� Z!dBdC� Z"dDdE� Z#dFdG� Z$dHdI� Z%dJdK� Z&dLdM� Z'dNdO� Z(dPdQ� Z)dRdS� Z*dTdU� Z+dVdW� Z,dXdY� Z-dZd[� Z.d\d]� Z/d^d_� Z0d`da� Z1dbdc� Z2ddde� Z3dfdg� Z4dS )l�SosNodeNTc C s� |j � | _|| _|d | _| j� |d | _|d | _|d | _|d | _| jj | _ | jj
| _
d| _d | _d | _
d | _i | _i | _|p�| jj| _| jj r�| jj r�| j| j_|r�|| j_d | _d| _d| _g | _d g g g g |d d�| _d | _tjd
�| _tjd�| _| j|�| _ | j j!�r,| j j!dk| _y| j j"| j� W n6 t#k
�rt } z| j$d
|� �� � W Y d d }~X nX | j%� | _| j j| _| j�r�| jj&�r�d}| j'�r�|�r�| j�s�| j j(� d S | j�r�| j)� �r�d| j_*| jj*�r�| j+� | j,� d S )NZcmdlineopts�tmpdir�hostlen� need_sudo�sos_optionsF�sos_cmd)�version�enabled�disabled�options�presetsr � sosreportZsosZsos_ui�rootzUnable to open remote session: )-�strip�address�commons�opts�_assign_config_optsr r r r �node_config_file�inherit_config_filer �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) Z
local_sudoZ
load_facts�err� r@ �/usr/lib/python3.6/sosnode.py�__init__, sr
zSosNode.__init__c C s | j r| j jS dS )NT)r4 r8 )r>