HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/sos/report/plugins/__pycache__/openstack_ironic.cpython-39.pyc
a

\��h#!�@sZddlZddlmZmZmZmZGdd�de�ZGdd�deee�ZGdd�dee�ZdS)	�N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc@sHeZdZdZdZdZdZdZedZgZ	dZ
dd	�Zd
d�Zdd
�Z
dS)�OpenStackIroniczOpenStack IronicZopenstack_ironic)Z	openstackZopenstack_undercloud)�.*ironic_apiz,/var/lib/config-data/puppet-generated/ironicZ
_inspectorFcCs*|�d�}|�rV|jd|jd|jd|jd|jdg|_|�dd|jd|jd	|jd
|jd|jd|jd
|jd|jd|jd|jd|jd|jd|jd|jd|jdg�|�d�r�|�ddg�n|�ddg�ddd|jd|jdfD]"}|j||j�|��gdd ��qd!D]$}|�d"|��r.|jd#|d$��q.nTddg|_|�gd%��|�d��r�|�d&d'g�n|�d(d)g�|jgd*�dd �|�d+d,i�d-d.�d/D�}d0d.�d1D�}t	|��o�t
|�|_|j�s�|j�
d2�n(|�d3�|�d4�|�d5�|�d6�dS)7Nrz
/etc/ironic/*z/etc/ironic-inspector/*z_api/etc/ironic/*� /var/lib/httpboot/inspector.ipxe�/var/lib/ironic-inspector/z-/var/log/containers/ironic-inspector/ramdisk/z/etc/xinetd.confz/etc/xinetd.d/�/etc/ironic/�/etc/ironic-inspector/z/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.conf�/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/T)�	recursive)Zironic_inspector_dnsmasqZironic_inspectorZironic_pxe_httpZironic_pxe_tftpZironic_neutron_agentZironic_conductorZ
ironic_apiz.*zrpm -qa)�	container)r
rr	z"/var/log/ironic-inspector/ramdisk/rrz/var/log/ironic/z/var/log/ironic-inspector/z/var/log/ironic/*.logz/var/log/ironic-inspector/*.log)rrrz.*/etc/ironic/ironic.confZironic_confcSsg|]}|tjv�qS���os�environ��.0�prr�G/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_ironic.py�
<listcomp>x�z)OpenStackIronic.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDcSsg|]}|tjv�qSrrrrrrr{r)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_optionZadd_dir_listing�add_cmd_outputZ
add_file_tags�all�any�
osc_available�soslog�warning)�selfZin_container�pathZcontainer_nameZvars_allZvars_anyrrr�setups�
��
�����
�	��
��


zOpenStackIronic.setupcCs|jD]}|�|||�qdS)z Apply regex substitution N)rZdo_path_regex_sub)r(Zregexp�substZconfrrr�apply_regex_sub�s
zOpenStackIronic.apply_regex_subcCsLgd�}ddg}d�|�}|�dd�|��d�d�|�d|�d�d	�dS)
N)	Zdns_passkeyZmemcache_secret_keyZrabbit_password�passwordZ
qpid_passwordZadmin_passwordZssl_key_passwordZos_passwordZ
transport_urlZ
connectionZsql_connection�|z(^\s*(z
)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6)�joinr,)r(Zprotect_keysZconnection_keysZ
join_con_keysrrr�postproc�s
�
�zOpenStackIronic.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZ
containersrrrr%r*r,r0rrrrrsnrc@seZdZdZdS)�DebianIronic)z
ironic-apiz
ironic-commonzironic-conductorN)r1r2r3�packagesrrrrr4�sr4cs0eZdZdZddgZdd�Z�fdd�Z�ZS)�RedHatIronic)zopenstack-selinux�openstack-ironic-discoverdz"openstack-ironic-discoverd-ramdiskcCsV|�d�}|dr"|j�d�dSdd�|d��D�}|D]}|�d|���q<dS)	z& Capture baremetal introspection data z.openstack baremetal node list -f value -c UUID�statuszPFailed to fetch list of ironic node UUIDs, introspection data won't be collectedNcSsg|]}|��r|�qSr)�strip)r�uuidrrrr�s�z;RedHatIronic.collect_introspection_data.<locals>.<listcomp>�outputz,openstack baremetal introspection data save )Zcollect_cmd_outputr&r'�splitr")r(Zuuids_resultZuuidsr:rrr�collect_introspection_data�s��z'RedHatIronic.collect_introspection_datacs�t���t�fdd��jD��rd�j�d���d���d���d��jdd��jd	d��jd
d��jr���	d���
d�r����dS)
Nc3s|]}��|�VqdS)N)Zis_installedr�r(rr�	<genexpr>�rz%RedHatIronic.setup.<locals>.<genexpr>z/etc/ironic-discoverd/*z/etc/ironic-discoverd/z/var/lib/ironic-discoverd/z/var/log/ironic-discoverd/r7)Zunitsz"openstack-ironic-discoverd-dnsmasqz"openstack-ironic-inspector-dnsmasqz&openstack baremetal introspection listr
)�superr*r$�discoverd_packagesr�appendr Zadd_journalr%r"r!r=r>��	__class__r>rr*�s





zRedHatIronic.setup)r1r2r3r5rAr=r*�
__classcell__rrrCrr6�s�r6)	rZsos.report.pluginsrrrrrr4r6rrrr�<module>s