File: //lib/python3.6/site-packages/sos/report/plugins/__pycache__/sunbeam.cpython-36.opt-1.pyc
3
-�_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�cloud� openstackz/var/snap/openstack/commonzsunbeam-userZubuntuz&The user used for sunbeam installation)�defaultZval_typeZdesczjuju-allow-loginFzAllow sos to login to jujuc C s� | j d� | j| j� d�| j� d�| j� d�| j� d�| j� d�dg� | jdd d
gdd� | jd
�}|d dkr�tj|d �}x |D ]}| jd|d � �� q�W | jd�}ytj |�}W n& t
k
r� | jd|� d�� d S X |�r�|j� d�}| j|� d�|� d�|� d�g� | jd��r4| j
d|� d�� | j
d|d�}| j
d|d d!�}d"} |d dk�sr|d dk�r�yF|d j� d }
|d j� d }d#|
k�s�d#|k�r�| j|� d} W n tk
�r� Y nX | �s�| jd$� d S )%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
manifestidzsunbeam-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)�selfZmanifest_rawZ manifestsZmanifestZsunbeam_userZuser_pwdZsb_snap_homedirZjuju_whoamiZjuju_statusZ logged_inZj_whoamiZj_status� r �/usr/lib/python3.6/sunbeam.py�setup"