HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/sunbeam.cpython-39.pyc
a

\��h��@sBddlZddlZddlZddlmZmZmZGdd�dee�ZdS)�N)�Plugin�UbuntuPlugin�	PluginOptc@sXeZdZdZdZdZdZdZedde	dd	�ed
de
dd	�gZd
d�Zdd�Z
dd�ZdS)�SunbeamzSunbeam Openstack ControllerZsunbeam)Zcloud)Z	openstackz/var/snap/openstack/common�sunbeam-userZubuntuz&The user used for sunbeam installation)�defaultZval_typeZdesc�juju-allow-loginFzAllow sos to login to jujucCs\|�d�|�|j�d�|j�d�|j�d�|j�d�|j�d�dg�|�d�}zt�|�}Wn&ty�|�d	|�d
��YdS0|�rX|jgd�d|d
�|j	d|d�}|ddkr�t
�|d�}|D]}|jd|d��d|d
�q�|j	d|d�}|ddk�rRt
�|d�}|dD]0}|jd|d��d|d�d�gd|d
��q |j�d�}	|�|	�d�|	�d�|	�d�|	�d�|	�d�g�|�d ��r�|�
d!|�d"��|j
d#|d�}
|j
d$|d%d&�}d'}|
ddk�s�|ddk�rHzF|
d��d}
|d��d}d(|
v�s"d(|v�r0|�|�d}Wnt�yFYn0|�sX|�d)�dS)*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.yamlrzUser "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 sunbeam)zsunbeam cluster listz"sunbeam cluster list --format yamlzsunbeam manifest listzsunbeam deployment listT)�snap_cmd�runasz#sunbeam manifest list --format yaml�r�statusr�outputzsunbeam manifest show Z
manifestidz%sunbeam deployment list --format yaml�deploymentszsunbeam deployment show �namez --format yamlz/snap/openstack/commonz/*.logz
/etc/**/*.logz/etc/**/terraform.tfvars.jsonz/logs/*.logz/reports/*.yamlrzsu - z -c "sunbeam utils juju-login"zjuju whoamizjuju status�)r�timeoutFZ
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)Zadd_service_statusZ
add_copy_spec�
common_dirZ
get_option�pwd�getpwnam�KeyErrorZ	_log_warn�add_cmd_output�collect_cmd_output�yamlZ	safe_load�pw_dirZexec_cmd�
splitlines�_get_juju_cmd_details�
IndexError)�selfZsunbeam_userZuser_pwdZmanifest_rawZ	manifestsZmanifestZdeployment_rawrZ
deploymentZsb_snap_homedirZjuju_whoamiZjuju_statusZ	logged_inZj_whoamiZj_status�r�>/usr/lib/python3.9/site-packages/sos/report/plugins/sunbeam.py�setup"s�





�	

�
������
�
��
�z
Sunbeam.setupc		Cs|jd|dd�|jd|d�}|ddk�rt�|d�}|d	��D]�}|jd
|��d|��d|��d|�d
�g|dd�|jd
|�d
�|d�}|ddkrFt�|d�}|dD]J}|�d|d��}|jd|��d|�d
�d|��d|�d
�g|dd�q�qFdS)N�juju controllersT)rr
zjuju controllers --format jsonrr
rrZcontrollerszjuju models -c zjuju model-defaults -c zjuju controller-config -c z --format jsonZmodels�:rzjuju status -m zjuju model-config -m )rr�json�loads�keys)	r�userZjuju_controllersZjuju_ctrl_jsonZ
controllerZjuju_modelsZjuju_status_jsonZmodelZ
model_namerrr r�s>�
��
�

��zSunbeam._get_juju_cmd_detailscCs*|�|j�d��|�d�|�d�dS)Nr	r"zjuju controller-config)Zdo_file_private_subrZdo_cmd_private_sub)rrrr �postproc�s

�
zSunbeam.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesrr�str�boolZoption_listr!rr(rrrr rs���d"r)r$rrZsos.report.pluginsrrrrrrrr �<module>s