HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_ironic.cpython-38.pyc
U

i��d� �@sZddlmZmZmZmZddlZGdd�de�ZGdd�deee�ZGdd�dee�ZdS)	�)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginNc@s@eZdZdZdZdZdZdZedZdd�Z	d	d
�Z
dd�Zd
S)�OpenStackIroniczOpenStack IronicZopenstack_ironic)Z	openstackZopenstack_undercloud)�.*ironic_apiz,/var/lib/config-data/puppet-generated/ironicZ
_inspectorcCs@|�d�}|�r\|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](}|�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�dS)6Nrz
/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
rz.*/etc/ironic/ironic.confZironic_confcSsg|]}|tjk�qS���os�environ��.0�prr�E/usr/lib/python3/dist-packages/sos/report/plugins/openstack_ironic.py�
<listcomp>usz)OpenStackIronic.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDcSsg|]}|tjk�qSrr
rrrrrxs)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)�selfZin_container�pathZcontainer_nameZvars_allZvars_anyrrr�setups�
��
����
��	���


zOpenStackIronic.setupcCs|jD]}|�|||�qdS�N)rZdo_path_regex_sub)r ZregexpZsubst�confrrr�apply_regex_sub�s
zOpenStackIronic.apply_regex_subc	CsNddddddddd	g	}d
dg}|�dd
�|�d�|�dd
�|�d�dS)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 Zprotect_keysZconnection_keysrrr�postproc�s*����zOpenStackIronic.postprocN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZ
containersrrr"r%r(rrrrrsmrcs eZdZdZ�fdd�Z�ZS)�DebianIronic)z
ironic-apiz
ironic-commonzironic-conductorcstt|���dSr#)�superr,r"�r ��	__class__rrr"�szDebianIronic.setup)r)r*r+�packagesr"�
__classcell__rrr/rr,�sr,cs0eZdZdZddgZdd�Z�fdd�Z�ZS)�RedHatIronic)zopenstack-selinux�openstack-ironic-discoverdz"openstack-ironic-discoverd-ramdiskcCsT|�d�}|dr"|j�d�dSdd�|d��D�}|D]}|�d|�q<dS)Nz.openstack baremetal node list -f value -c UUIDZstatuszPFailed to fetch list of ironic node UUIDs, introspection data won't be collectedcSsg|]}|��r|�qSr)�strip)r�uuidrrrr�s�z;RedHatIronic.collect_introspection_data.<locals>.<listcomp>�outputz.openstack baremetal introspection data save %s)Zcollect_cmd_outputrr�splitr)r Zuuids_resultZuuidsr6rrr�collect_introspection_data�s��z'RedHatIronic.collect_introspection_datacs�tt����t�fdd��jD��rh�j�d���d���d���d��jdd��jd	d��jd
d��j	r���
d���d�r����dS)
Ncsg|]}��|��qSr)Zis_installedrr.rrr�sz&RedHatIronic.setup.<locals>.<listcomp>z/etc/ironic-discoverd/*z/etc/ironic-discoverd/z/var/lib/ironic-discoverd/z/var/log/ironic-discoverd/r4)Zunitsz"openstack-ironic-discoverd-dnsmasqz"openstack-ironic-inspector-dnsmasqz&openstack baremetal introspection listr)
r-r3r"r�discoverd_packagesr�appendrZadd_journalrrrr9r.r/r.rr"�s




zRedHatIronic.setup)r)r*r+r1r:r9r"r2rrr/rr3�s�r3)	Zsos.report.pluginsrrrrrrr,r3rrrr�<module>s