HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_ironic.cpython-310.pyc
o

i��d� �@sZddlmZmZmZmZddlZGdd�de�ZGdd�deee�ZGdd�dee�ZdS)	�)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginNc@s@eZdZdZdZdZdZdZedZdd�Z	d	d
�Z
dd�Zd
S)�OpenStackIroniczOpenStack Ironic�openstack_ironic)�	openstack�openstack_undercloud)�.*ironic_apiz,/var/lib/config-data/puppet-generated/ironic�
_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�rn|�ddg�n|�ddg�ddd|jd|jdfD]}|�d|�|�d|j|�q�d D]}|�d!|�r�|jd"|d#�q�n,ddg|_|�gd$��|�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�dS|�d2�|�d3�|�d4�|�d5�dS)6Nr
z
/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/zls -laRt %s)�ironic_inspector_dnsmasq�ironic_inspector�ironic_pxe_http�ironic_pxe_tftp�ironic_neutron_agent�ironic_conductor�
ironic_apiz.*zrpm -qa)�	container)rrr
z"/var/log/ironic-inspector/ramdisk/rrz/var/log/ironic/z/var/log/ironic-inspector/z/var/log/ironic/*.logz/var/log/ironic-inspector/*.log)rrrz.*/etc/ironic/ironic.conf�ironic_confcS�g|]}|tjv�qS���os�environ��.0�prr�E/usr/lib/python3/dist-packages/sos/report/plugins/openstack_ironic.py�
<listcomp>u�z)OpenStackIronic.setup.<locals>.<listcomp>)�OS_USERNAME�OS_PASSWORDcSrrr r#rrr&r'xr()�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.z&openstack baremetal driver list --longz$openstack baremetal node list --longz$openstack baremetal port list --longz*openstack baremetal port group list --long)
�container_exists�var_puppet_gen�ins_puppet_gen�	conf_list�
add_copy_spec�
get_option�add_cmd_output�
add_file_tags�all�any�
osc_available�soslog�warning)�self�in_container�path�container_name�vars_all�vars_anyrrr&�setups�
��
������	�
	���


zOpenStackIronic.setupcCs|jD]	}|�|||�qdS�N)r0�do_path_regex_sub)r:�regexp�subst�confrrr&�apply_regex_sub�s
�zOpenStackIronic.apply_regex_subcCs@gd�}ddg}|�dd�|�d�|�dd�|�d�dS)	N)	�dns_passkey�memcache_secret_key�rabbit_password�password�
qpid_password�admin_password�ssl_key_password�os_password�
transport_url�
connection�sql_connectionz(^\s*(%s)\s*=\s*)(.*)�|z\1*********z)(^\s*(%s)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6)rF�join)r:�protect_keys�connection_keysrrr&�postproc�s���zOpenStackIronic.postprocN)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�
containersr.r/r@rFrVrrrr&rsmrcs eZdZdZ�fdd�Z�ZS)�DebianIronic)z
ironic-apiz
ironic-commonzironic-conductorcstt|���dSrA)�superr^r@�r:��	__class__rr&r@�szDebianIronic.setup)rWrXrY�packagesr@�
__classcell__rrrar&r^�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|�qdS)Nz.openstack baremetal node list -f value -c UUID�statuszPFailed to fetch list of ironic node UUIDs, introspection data won't be collectedcSsg|]}|��r|�qSr)�strip)r$�uuidrrr&r'�s
�z;RedHatIronic.collect_introspection_data.<locals>.<listcomp>�outputz.openstack baremetal introspection data save %s)�collect_cmd_outputr8r9�splitr3)r:�uuids_result�uuidsrirrr&�collect_introspection_data�s���z'RedHatIronic.collect_introspection_datacs�tt����t�fdd��jD��r4�j�d���d���d���d��jdd��jd	d��jd
d��j	rM��
d���d�rO���dSdSdS)
Ncsg|]}��|��qSr)�is_installedr#r`rr&r'�r(z&RedHatIronic.setup.<locals>.<listcomp>z/etc/ironic-discoverd/*z/etc/ironic-discoverd/z/var/lib/ironic-discoverd/z/var/log/ironic-discoverd/rf)�unitsz"openstack-ironic-discoverd-dnsmasqz"openstack-ironic-inspector-dnsmasqz&openstack baremetal introspection listr)
r_rer@r6�discoverd_packagesr0�appendr1�add_journalr7r3r2ror`rar`r&r@�s




�zRedHatIronic.setup)rWrXrYrcrrror@rdrrrar&re�s�re)	�sos.report.pluginsrrrrr!rr^rerrrr&�<module>s