o
G%@i @ sB d dl Z d dlZd dlZd dlmZmZmZ G dd deeZdS ) N)PluginUbuntuPlugin PluginOptc @ sX e Zd ZdZdZdZdZdZedde dd ed
de
dd gZd
d Zdd Z
dd ZdS )SunbeamzSunbeam Openstack Controllersunbeam)cloud) openstackz/var/snap/openstack/commonsunbeam-userubuntuz&The user used for sunbeam installation)defaultval_typedescjuju-allow-loginFzAllow sos to login to jujuc C s\ | d | | j d| j d| j d| j d| j ddg | d}zt|}W n tyC | d | d
Y d S w |r*| jg dd|d
| j d|d}|d dkrwt
|d }|D ]}| jd|d d|d
qg| j d|d}|d dkrt
|d }|d D ]}| jd|d d|d dgd|d
q|j d} | | d| d| d| d| dg | d r|
d!| d" | j
d#|d}
| j
d$|d%d&}d'}|
d dks|d dkr z#|
d d }
|d d }d(|
v s
d(|v r| | d}W n
ty Y nw |s,| d) d S d S 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.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 sunbeam)zsunbeam cluster listz"sunbeam cluster list --format yamlzsunbeam manifest listzsunbeam deployment listT)snap_cmdrunasz#sunbeam manifest list --format yamlr statusr outputzsunbeam manifest show
manifestidz%sunbeam deployment list --format yamldeploymentszsunbeam deployment show namez --format yamlz/snap/openstack/commonz/*.logz
/etc/**/*.logz/etc/**/terraform.tfvars.jsonz/logs/*.logz/reports/*.yamlr zsu - z -c "sunbeam utils juju-login"zjuju whoamizjuju status )r timeoutF
Controllerzjuju 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
get_optionpwdgetpwnamKeyError _log_warnadd_cmd_outputcollect_cmd_outputyaml safe_loadpw_direxec_cmd
splitlines_get_juju_cmd_details
IndexError)selfsunbeam_useruser_pwdmanifest_raw manifestsmanifestdeployment_rawr
deploymentsb_snap_homedirjuju_whoamijuju_status logged_inj_whoamij_status r: