File manager - Edit - /usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/juju.cpython-310.pyc
Back
o -�_g� � @ s: d dl Z d dlZd dlmZmZmZ G dd� dee�ZdS )� N)�Plugin�UbuntuPlugin� PluginOptc @ sl e Zd ZdZdZdZdZdZedde dd �ed de dd �ed de dd �edde dd �gZdd� Zdd� Z dS )�Jujua3 The 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 C s | � d�D ]}| �|� | �|� q| �g d�� | �d� | jddgdd� | �d�r9| �g d �� | �d � n| �d� | �d�sEd S | �d �}zt� |� W n t yd | �d|� d�� Y d S w | �d�rv| �d�rv| �d� d S | jd|d�}|d dkr�t | �d��d��}|r�|dhkr�|}nt t�|d �d �� �}ni }| �d�r�| �d��d�D ]}d|� d�}| j||d� q�d S |D ]5}| jd|� d�|d�} | d dkr�t�| d �d } | D ]}|d }d|� d|� d�}| j||d� q�q�d S )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 r zUser "z4" does not exist, will not collect Juju information.r r zWOptions: 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�setupO s� �� ������� � ����z Juju.setupc C sH d}g d�}dd� |�� d�}d}| �|||� | �|� | �d� d S )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_regexrA rA rB �postproc� s z Juju.postprocN)�__name__� __module__�__qualname__�__doc__� short_desc�plugin_name�profiles�filesr �bool�str�option_listrC rQ rA rA rA rB r sB �����mr )r, r3 �sos.report.pluginsr r r r rA rA rA rB �<module> s
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings