https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/sos/report/plugins/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/juju.cpython-310.pyc
o

-�_g��@s:ddlZddlZddlmZmZmZGdd�dee�ZdS)�N)�Plugin�UbuntuPlugin�	PluginOptc	@sleZdZdZdZdZdZdZedde	dd	�ed
de
dd	�ed
de
dd	�edde
dd	�gZdd�Zdd�Z
dS)�Jujua3The Juju plugin is aimed at collecting Juju-related logs,
    configurations, and controller/model state(s).

    Logs and agent configuration information (/var/log/juju and /var/lib/juju)
    is collected by default since these are useful for troubleshooting.

    The Juju state collection is disabled by default and can be enabled with
    the 'juju-state' option. Collecting Juju state is safe in theory, but it
    does act on the live controller(s)/model(s) and is therefore optional.

    The default Juju state collection collects all controllers and models that
    the 'juju-user' (default=ubuntu) has access to.

    Specific controllers or models can be collected using the 'controllers'
    and 'models' options.

    Important: the string list is whitespace delimited, not colon delimited
    (sos plugin standard). This is due to the underlying Juju CLI accepting
    specific models in the format 'controller:model' and whitespaces are not
    allowed in either controller and model names.

    Example: models="controller_a:model_x controller_b:model_y"
    zJuju orchestration tool�juju)�virt�sysmgmt)�
/var/log/juju�
juju-stateFz Include Juju state in the report)�default�val_type�desc�	juju-user�ubuntuzJuju client user.�controllers�z[Collect Juju state for specified controllers. Uses a             whitespace delimited list.�modelszVCollect Juju state for specified models. Uses a whitespace             delimited list.cCs|�d�D]}|�|�|�|�q|�gd��|�d�|jddgdd�|�d�r9|�gd	��|�d
�n|�d�|�d�sEdS|�d
�}zt�	|�Wnt
yd|�d|�d��YdSw|�d�rv|�d�rv|�d�dS|jd|d�}|ddkr�t
|�d��d��}|r�|dhkr�|}nt
t�|d�d���}ni}|�d�r�|�d��d�D]}d|�d�}|j||d�q�dS|D]5}|jd|�d�|d�}	|	ddkr�t�|	d�d}
|
D]}|d}d|�d|�d�}|j||d�q�q�dS)Nzjuju*)
�juju_engine_report�juju_goroutines�juju_heap_profile�juju_leases�juju_metrics�juju_pubsub_report�juju_presence_report�juju_statepool_report�juju_statetracker_report�juju_unit_statusz!/var/lib/juju/agents/*/agent.confz/var/log/juju*z/var/lib/juju*T)�	recursive�all_logs)r	z
/var/lib/jujuz/var/lib/juju/**/.*z/var/lib/juju/kvmz/var/log/juju/*.logr
rzUser "z4" does not exist, will not collect Juju information.rrzWOptions: controllers, models are mutually exclusive. Will not collect Juju information.zjuju controllers --format=json)�runas�statusr� r�outputzjuju status -m z --format=jsonzjuju models --all -c z
short-name�:)�get_service_names�add_journal�add_service_status�add_cmd_output�
add_copy_spec�add_dir_listing�
get_option�add_forbidden_path�pwd�getpwnam�KeyError�	_log_warn�collect_cmd_output�set�split�json�loads�keys�exec_cmd)�self�service�	juju_user�controllers_json�desired_controllersr�model�command�
controller�models_jsonr�
short_name�rA�9/usr/lib/python3/dist-packages/sos/report/plugins/juju.py�setupOs�

��




�������
�
����z
Juju.setupcCsHd}gd�}dd�|��d�}d}|�|||�|�|�|�d�dS)Nz/var/lib/juju/agents/*)�sharedsecret�apipassword�oldpassword�
statepasswordz(^\s*(�|z
)\s*:\s*)(.*)z\1*********zjuju controllers)�join�do_path_regex_sub�do_file_private_sub�do_cmd_private_sub)r7�agents_path�protect_keys�
keys_regex�	sub_regexrArArB�postproc�s
z
Juju.postprocN)�__name__�
__module__�__qualname__�__doc__�
short_desc�plugin_name�profiles�filesr�bool�str�option_listrCrQrArArArBrsB�����mr)r,r3�sos.report.pluginsrrrrrArArArB�<module>s


https://t.me/RX1948 - 2025