관리-도구
편집 파일: sunbeam.cpython-39.pyc
a -�_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 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 jujuc C s� | � d� | �| j� d�| j� d�| j� d�| j� d�| j� d�dg� | jg d�d d � | �d�}|d d kr�t�|d �}|D ]}| �d|d � �� q�| �d�}zt� |�}W n& t y� | �d|� d�� Y d S 0 |�r�|j� d�}| �|� d�|� d�|� d�g� | �d��r.| � d|� d�� | j d|d�}| j d|dd�}d } |d d k�sl|d d k�r�zF|d �� d } |d �� d }d!| v �s�d!|v �r�| �|� d } W n t�y� Y n0 | �s�| �d"� 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 Z 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 �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_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)�selfZmanifest_rawZ manifestsZmanifestZsunbeam_userZuser_pwdZsb_snap_homedirZjuju_whoamiZjuju_statusZ logged_inZj_whoamiZj_status� r �>/usr/lib/python3.9/site-packages/sos/report/plugins/sunbeam.py�setup"