| Current Path : /lib/python3/dist-packages/sos/report/plugins/__pycache__/ |
| Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/openstack_nova.cpython-38.pyc |
U
-�_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 s^ � � 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� nVd&} d*d+d,d-d.d/d0g}
|
D ]}� �
� �| |�� �q�� �
d'� j� d1�d'� j� d2�g� dd3d4d5g}dd6d7d8d9g�dd:� jd; � jd< � jd= � jd> � jd? gttt�d@�j� �fdAd�|D ��� }
� �
|
� d S )BNr � z
--config-dir z
/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 jk�qS � ��os�environ��.0�pr r �C/usr/lib/python3/dist-packages/sos/report/plugins/openstack_nova.py�
<listcomp>? s z'OpenStackNova.setup.<locals>.<listcomp>)ZOS_USERNAMEZOS_PASSWORDc S s g | ]}|t jk�qS r r
r
r r r r B s )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-projectsZstatusr �output� ���� zopenstack server show �all_logsz/var/log/nova/z /var/log/z*/nova*z%/var/lib/nova/instances/*/console.logz
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�_libvirt� _metadata�
_placementz/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 r r r N)Zdo_path_regex_subr )r ZregexpZsubstZnpathr r r �apply_regex_sub� s �zOpenStackNova.apply_regex_subc C sl ddddddddd d
ddd
dddddg}ddg}d� |�}| �dd� |�� d�d� | �d|� d�d� d S )NZldap_dns_passwordZneutron_admin_passwordZrabbit_passwordZ
qpid_passwordZpowervm_mgr_passwdZvirtual_power_host_passZxenapi_connection_passwordZpasswordZ
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)�joinr/ )r Zprotect_keysZconnection_keysZ
join_con_keysr r r �postproc� s: �
�
�zOpenStackNova.postproc)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZ
containersr r r% r. r/ r2 r r r r r s nr c s, e Zd ZdZdZdZdZ� fdd�Z� ZS )�
DebianNovaZapache2F)znova-api-ec2znova-api-metadataznova-api-os-computeznova-api-os-volumeznova-commonznova-computeznova-compute-kvmznova-compute-lxcznova-compute-qemuznova-compute-umlznova-compute-xcpznova-compute-xenznova-xcp-pluginsznova-consoleauthznova-networkznova-schedulerznova-volumeZnovnczpython-novazpython-novnczpython3-novaznova-api.servicec s t � �� | �ddg� d S )Nz/etc/sudoers.d/nova_sudoersz,/usr/share/polkit-1/rules.d/60-libvirt.rules)�superr. r$ �r �� __class__r r r. � s
�zDebianNova.setup) r3 r4 r5 r% �nova�packagesr r. �
__classcell__r r r9 r r6 � s
r6 c s( e Zd ZdZdZdZ� fdd�Z� ZS )�
RedHatNovaZhttpdF)zopenstack-selinuxc sZ t � �� | �dddddddg� | �d�r<| �d d
g� n| �ddg� | �d
g� d S )Nz/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*.jsonr z/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)r7 r. r$ r# Zadd_forbidden_pathr8 r9 r r r. � s,
�
���zRedHatNova.setup)r3 r4 r5 r% r; r<