Sindbad~EG File Manager

Current Path : /lib/python3.6/site-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/sos/report/plugins/__pycache__/openstack_nova.cpython-36.pyc

3

�f�"�@sbddlZddlZddlmZmZmZmZGdd�de�ZGdd�deee�ZGdd�dee�Z	dS)	�N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc@s@eZdZdZdZdZdZdZd	Zd
Z	dd�Z
d
d�Zdd�Zd
S)�
OpenStackNovazOpenStack NovaZopenstack_nova�	openstack�openstack_controller�openstack_compute�openstack_edpm�
.*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceNcsf�jd�}�j�j�s|�rfd}|r2d�jd}�jd|ddd��jd|d	d
d��jd|ddd��jd
|ddd�dd�dCD�}dd�dDD�}t|�o�t|�sĈjjd�n��jd��jd��jd��jd��jd��jd��jd��j	d�}|d d!k�rf|d"}x:|j
�d#dE�D]&}|j�d$}d%|��}�j|��q<W�jd&��r��j
d'd(�j�d)�d*g�nZd'}	d+d,d-d.d/d0d1g}
x |
D]}�j
�j|	|���q�W�j
d(�j�d2�d(�j�d3�g�dd4d5d6g}dd7d8d9d:g�dd;�jd<�jd=�jd>�jd?�jd@gtttjdA�j��fdBd�|D���}
�j
|
�dS)FNz
.*nova_api�z
--config-dir z
/etc/nova/z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|]}|tjk�qS�)�os�environ)�.0�pr
r
�$/usr/lib/python3.6/openstack_nova.py�
<listcomp>?sz'OpenStackNova.setup.<locals>.<listcomp>�OS_USERNAME�OS_PASSWORDcSsg|]}|tjk�qSr
)rr)rrr
r
rrBs�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-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).)*$cs&g|]}�D]}d�j||f�qqS)z%s%s%s)�var_puppet_gen)rr�s)�self�syspathsr
rr�s)rr)rr���)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)r!Zin_containerZnova_configZvars_allZvars_any�resZnova_instances�instance�cmdZnovadirZnovalogsZnovalogZnpathsZspecsr
)r!r"r�setup!s�















zOpenStackNova.setupcCs8|jd||�x$dD]}|jd|j|f||�qWdS)	z Apply regex substitution z/etc/nova/*rrrrz%s%s/etc/nova/*N)rrrr)Zdo_path_regex_subr)r!ZregexpZsubstZnpathr
r
r�apply_regex_sub�s

zOpenStackNova.apply_regex_subcCs`ddddddddd	d
ddd
dddddg}ddg}|jddj|�d�|jddj|�d�dS)NZldap_dns_passwordZneutron_admin_passwordZrabbit_passwordZ
qpid_passwordZpowervm_mgr_passwdZvirtual_power_host_passZxenapi_connection_passwordZpasswordZ
host_passwordZvnc_passwordZadmin_passwordZconnection_passwordZmemcache_secret_keyZ
s3_secret_keyZmetadata_proxy_shared_secretZ	fixed_keyZ
transport_urlZrbd_secret_uuidZ
connectionZsql_connectionz(^\s*(%s)\s*=\s*)(.*)�|z\1*********z)(^\s*(%s)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6)r5�join)r!Zprotect_keysZconnection_keysr
r
r�postproc�s
zOpenStackNova.postproc)rrr	r
)r)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZ
containersrr$r+r4r5r8r
r
r
rrsnrcs,eZdZdZdZdZdZ�fdd�Z�ZS)�
DebianNovaZapache2F�nova-api-ec2�nova-api-metadata�nova-api-os-compute�nova-api-os-volume�nova-common�nova-compute�nova-compute-kvm�nova-compute-lxc�nova-compute-qemu�nova-compute-uml�nova-compute-xcp�nova-compute-xen�nova-xcp-plugins�nova-consoleauth�nova-network�nova-scheduler�nova-volume�novnc�python-nova�python-novnc�python3-novaznova-api.servicecst�j�|jddg�dS)Nz/etc/sudoers.d/nova_sudoersz,/usr/share/polkit-1/rules.d/60-libvirt.rules)�superr4r*)r!)�	__class__r
rr4�s
zDebianNova.setup)r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQ)	r9r:r;r+�nova�packagesr$r4�
__classcell__r
r
)rSrr<�s2r<cs(eZdZdZdZdZ�fdd�Z�ZS)�
RedHatNovaZhttpdF�openstack-selinuxcsZt�j�|jdddddddg�|jd�r<|jd	d
g�n|jddg�|jd
g�dS)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*.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)rRr4r*r)Zadd_forbidden_path)r!)rSr
rr4�s$


zRedHatNova.setup)rX)r9r:r;r+rTrUr4rVr
r
)rSrrW�srW)
rr.Zsos.report.pluginsrrrrrr<rWr
r
r
r�<module>s%

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists