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: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/openstack_nova.cpython-39.pyc
a

�:�h�#�@sbddlZddlZddlmZmZmZmZGdd�de�ZGdd�deee�ZGdd�dee�Z	dS)	�N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc@sFeZdZdZdZdZdZdZdZdZ	dgZ
d	d
�Zdd�Zd
d�Z
dS)�
OpenStackNovazOpenStack NovaZopenstack_nova)Z	openstackZopenstack_controllerZopenstack_computeZopenstack_edpm)�
.*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceN�
/etc/nova/csJ��d�}���j�s|�rbd}|r2d�jd}�jd|ddd��jd|d	d
d��jd|ddd��jd
|ddd�dd�dD�}dd�dD�}t|�r�t|�sĈj�d�n���d���d���d���d���d���d���d���	d�}|ddk�rb|d }|�
�d!d"�D]&}|��d#}d$|��}��|��q:��d%��r���
d&d'�j�d(�d)g�nLd&}	gd*�}
|
D]}��
��|	|���q���
d'�j�d+�d'�j�d,�g�gd-�}gd.��dd/�jd0�jd1�jd2�jd3�jd4gttt�d5�j��fd6d�|D���}
��
|
�dS)7Nr�z
--config-dir rznova-manage z db versionznova-manage_db_version)Zsuggest_filenamez fixed listznova-manage_fixed_listz floating listznova-manage_floating_listznova-status z upgrade checkznova-status_upgrade_checkcSsg|]}|tjv�qS���os�environ��.0�pr
r
�E/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_nova.py�
<listcomp>@�z'OpenStackNova.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDcSsg|]}|tjv�qSr
rrr
r
rrCr)ZOS_TENANT_NAMEZOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.zopenstack compute service listzopenstack flavor list --longzopenstack compute agent listznova version-listzopenstack hypervisor listzopenstack quota showzopenstack hypervisor stats showz$openstack server list --all-projects�statusr�output�����zopenstack server show �all_logsz/var/log/nova/z	/var/log/z*/nova*z%/var/lib/nova/instances/*/console.log)z
nova-api.log*znova-compute.log*znova-conductor.log*znova-metadata-api.log*znova-manage.log*znova-placement-api.log*znova-scheduler.log*z*/nova*.logz*/placement*.log�r	Z_libvirtZ	_metadataZ
_placement)rz/etc/my.cnf.d/tripleo.cnfz/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.confZauthorized_keysz%/../memcached/etc/sysconfig/memcachedz/var/spool/cron/novaz_libvirt/etc/libvirt/z_libvirt/etc/nova/migration/z!_libvirt/var/lib/nova/.ssh/configz^((?!libvirt.+httpd).)*$cs(g|] }�D]}�j�|�|���qqSr
)�var_puppet_gen)rr�s��selfZsyspathsr
rr�s
�)Zcontainer_existsZis_service_running�service_namerZadd_cmd_output�all�anyZsoslogZwarningZcollect_cmd_output�
splitlines�split�
get_option�
add_copy_spec�	apachepkgZ	path_join�list�filter�re�compile�match)rZin_containerZnova_configZvars_allZvars_any�resZnova_instances�instance�cmdZnovadirZnovalogsZnovalogZnpathsZspecsr
rr�setup"s�
�
�
�
�
�






�
�	�	�����
zOpenStackNova.setupcCsL|jD]@}|�|�d�||�dD]"}|�|j�|�|�d�||�q"qdS)z0 Apply regex substitution to all sensitive dirs z/*rN)�
postproc_dirsZdo_path_regex_subr)rZregexp�substZ_dirZnpathr
r
r�apply_regex_sub�s
�zOpenStackNova.apply_regex_subcCsLgd�}gd�}d�|�}|�dd�|��d�d�|�d|�d�d�dS)	N)Zldap_dns_passwordZneutron_admin_passwordZrabbit_passwordZ
qpid_passwordZpowervm_mgr_passwdZvirtual_power_host_passZxenapi_connection_password�passwordZ
host_passwordZvnc_passwordZadmin_passwordZconnection_passwordZmemcache_secret_keyZ
s3_secret_keyZmetadata_proxy_shared_secretZ	fixed_keyZrbd_secret_uuid)Z
connectionZsql_connectionZ
transport_url�|z(^\s*(z
)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6)�joinr2)rZprotect_keysZconnection_keysZ
join_con_keysr
r
r�postproc�s
�
�zOpenStackNova.postproc)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZ
containersrrr&r0r/r2r6r
r
r
rrsn	rcs,eZdZdZdZdZdZ�fdd�Z�ZS)�
DebianNovaZapache2F)znova-api-ec2znova-api-metadataznova-api-os-computeznova-api-os-volumeznova-commonznova-computeznova-compute-kvmznova-compute-lxcznova-compute-qemuznova-compute-umlznova-compute-xcpznova-compute-xenznova-xcp-pluginsznova-consoleauthznova-networkznova-schedulerznova-volumeZnovnczpython-novazpython-novnczpython3-novaznova-api.servicecst���|�ddg�dS)Nz/etc/sudoers.d/nova_sudoersz,/usr/share/polkit-1/rules.d/60-libvirt.rules)�superr/r%�r��	__class__r
rr/�s

�zDebianNova.setup)	r7r8r9r&�nova�packagesrr/�
__classcell__r
r
r=rr:�s
r:cs0eZdZdZdZdZddgZ�fdd�Z�ZS)�
RedHatNovaZhttpdF)zopenstack-selinuxr�/var/lib/openstack/config/novacsPt���|�gd��|�d�r2|�ddg�n|�ddg�|�dg�dS)N)z/etc/logrotate.d/openstack-novaz4/etc/polkit-1/localauthority/50-local.d/50-nova.pklaz/etc/sudoers.d/novaz#/etc/security/limits.d/91-nova.confz(/etc/sysconfig/openstack-nova-novncproxyrCz(/var/lib/openstack/containers/nova*.jsonrz/var/log/httpd/placement*z/var/log/containers/nova/*z/var/log/httpd/placement*.logz/var/log/containers/nova/*.logz-/var/lib/openstack/config/nova/ssh-privatekey)r;r/r%r$Zadd_forbidden_pathr<r=r
rr/�s


���zRedHatNova.setup)	r7r8r9r&r?r@r0r/rAr
r
r=rrB�s
rB)
rr)Zsos.report.pluginsrrrrrr:rBr
r
r
r�<module>s%