File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_ironic.cpython-38.pyc
U
i��d� � @ sZ d dl mZmZmZmZ d dlZG dd� de�ZG dd� deee�ZG dd� dee�ZdS ) � )�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginNc @ s@ e Zd ZdZdZdZdZdZed Zdd� Z d d
� Z
dd� Zd
S )�OpenStackIroniczOpenStack IronicZopenstack_ironic)Z openstackZopenstack_undercloud)�.*ironic_apiz,/var/lib/config-data/puppet-generated/ironicZ
_inspectorc C s@ | � d�}|�r\| jd | jd | jd | jd | jd g| _| �dd| jd | jd | jd
| jd | jd | jd
| jd | jd | jd | jd | jd | jd | jd | jd | jd g� | �d�r�| �ddg� n| �ddg� ddd| jd | jd fD ](}| �d| � | �d| j| � �qd D ]$}| � d!| ��r4| jd"|d#� �q4ndddg| _| �d
ddd$ddg� | �d��r�| �d%d&g� n| �d'd(g� d)D ]}| �d| � �q�| �d*d+i� d,d-� d.D �}d/d-� d0D �}t|��o�t |�| _
| j
�s| j�d1� n(| �d2� | �d3� | �d4� | �d5� d S )6Nr z
/etc/ironic/*z/etc/ironic-inspector/*z_api/etc/ironic/*z /var/lib/httpboot/inspector.ipxez/var/lib/ironic-inspector/z-/var/log/containers/ironic-inspector/ramdisk/z/etc/xinetd.confz/etc/xinetd.d/z/etc/ironic/z/etc/ironic-inspector/z/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.confz/etc/my.cnf.d/tripleo.cnfz_api/etc/ironic/z_api/etc/httpd/conf/z_api/etc/httpd/conf.d/z$_api/etc/httpd/conf.modules.d/*.confz_api/etc/my.cnf.d/tripleo.cnf�all_logsz/var/log/containers/ironic/z%/var/log/containers/ironic-inspector/z /var/log/containers/ironic/*.logz*/var/log/containers/ironic-inspector/*.log�/var/lib/ironic� /httpboot� /tftpbootz/var/lib/httpboot/z/var/lib/tftpboot/zls -laRt %s)Zironic_inspector_dnsmasqZironic_inspectorZironic_pxe_httpZironic_pxe_tftpZironic_neutron_agentZironic_conductorZ
ironic_apiz.*zrpm -qa)Z containerz"/var/log/ironic-inspector/ramdisk/z/var/log/ironic/z/var/log/ironic-inspector/z/var/log/ironic/*.logz/var/log/ironic-inspector/*.log)r r
r z.*/etc/ironic/ironic.confZironic_confc S s g | ]}|t jk�qS � ��os�environ��.0�pr r �E/usr/lib/python3/dist-packages/sos/report/plugins/openstack_ironic.py�
<listcomp>u s z)OpenStackIronic.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDc S s g | ]}|t jk�qS r r
r r r r r x s )ZOS_TENANT_NAMEZOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.z&openstack baremetal driver list --longz$openstack baremetal node list --longz$openstack baremetal port list --longz*openstack baremetal port group list --long)
Zcontainer_exists�var_puppet_gen�ins_puppet_gen� conf_list�
add_copy_spec�
get_option�add_cmd_outputZ
add_file_tags�all�any�
osc_available�soslog�warning)�selfZin_container�pathZcontainer_nameZvars_allZvars_anyr r r �setup s�
��
����
�� �� �
zOpenStackIronic.setupc C s | j D ]}| �|||� qd S �N)r Zdo_path_regex_sub)r ZregexpZsubst�confr r r �apply_regex_sub� s
zOpenStackIronic.apply_regex_subc C sN ddddddddd g }d
dg}| � dd
�|� d� | � dd
�|� d� d S )NZdns_passkeyZmemcache_secret_keyZrabbit_passwordZpasswordZ
qpid_passwordZadmin_passwordZssl_key_passwordZos_passwordZ
transport_urlZ
connectionZsql_connectionz(^\s*(%s)\s*=\s*)(.*)�|z\1*********z)(^\s*(%s)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6)r% �join)r Zprotect_keysZconnection_keysr r r �postproc� s* ����zOpenStackIronic.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZ
containersr r r"