File: //lib/python3.6/site-packages/sos/report/plugins/__pycache__/openstack_instack.cpython-36.pyc
3
-�_g� � @ sp d dl Z d dlZd dlZd dlmZmZ dddgZdddd d
ddd
gZdZG dd� de�Z G dd� de e�Z
dS )� N)�Plugin�RedHatPluginz+/home/stack/.instack/install-undercloud.logz/home/stack/instackenv.jsonz/home/stack/undercloud.confz/var/log/heat-launcher/z/home/stack/ansible.logz/home/stack/config-download/z"/home/stack/install-undercloud.logz*/home/stack/undercloud-install-*.tar.bzip2z/home/stack/.tripleo/historyz/var/lib/tripleo-config/z,/var/log/tripleo-container-image-prepare.logc @ s0 e Zd ZdZdZdZdd� Zdd� Zd d
� ZdS )
�OpenStackInstackzOpenStack InstackZopenstack_instack� openstack�openstack_undercloudc
sb | j tt � | jd�r&| j dg� n| j dg� | jddi� dd� dD �}d
d� d D �}| j� t|�ort|�s�| jj d
� n�d}| j
|�d }tjd|�}x�|D ]�}|d }| j
d|� �d|� �g� d|� �}| j|�} xn| d j� D ]^� d� kr�ddg}
t� fdd�|
D ���sq� j� d }d� � �}d|� d�}| j
||d� q�W q�W | j
d� d S )!NZall_logsz/var/log/zaqar/z/var/log/zaqar/*.logz/var/log/mistral/executor.logZmistral_executor_logc S s g | ]}|t jk�qS � )�os�environ)�.0�pr r �'/usr/lib/python3.6/openstack_instack.py�
<listcomp>: s z*OpenStackInstack.setup.<locals>.<listcomp>�OS_USERNAME�OS_PASSWORDc S s g | ]}|t jk�qS r )r r )r
r r r r r
= s �OS_TENANT_NAME�OS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.zopenstack stack list�outputz(\|\s(((\w+-){4})\w+)\s\|)� zopenstack stack show z$openstack stack resource list -n 10 z,openstack stack resource list -f value -n 5 ZFAILEDzOS::Heat::StructuredDeploymentzOS::Heat::SoftwareDeploymentc 3 s | ]}|� kV qd S )Nr )r
�x)�
deploymentr r � <genexpr>\ s z)OpenStackInstack.setup.<locals>.<genexpr>z*openstack software deployment show --long zfailed-deployment-z.log)Zsuggest_filenamez>openstack object save tripleo-ui-logs tripleo-ui.logs --file -)r r )r r )�
add_copy_spec�NON_CONTAINERIZED_DEPLOY�CONTAINERIZED_DEPLOYZ
get_optionZ
add_file_tags�capture_undercloud_yamls�all�anyZsoslogZwarningZcollect_cmd_output�re�findallZadd_cmd_outputZexec_cmd�
splitlines�split)
�selfZvars_allZvars_anyZ
get_stacksZstacksZ stack_idsZ_sidZsid�cmdZdeploymentsZcheckZdeployZfnamer )r r �setup* sH
zOpenStackInstack.setupc C sx t j� }yV|jt� ddg}x>|D ]6}|jd|�}|r"tjj|�sN| jd|�}| j |� q"W W n t
k
rr Y nX dS )z( capture yaml files to define overrides Zhieradata_overrideZnet_config_overrideZDEFAULTz/home/stackN)�configparserZConfigParser�read�UNDERCLOUD_CONF_PATH�getr �path�isabsZ path_joinr � Exception)r! Z uc_configZ
override_opts�optr( r r r r g s
z)OpenStackInstack.capture_undercloud_yamlsc C s� ddddddddd d
ddd
dddg}ddj |�� d�}| jd|d� | jt|d� dddg}ddj |�� d�}| jd|d� | jddd� d S )NZos_passwordZundercloud_admin_passwordZ%undercloud_ceilometer_metering_secretZundercloud_ceilometer_passwordZ$undercloud_ceilometer_snmpd_passwordZundercloud_db_passwordZundercloud_glance_passwordZundercloud_heat_passwordZ+undercloud_heat_stack_domain_admin_passwordZundercloud_horizon_secret_keyZundercloud_ironic_passwordZundercloud_neutron_passwordZundercloud_nova_passwordZundercloud_rabbit_passwordZundercloud_swift_passwordZundercloud_tuskar_passwordz((�|z)=)(.*)z+/home/stack/.instack/install-undercloud.logz\1*********Zpm_passwordzssh-keyZpasswordz("(z)": )(".*?")z/home/stack/instackenv.jsonz/home/stack/.tripleo/historyz(password=)\w+)�joinZdo_file_subr&