File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_nova.cpython-310.pyc
o
([Qh # � @ sb d dl Z d dlZd dlmZmZmZmZ G dd� de�ZG dd� deee�ZG dd� dee�Z dS ) � N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc @ s@ e Zd ZdZdZdZdZdZdZdZ dd � Z
d
d� Zdd
� ZdS )�
OpenStackNovazOpenStack Nova�openstack_nova)� openstack�openstack_controller�openstack_compute�openstack_edpm)�
.*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceNc s@ � � d�}� �� j�s
|r�d}|rd� j d }� jd| d dd� � jd| d d
d� � jd| d dd� � jd
| d dd� dd� dD �}dd� dD �}t|�rZt|�sa� j�d� nM� �d� � �d� � �d� � �d� � �d� � �d� � �d� � � d�}|d dkr�|d }|�
� d!d"� D ]}|�� d# }d$|� �}� �|� q�� �d%�r�� �
d&d'� j� d(�d)g� n%d&} g d*�}
|
D ]}� �
� �| |�� qɈ �
d'� j� d+�d'� j� d,�g� g d-�}g d.��dd/� jd0 � jd1 � jd2 � jd3 � jd4 gttt�d5�j� �fd6d�|D ��� }
� �
|
� d S )7Nr � z
--config-dir �
/etc/nova/znova-manage z db versionznova-manage_db_version)�suggest_filenamez fixed listznova-manage_fixed_listz floating listznova-manage_floating_listznova-status z upgrade checkznova-status_upgrade_checkc S � g | ]}|t jv �qS � ��os�environ��.0�pr r �C/usr/lib/python3/dist-packages/sos/report/plugins/openstack_nova.py�
<listcomp>? � z'OpenStackNova.setup.<locals>.<listcomp>)�OS_USERNAME�OS_PASSWORDc S r r r r r r r r B r )�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.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
�_libvirt� _metadata�
_placement)r z/etc/my.cnf.d/tripleo.cnfz/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.conf�authorized_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).)*$c s( g | ]}�D ]}� j � |� |� ��qqS r )�var_puppet_gen)r r �s��self�syspathsr r r � s
��)�container_exists�is_service_running�service_namer* �add_cmd_output�all�any�soslog�warning�collect_cmd_output�
splitlines�split�
get_option�
add_copy_spec� apachepkg� path_join�list�filter�re�compile�match)r- �in_container�nova_config�vars_all�vars_any�res�nova_instances�instance�cmd�novadir�novalogs�novalog�npaths�specsr r, r �setup! s�
�
�
�
�
�
�
� � �����
zOpenStackNova.setupc C s6 | � d||� dD ]}| � | j� |� d�||� q dS )z Apply regex substitution z/etc/nova/*r% N)�do_path_regex_subr* )r- �regexp�subst�npathr r r �apply_regex_sub� s ��zOpenStackNova.apply_regex_subc C sL g d�}ddg}d� |�}| �dd� |�� d�d� | �d|� d�d � d S )
N)�ldap_dns_password�neutron_admin_password�rabbit_password�
qpid_password�powervm_mgr_passwd�virtual_power_host_pass�xenapi_connection_password�password�
host_password�vnc_password�admin_password�connection_password�memcache_secret_key�
s3_secret_key�metadata_proxy_shared_secret� fixed_key�
transport_url�rbd_secret_uuid�
connection�sql_connection�|z(^\s*(z
)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6)�joinrU )r- �protect_keys�connection_keys�
join_con_keysr r r �postproc� s
�
�zOpenStackNova.postproc)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�
containersr* r1 r<