File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_instack.cpython-310.pyc
o
([Qh� � @ sb d dl Z d dlZd dlZd dlmZmZ g d�Zg d�ZdZG dd� de�Z G dd � d e e�Z
dS )
� N)�Plugin�RedHatPlugin)�+/home/stack/.instack/install-undercloud.log�/home/stack/instackenv.json�/home/stack/undercloud.conf)z/var/log/heat-launcher/z/home/stack/ansible.logz/home/stack/config-download/z"/home/stack/install-undercloud.logz*/home/stack/undercloud-install-*.tar.bzip2�/home/stack/.tripleo/historyz/var/lib/tripleo-config/z,/var/log/tripleo-container-image-prepare.logr c @ s0 e Zd ZdZdZdZdd� Zdd� Zdd � Zd
S )�OpenStackInstackzOpenStack Instack�openstack_instack)� openstack�openstack_undercloudc
sZ | � tt � | �d�r| � dg� n| � dg� | �ddi� dd� dD �}d d� d
D �}| �� t|�r:t|�sB| j� d� d S d}| �
|�d
}t�d|�}|D ]R}|d }| �
d|� �d|� �g� d|� �}| �|�} | d
�� D ].� d� v r�ddg}
t� fdd�|
D ��s�qv� �� d }d� � �}d|� d�}| j
||d� qvqS| �
d� d S )N�all_logsz/var/log/zaqar/z/var/log/zaqar/*.logz/var/log/mistral/executor.log�mistral_executor_logc S � g | ]}|t jv �qS � ��os�environ��.0�pr r �F/usr/lib/python3/dist-packages/sos/report/plugins/openstack_instack.py�
<listcomp>: � z*OpenStackInstack.setup.<locals>.<listcomp>)�OS_USERNAME�OS_PASSWORDc S r r r r r r r r = r )�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 �FAILEDzOS::Heat::StructuredDeploymentzOS::Heat::SoftwareDeploymentc 3 s � | ]}|� v V qd S )Nr )r �x��
deploymentr r � <genexpr>\ s � z)OpenStackInstack.setup.<locals>.<genexpr>z*openstack software deployment show --long zfailed-deployment-z.log)�suggest_filenamez>openstack object save tripleo-ui-logs tripleo-ui.logs --file -)�
add_copy_spec�NON_CONTAINERIZED_DEPLOY�CONTAINERIZED_DEPLOY�
get_option�
add_file_tags�capture_undercloud_yamls�all�any�soslog�warning�collect_cmd_output�re�findall�add_cmd_output�exec_cmd�
splitlines�split)
�self�vars_all�vars_any�
get_stacks�stacks� stack_ids�_sid�sid�cmd�deployments�check�deploy�fnamer r! r �setup* sV
����
����zOpenStackInstack.setupc C sr t �� }z*|�t� ddg}|D ]}|�d|�}|r+tj�|�s&| �d|�}| � |� qW dS t
y8 Y dS w )z( capture yaml files to define overrides �hieradata_override�net_config_override�DEFAULTz/home/stackN)�configparser�ConfigParser�read�UNDERCLOUD_CONF_PATH�getr �path�isabs� path_joinr% � Exception)r6 � uc_config�
override_opts�optrL r r r r* g s
���z)OpenStackInstack.capture_undercloud_yamlsc C sp g d�}dd� |�� d�}| �d|d� | �t|d� g d�}dd� |�� d �}| �d
|d� | �ddd� d S )
N)�os_password�undercloud_admin_password�%undercloud_ceilometer_metering_secret�undercloud_ceilometer_password�$undercloud_ceilometer_snmpd_password�undercloud_db_password�undercloud_glance_password�undercloud_heat_password�+undercloud_heat_stack_domain_admin_password�undercloud_horizon_secret_key�undercloud_ironic_password�undercloud_neutron_password�undercloud_nova_password�undercloud_rabbit_password�undercloud_swift_password�undercloud_tuskar_passwordz((�|z)=)(.*)r z\1*********)�pm_passwordzssh-key�passwordz("(z)": )(".*?")r r z(password=)\w+)�join�do_file_subrJ )r6 �protected_keys�regexp�protected_json_keys�json_regexpr r r �postprocv s ���zOpenStackInstack.postprocN) �__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesrC r* rl r r r r r $ s =r c @ s e Zd ZdZdS )�RedHatRDOManager)zopenstack-selinuxN)rm rn ro �packagesr r r r rs � s rs )rG r r0 �sos.report.pluginsr r r&