Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_nova.cpython-312.pyc
�

-�_g#��t�ddlZddlZddlmZmZmZmZGd�de�ZGd�deee�ZGd�dee�Z	y)	�N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc�:�eZdZdZdZdZdZdZdZdZ	d�Z
d	�Zd
�Zy)�
OpenStackNovazOpenStack Nova�openstack_nova)�	openstack�openstack_controller�openstack_compute�openstack_edpm)�
.*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceNc��|jd�}|j|j�s|�r�d}|rd|jzdz}|j	d|zdzd��|j	d|zd	zd
��|j	d|zdzd��|j	d
|zdzd��dD�cgc]}|t
jv��}}dD�cgc]}|t
jv��}}t|�rt|�s|jjd�n�|j	d�|j	d�|j	d�|j	d�|j	d�|j	d�|j	d�|jd�}|ddk(rF|d}|j�ddD]+}|j�d }d!|��}	|j	|	��-|jd"�r#|jd#d$|j �d%�d&g�n]d#}
gd'�}|D]#}|j|j#|
|���%|jd$|j �d(�d$|j �d)�g�gd*�}
gd+�}dd,|jd-z|jd.z|jd/z|jd0z|jd1zgt%t't)j*d2�j,|
D��cgc]}|D]}|j�|�|�����c}}��z}|j|�ycc}wcc}wcc}}w)3Nr�z
--config-dir �
/etc/nova/znova-manage z db versionznova-manage_db_version)�suggest_filenamez fixed listznova-manage_fixed_listz floating listznova-manage_floating_listznova-status z upgrade checkznova-status_upgrade_check)�OS_USERNAME�OS_PASSWORD)�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)rz/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).)*$)�container_exists�is_service_running�service_name�var_puppet_gen�add_cmd_output�os�environ�all�any�soslog�warning�collect_cmd_output�
splitlines�split�
get_option�
add_copy_spec�	apachepkg�	path_join�list�filter�re�compile�match)�self�in_container�nova_config�p�vars_all�vars_any�res�nova_instances�instance�cmd�novadir�novalogs�novalog�npaths�syspaths�s�specss                 �C/usr/lib/python3/dist-packages/sos/report/plugins/openstack_nova.py�setupzOpenStackNova.setup!s����,�,�\�:���"�"�4�#4�#4�5���K��-��0C�0C�C� ,�-��
�����,�}�<�!9�
 �
�
�����,�}�<�!9�
 �
�
�����,�/?�?�!<�
 �
�
�����,�/?�?�!<�
 �
�
26�7�A��R�Z�Z��7�H�7�2=�>�A��R�Z�Z��>�H�>���M�c�(�m����#�#�%3�4�
�#�#�$D�E��#�#�$B�C��#�#�$B�C��#�#�$7�8��#�#�$?�@��#�#�$:�;��#�#�$E�F��-�-�:���
�x�=�A�%�%(��]�N�$2�$=�$=�$?��"�$E�1��#+�>�>�#3�A�#6�� 6�x�j�A���+�+�C�0�1�
�?�?�:�&���� ��D�N�N�+�7�3�7� �
�'�G��H�$�
E���"�"�4�>�>�'�7�#C�D�
E�����D�N�N�+�;�7��D�N�N�+�+;�<� �
�
=��
��
�����"I�I����"8�8����"9�9����"@�@����"E�E�
�
��2�:�:�8�9�?�?�#���X��()��*�*�+�A�3�q�c�2��2��
�
���	
���5�!��]7��>��Ps�.L?�
M�? M	c�|�|jd||�dD]$}|j|j�|�d�||��&y)z Apply regex substitution z/etc/nova/*rN)�do_path_regex_subr%)r9�regexp�subst�npaths    rJ�apply_regex_subzOpenStackNova.apply_regex_sub�sK�����}�f�e�<�@�	�E��"�"��&�&�'��w�k�:���
�	�c��gd�}ddg}dj|�}|jddj|��d�d�|jd|�d�d	�y)
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)�joinrQ)r9�protect_keys�connection_keys�
join_con_keyss    rJ�postproczOpenStackNova.postproc�sk��
��(�)9�:������1�
�����c�h�h�|�,�-�]�;��	
�	
����m�_�$E�F��	
rR)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�
containersr%r$r2rKrQrm�rRrJrrs8��!�J�"�K�7�H� �J�A�N�/�L��I�l"�\�
rRrc�.��eZdZdZdZdZdZ�fd�Z�xZS)�
DebianNova�apache2F)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-volume�novnczpython-novazpython-novnczpython3-novaznova-api.servicec�H��t�|��|jddg�y)Nz/etc/sudoers.d/nova_sudoersz,/usr/share/polkit-1/rules.d/60-libvirt.rules)�superrKr1�r9�	__class__s �rJrKzDebianNova.setup�s%���
��
�����)�:�
�	rR)	rnrorpr2�nova�packagesr$rK�
__classcell__�r}s@rJrwrw�s%����I��D��H�.&�L��rRrwc�*��eZdZdZdZdZ�fd�Z�xZS)�
RedHatNova�httpdF)zopenstack-selinuxc����t�|��|jgd��|jd�r|jddg�n|jddg�|j	dg�y)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-novncproxyz/var/lib/openstack/config/novaz(/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{rKr1r0�add_forbidden_pathr|s �rJrKzRedHatNova.setup�sy���
��
�����
�	��?�?�:�&����+�,� �
�

���/�0� �
�
	
���;�!
�	rR)rnrorpr2r~rrKr�r�s@rJr�r��s����I��D�%�H��rRr�)
r'r6�sos.report.pluginsrrrrrrwr�rurRrJ�<module>r�sA�� 
�	�O�O�W
�F�W
�t"���l�"�J���rR