HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/sunbeam.cpython-312.pyc
�

O6uf���@�ddlZddlZddlmZmZmZGd�dee�Zy)�N)�Plugin�UbuntuPlugin�	PluginOptc�b�eZdZdZdZdZdZdZedde	d�	�ed
de
d�	�gZd
�Zd�Z
d�Zy)�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��|jd�|j|j�d�|j�d�|j�d�|j�d�|j�d�dg�|jdd	g�|j	d
�}	tj|�}|r�|j�d
�}|j|�d�|�d�|�d�g�|j	d�r|jd|�d��|jd|��}|jd|d��}d}|ddk(s|ddk(rH	|dj�d}|dj�d}d|vsd|vr|j|�d}|s|jd�yyy#t$r|jd|�d��YywxYw#t$rY�EwxYw) 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.yamlzsunbeam cluster listz"sunbeam cluster list --format 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 sunbeamz/snap/openstack/commonz/*.logz/etc/*/*.logz/logs/*.logrzsu - z -c "sunbeam utils juju-login"zjuju whoami��runaszjuju status�)r�timeoutF�statusr�output�
ControllerTz�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�
get_option�pwd�getpwnam�KeyError�	_log_warn�pw_dir�exec_cmd�
splitlines�_get_juju_cmd_details�
IndexError)	�self�sunbeam_user�user_pwd�sb_snap_homedir�juju_whoami�juju_status�	logged_in�j_whoami�j_statuss	         �</usr/lib/python3/dist-packages/sos/report/plugins/sunbeam.py�setupz
Sunbeam.setup!s5����� 2�3��������z�*�����1�2�����B�C�����8�9�����;�<�5�

�	�	
���"�0�
�	�
���~�6��	��|�|�L�1�H��!)��� 1�1G�H�O����"�#�6�*�"�#�<�0�"�#�;�/� �
����1�2��
�
��L�>�)G�H�J��-�-�
�\�-�J�K��-�-�
�\�02�(�4�K��I��8�$��)�[��-B�a�-G�
�*�8�4�?�?�A�!�D�H�*�8�4�?�?�A�!�D�H�#�x�/�<�8�3K��2�2�<�@�$(�	��������C���	��N�N����'>�>�
?�
�
	��H"����s%�F�2AF3�F0�/F0�3	F?�>F?c
���|jd|��|jd|��}|ddk(r�tj|d�}|dj	�D]�}|jd|��d	|��d
|��d
|�d�g|��|jd|�d�|��}|ddk(s�Gtj|d�}|dD]1}|�d
|d��}|jd|��d|�d�d|��d|�d�g|���3��yy)N�juju controllersrzjuju controllers --format jsonrrr�controllerszjuju models -c zjuju model-defaults -c zjuju controller-config -c z --format json�models�:�namezjuju status -m zjuju model-config -m )r�collect_cmd_output�json�loads�keys)	r(�user�juju_controllers�juju_ctrl_json�
controller�juju_models�juju_status_json�model�
model_names	         r1r&zSunbeam._get_juju_cmd_detailsfsw�����.�d��;��2�2�,�D�3�:���H�%��*�!�Z�Z�(8��(B�C�N�,�]�;�@�@�B�
'�
��#�#�%�j�\�2�-�j�\�:�0���=�0���N�K�	%�
�$��#�5�5�%�j�\��@��6� ���x�(�A�-�'+�z�z�+�h�2G�'H�$�!1�(�!;�	'��(2�|�1�U�6�]�O�%D�
��+�+�-�j�\�:�-�j�\��H�3�J�<�@�3�J�<�~�N�	-�
"&�,�'�		'�!
'�+�c��|j|j�d��|jd�|jd�y)Nrr4zjuju controller-config)�do_file_private_subr�do_cmd_private_sub)r(s r1�postproczSunbeam.postproc�s@��� � �����B�C�	
�	
��� 2�3���� 8�9rEN)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�packagesrr�str�bool�option_listr2r&rI�rEr1rrsZ��/�J��K��H��H�-�J�	�.�(�S�?�	A��$�e�d�3�	5��K�C�J '�D:rEr)r:r�sos.report.pluginsrrrrrTrEr1�<module>rVs#���
�>�>�:�f�l�:rE