File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/sunbeam.cpython-310.pyc
o
-�_g� � @ sB d dl Z d dlZd dlZd dlmZmZmZ G dd� dee�ZdS )� N)�Plugin�UbuntuPlugin� PluginOptc @ sX e Zd ZdZdZdZdZdZedde dd �ed
de
dd �gZd
d� Zdd� Z
dd� ZdS )�SunbeamzSunbeam Openstack Controller�sunbeam)�cloud)� openstackz/var/snap/openstack/common�sunbeam-user�ubuntuz&The user used for sunbeam installation)�default�val_type�desc�juju-allow-loginFzAllow sos to login to jujuc C s� | � d� | �| j� d�| j� d�| j� d�| j� d�| j� d�dg� | jg d�d d
� | �d�}|d d
krNt�|d �}|D ]}| �d|d � �� qA| �d�}zt� |�}W n t
ym | �d|� d�� Y d S w |r�|j� d�}| �|� d�|� d�|� d�g� | �d�r�| �
d|� d�� | j
d|d�}| j
d|dd�}d } |d d
ks�|d d
kr�z!|d �� d
}
|d �� d
}d!|
v s�d!|v r�| �|� d } W n ty� Y nw | s�| �d"� d S d S d S )#Nzsnap.openstack.*z
/hooks.logz/state/daemon.yaml�#/state/truststore/sunbeam.maas.yamlz/state/database/info.yamlz/state/database/cluster.yamlz'/var/snap/openstack/current/config.yaml)zsunbeam cluster listz"sunbeam cluster list --format yamlzsunbeam manifest listT)�snap_cmdz#sunbeam manifest list --format yaml�statusr �outputzsunbeam manifest show --id �
manifestidr zUser "z�" does not exist, will not collect juju information. Use `-k sunbeam.sunbeam-user` option to define the user to use to collect data for sunbeamz/snap/openstack/commonz/*.logz/etc/*/*.logz/logs/*.logr zsu - z -c "sunbeam utils juju-login"zjuju whoami��runaszjuju status� )r �timeoutF�
Controllerz�juju is not logged in, will not collect juju information. Use `-k sunbeam.juju-allow-login=True` to login or use `juju login` as the sunbeam user to login)�add_service_status�
add_copy_spec�
common_dir�add_cmd_output�collect_cmd_output�yaml� safe_load�
get_option�pwd�getpwnam�KeyError� _log_warn�pw_dir�exec_cmd�
splitlines�_get_juju_cmd_details�
IndexError)�self�manifest_raw� manifests�manifest�sunbeam_user�user_pwd�sb_snap_homedir�juju_whoami�juju_status� logged_in�j_whoami�j_status� r6 �</usr/lib/python3/dist-packages/sos/report/plugins/sunbeam.py�setup"