관리-도구
편집 파일: openstack_ironic.cpython-39.pyc
a -�_g#! � @ sZ d dl Z d dlmZmZmZmZ G dd� de�ZG dd� deee�ZG dd� dee�ZdS ) � N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc @ sH e Zd ZdZdZdZdZdZed Zg Z dZ dd � Zd d� Zdd � Z dS )�OpenStackIroniczOpenStack IronicZopenstack_ironic)Z openstackZopenstack_undercloud)�.*ironic_apiz,/var/lib/config-data/puppet-generated/ironicZ _inspectorFc C s* | � d�}|�rV| 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 ]"}| j|| j� |� �gdd � �qd!D ]$}| � d"| ��r.| jd#|d$� �q.nTddg| _| �g d%�� | �d��r�| �d&d'g� n| �d(d)g� | jg d*�dd � | �d+d,i� d-d.� d/D �}d0d.� d1D �}t |��o�t |�| _| j�s�| j� d2� n(| �d3� | �d4� | �d5� | �d6� d S )7Nr 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/T)� recursive)Zironic_inspector_dnsmasqZironic_inspectorZironic_pxe_httpZironic_pxe_tftpZironic_neutron_agentZironic_conductorZ ironic_apiz.*zrpm -qa)� container)r r r z"/var/log/ironic-inspector/ramdisk/r r 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 jv �qS � ��os�environ��.0�pr r �G/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_ironic.py� <listcomp>x � z)OpenStackIronic.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDc S s g | ]}|t jv �qS r r r r r r r { 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)�selfZin_container�pathZcontainer_nameZvars_allZvars_anyr r r �setup s� �� ����� � �� �� zOpenStackIronic.setupc C s | j D ]}| �|||� qdS )z Apply regex substitution N)r Zdo_path_regex_sub)r( Zregexp�substZconfr r r �apply_regex_sub� s zOpenStackIronic.apply_regex_subc C sL g d�}ddg}d� |�}| �dd� |�� d�d� | �d|� d�d � d S ) 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( Zprotect_keysZconnection_keysZ join_con_keysr r r �postproc� s � �zOpenStackIronic.postprocN)�__name__� __module__�__qualname__Z short_descZplugin_nameZprofilesZ containersr r r r% r* r, r0 r r r r r s nr c @ s e Zd ZdZdS )�DebianIronic)z ironic-apiz ironic-commonzironic-conductorN)r1 r2 r3 �packagesr r r r r4 � s r4 c s0 e Zd ZdZddgZdd� Z� fdd�Z� ZS )�RedHatIronic)zopenstack-selinux�openstack-ironic-discoverdz"openstack-ironic-discoverd-ramdiskc C sV | � d�}|d r"| j�d� dS dd� |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 collectedNc S s g | ]}|� � r|�qS r )�strip)r �uuidr r r r � s �z;RedHatIronic.collect_introspection_data.<locals>.<listcomp>�outputz,openstack baremetal introspection data save )Zcollect_cmd_outputr&