HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/sos/report/plugins/__pycache__/sunbeam.cpython-36.opt-1.pyc
3

-�_g��@sBddlZddlZddlZddlmZmZmZGdd�dee�ZdS)�N)�Plugin�UbuntuPlugin�	PluginOptc@sXeZdZdZdZdZdZdZedde	dd	�ed
de
dd	�gZd
d�Zdd�Z
dd�ZdS)�SunbeamzSunbeam Openstack ControllerZsunbeam�cloud�	openstackz/var/snap/openstack/commonzsunbeam-userZubuntuz&The user used for sunbeam installation)�defaultZval_typeZdesczjuju-allow-loginFzAllow sos to login to jujucCs�|jd�|j|j�d�|j�d�|j�d�|j�d�|j�d�dg�|jdd	d
gdd�|jd
�}|ddkr�tj|d�}x |D]}|jd|d���q�W|jd�}ytj	|�}Wn&t
k
r�|jd|�d��dSX|�r�|j�d�}|j|�d�|�d�|�d�g�|jd��r4|j
d|�d��|j
d|d�}|j
d|d d!�}d"}	|ddk�sr|ddk�r�yF|dj�d}
|dj�d}d#|
k�s�d#|k�r�|j|�d}	Wntk
�r�YnX|	�s�|jd$�dS)%Nzsnap.openstack.*z
/hooks.logz/state/daemon.yamlz#/state/truststore/sunbeam.maas.yamlz/state/database/info.yamlz/state/database/cluster.yamlz'/var/snap/openstack/current/config.yamlzsunbeam cluster listz"sunbeam cluster list --format yamlzsunbeam manifest listT)�snap_cmdz#sunbeam manifest list --format yaml�statusr�outputzsunbeam manifest show --id Z
manifestidzsunbeam-userzUser "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/*.logzjuju-allow-loginzsu - z -c "sunbeam utils juju-login"zjuju whoami)�runaszjuju status�)rZtimeoutFZ
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_dir�add_cmd_output�collect_cmd_output�yamlZ	safe_loadZ
get_option�pwd�getpwnam�KeyErrorZ	_log_warn�pw_dirZexec_cmd�
splitlines�_get_juju_cmd_details�
IndexError)�selfZmanifest_rawZ	manifestsZmanifestZsunbeam_userZuser_pwdZsb_snap_homedirZjuju_whoamiZjuju_statusZ	logged_inZj_whoamiZj_status�r�/usr/lib/python3.6/sunbeam.py�setup"sh








z
Sunbeam.setupc		Cs|jd|dd�|jd|d�}|ddk�r
tj|d�}x�|d	j�D]�}|jd
|��d|��d|��d|�d
�g|dd�|jd
|�d
�|d�}|ddkrHtj|d�}xV|dD]J}|�d|d��}|jd|��d|�d
�d|��d|�d
�g|dd�q�WqHWdS)Nzjuju controllersT)rr	zjuju controllers --format json)rr
rrZcontrollerszjuju models -c zjuju model-defaults -c zjuju controller-config -c z --format jsonZmodels�:�namezjuju status -m zjuju model-config -m )rr�json�loads�keys)	r�userZjuju_controllersZjuju_ctrl_jsonZ
controllerZjuju_modelsZjuju_status_jsonZmodelZ
model_namerrrrqs2



zSunbeam._get_juju_cmd_detailscCs*|j|j�d��|jd�|jd�dS)Nz#/state/truststore/sunbeam.maas.yamlzjuju controllerszjuju controller-config)Zdo_file_private_subrZdo_cmd_private_sub)rrrr�postproc�s
zSunbeam.postprocN)r)r)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesrr�str�boolZoption_listrrr#rrrrrs
O"r)rrrZsos.report.pluginsrrrrrrrr�<module>s