관리-도구
편집 파일: openstack_nova.cpython-39.pyc
a -�_g # � @ 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 NovaZopenstack_nova)Z openstackZopenstack_controllerZopenstack_computeZopenstack_edpm)� .*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceNc sJ � � d�}� �� j�s|�rbd}|r2d� j d }� jd| d dd� � jd| d d d� � jd| d dd� � jd | d dd� dd� dD �}dd� dD �}t|�r�t|�sĈ j�d� n�� �d� � �d� � �d� � �d� � �d� � �d� � �d� � � d�}|d dk�rb|d }|� � d!d"� D ]&}|�� d# }d$|� �}� �|� �q:� �d%��r�� � d&d'� j� d(�d)g� nLd&} 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)Zsuggest_filenamez fixed listznova-manage_fixed_listz floating listznova-manage_floating_listznova-status z upgrade checkznova-status_upgrade_checkc S s g | ]}|t jv �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_PASSWORDc S s g | ]}|t jv �qS r r r r r r r B 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.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)r z/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).)*$c s( g | ] }�D ]}� j � |� |� ��qqS r )�var_puppet_gen)r r �s��selfZsyspathsr r r � s �)Zcontainer_existsZis_service_running�service_namer Zadd_cmd_output�all�anyZsoslogZwarningZcollect_cmd_output� splitlines�split� get_option� add_copy_spec� apachepkgZ path_join�list�filter�re�compile�match)r Zin_containerZnova_configZvars_allZvars_any�resZnova_instances�instance�cmdZnovadirZnovalogsZnovalogZnpathsZspecsr r r �setup! s� � � � � � � � � ����� zOpenStackNova.setupc C s6 | � d||� dD ]}| � | j� |� d�||� qdS )z Apply regex substitution z/etc/nova/*r N)Zdo_path_regex_subr )r Zregexp�substZnpathr 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)Zldap_dns_passwordZneutron_admin_passwordZrabbit_passwordZ qpid_passwordZpowervm_mgr_passwdZvirtual_power_host_passZxenapi_connection_password�passwordZ host_passwordZvnc_passwordZadmin_passwordZconnection_passwordZmemcache_secret_keyZ s3_secret_keyZmetadata_proxy_shared_secretZ fixed_keyZ transport_urlZrbd_secret_uuidZ connectionZsql_connection�|z(^\s*(z )\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z \1*********\6)�joinr1 )r Zprotect_keysZconnection_keysZ join_con_keysr r r �postproc� s � �zOpenStackNova.postproc) �__name__� __module__�__qualname__Z short_descZplugin_nameZprofilesZ containersr r r&