Current File : //usr/lib/python3.6/site-packages/sos/report/plugins/__pycache__/sunbeam.cpython-36.pyc |
3
\��h� � @ 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 sj | j d� | j| j� d�| j� d�| j� d�| j� d�| j� d�dg� | jd�}ytj|�}W n& tk
r� | jd |� d
�� d S X |�rf| jddd
dgd|d� | j d|d�}|d dkr�t
j|d �}x&|D ]}| jd|d � �d|d� q�W | j d|d�}|d dk�r^t
j|d �}x<|d D ]0}| jd|d � �d|d � d�gd|d� �q*W |j� d�} | j| � d�| � d�| � d �| � d!�| � d"�g� | jd#��r�| j
d$|� d%�� | j
d&|d�}
| j
d'|d(d)�}d*}|
d dk�s�|d dk�rVyF|
d j� d }
|d j� d }d+|
k�s.d+|k�r<| j|� d}W n tk
�rT Y nX |�sf| 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-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 sunbeamzsunbeam cluster listz"sunbeam cluster list --format yamlzsunbeam manifest listzsunbeam deployment listT)�snap_cmd�runasz#sunbeam manifest list --format yaml)r
�statusr �outputzsunbeam manifest show Z
manifestidz%sunbeam deployment list --format yaml�deploymentszsunbeam deployment show �namez --format yamlz/snap/openstack/commonz/*.logz
/etc/**/*.logz/etc/**/terraform.tfvars.jsonz/logs/*.logz/reports/*.yamlzjuju-allow-loginzsu - z -c "sunbeam utils juju-login"zjuju whoamizjuju 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_dirZ
get_option�pwd�getpwnam�KeyErrorZ _log_warn�add_cmd_output�collect_cmd_output�yamlZ safe_load�pw_dirZexec_cmd�
splitlines�_get_juju_cmd_details�
IndexError)�selfZsunbeam_userZuser_pwdZmanifest_rawZ manifestsZmanifestZdeployment_rawr
Z
deploymentZsb_snap_homedirZjuju_whoamiZjuju_statusZ logged_inZj_whoamiZj_status� r �/usr/lib/python3.6/sunbeam.py�setup"