File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/sunbeam.cpython-312.pyc
�
O6uf� � �@ � d dl Z d dlZd dlmZmZmZ G d� dee� Zy)� N)�Plugin�UbuntuPlugin� PluginOptc �b � e Zd ZdZdZdZdZdZ edde d� � ed
de
d� � gZd
� Zd� 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 � � | j d� | j | j � d�| j � d�| j � d�| j � d�| j � d�dg� | j dd g� | j d
� } t j |� }|r�|j � d
�}| j |� d�|� d�|� d�g� | j d� r| j d|� d�� | j d|�� }| j d|d�� }d}|d dk( s|d dk( rH |d j � d }|d j � d }d|v sd|v r| j |� d}|s| j d� y y y # t $ r | j d|� d�� Y y w xY w# t $ r Y �Ew xY w) 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 yamlr 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�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
�� � | j d|�� | j d|�� }|d dk( r�t j |d � }|d j � D ]� }| j d|� �d |� �d
|� �d
|� d�g|�� | j d|� d�|�� }|d dk( s�Gt j |d � }|d D ]1 }|� d
|d � �}| j d|� �d|� d�d|� �d|� d�g|�� �3 �� y y )N�juju controllersr zjuju controllers --format jsonr r r �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 r1 r&