Sindbad~EG File Manager
3
�f� � @ 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
sV | j tt � | jd�r&| j dg� n| j dg� | jddi� dd� dD �}d
d� dD �}| j� t|�ort|�s�| jj d
� n�d}| j
|�d }tjd|�}x�|D ]�}|d }| j
d| d| g� d| }| j|�} xh| d j� D ]X� d� kr�ddg}
t� fdd�|
D ���sq� j� 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 %sz&openstack stack resource list -n 10 %sz.openstack stack resource list -f value -n 5 %sZFAILEDzOS::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 %szfailed-deployment-%s.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* sJ
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 |� }| jd|d� | jt|d� dddg}ddj |� }| 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((%s)=)(.*)�|z+/home/stack/.instack/install-undercloud.logz\1*********Zpm_passwordzssh-keyZpasswordz("(%s)": )(".*?")z/home/stack/instackenv.jsonz/home/stack/.tripleo/historyz(password=)\w+)�joinZdo_file_subr&