
    G%@i"                     t    d dl Z d dlZd dlmZmZmZmZ  G d de      Z G d deee      Z G d dee      Z	y)	    N)PluginRedHatPluginDebianPluginUbuntuPluginc                   @    e Zd ZdZdZdZdZdZdZdZ	dgZ
d	 Zd
 Zd Zy)OpenStackNovazOpenStack Novaopenstack_nova)	openstackopenstack_controlleropenstack_computeopenstack_edpm)
.*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceN
/etc/nova/c                    | j                  d      }| j                  | j                        s|rd}|rd| j                  z   dz   }| j	                  d|z   dz   d       | j	                  d|z   d	z   d
       | j	                  d|z   dz   d       | j	                  d|z   dz   d       dD cg c]  }|t
        j                  v  }}dD cg c]  }|t
        j                  v  }}t        |      rt        |      s| j                  j                  d       n| j	                  d       | j	                  d       | j	                  d       | j	                  d       | j	                  d       | j	                  d       | j	                  d       | j                  d      }|d   dk(  rF|d   }|j                         dd D ]+  }|j                         d    }d!| }	| j	                  |	       - | j                  d"      r#| j                  d#d$| j                    d%d&g       n]d#}
g d'}|D ]#  }| j                  | j#                  |
|             % | j                  d$| j                    d(d$| j                    d)g       g d*}g d+}dd,| j                  d-z   | j                  d.z   | j                  d/z   | j                  d0z   | j                  d1z   gt%        t'        t)        j*                  d2      j,                  |D cg c]  }|D ]  }| j                   | |   c}}            z   }| j                  |       y c c}w c c}w c c}}w )3Nr    z--config-dir r   znova-manage z db versionznova-manage_db_version)suggest_filenamez fixed listznova-manage_fixed_listz floating listznova-manage_floating_listznova-status z upgrade checkznova-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.zopenstack compute service listzopenstack flavor list --longzopenstack compute agent listznova version-listzopenstack hypervisor listzopenstack quota showzopenstack hypervisor stats showz$openstack server list --all-projectsstatusr   output      zopenstack server show all_logsz/var/log/nova/z	/var/log/z*/nova*z%/var/lib/nova/instances/*/console.log)znova-api.log*znova-compute.log*znova-conductor.log*znova-metadata-api.log*znova-manage.log*znova-placement-api.log*znova-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).)*$)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setupzOpenStackNova.setup"   s    ,,\:""4#4#45K-0C0CC ,- ,}<!9    ,}<!9    ,/??!<    ,/??!<   
26 7ARZZ 7H 72= >ARZZ >H > Mc(m## %3 4
 ##$DE##$BC##$BC##$78##$?@##$:;##$EF--:
 x=A%%(]N$2$=$=$?"$E 1#+>>#3A#6 6xjA++C01
 ??:& DNN+737   'GH $ E""4>>'7#CDEDNN+;7DNN++;<  
 =
 "II"88"99"@@"EE
 2::89??#X() **+A3qc2 2  	5!]7>Ps   .L?M? M	c                     | j                   D ]C  }| j                  | d||       dD ]&  }| j                  | j                   | | d||       ( E y)z0 Apply regex substitution to all sensitive dirs z/*r   N)postproc_dirsdo_path_regex_subr%   )r9   regexpsubst_dirnpaths        rJ   apply_regex_subzOpenStackNova.apply_regex_sub   sj    && 	#D""dV2;>D #&&**+E74&;E##	#    c                     g d}g d}dj                  |      }| j                  ddj                  |       dd       | j                  d| dd       y )	N)z.*_keyz.*_pass(wd|word)?passwordmetadata_proxy_shared_secretrbd_secret_uuid)
connectionsql_connectiontransport_url|z(^\s*(z)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6)joinrS   )r9   protect_keysconnection_keysjoin_con_keyss       rJ   postproczOpenStackNova.postproc   sf    
 L1chh|,-];	
 	m_$EF	
rT   )__name__
__module____qualname__
short_descplugin_nameprofiles
containersr%   r$   r2   rM   rK   rS   ra    rT   rJ   r   r      s?    !J"K7H JAN/LI!OMl"\#
rT   r   c                   .     e Zd ZdZdZdZdZ fdZ xZS )
DebianNovaapache2F)znova-api-ec2znova-api-metadataznova-api-os-computeznova-api-os-volumeznova-commonznova-computeznova-compute-kvmznova-compute-lxcznova-compute-qemuznova-compute-umlznova-compute-xcpznova-compute-xenznova-xcp-pluginsznova-consoleauthznova-networkznova-schedulerznova-volumenovnczpython-novazpython-novnczpython3-novaznova-api.servicec                 H    t         |           | j                  ddg       y )Nz/etc/sudoers.d/nova_sudoersz,/usr/share/polkit-1/rules.d/60-libvirt.rules)superrK   r1   r9   	__class__s    rJ   rK   zDebianNova.setup   s%    ):
 	rT   )	rb   rc   rd   r2   novapackagesr$   rK   __classcell__rq   s   @rJ   rk   rk      s%    IDH. &L rT   rk   c                   2     e Zd ZdZdZdZddgZ fdZ xZS )
RedHatNovahttpdF)zopenstack-selinuxr   /var/lib/openstack/config/novac                     t         |           | j                  g d       | j                  d      r| j                  ddg       n| j                  ddg       | j	                  dg       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-novncproxyry   z(/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)ro   rK   r1   r0   add_forbidden_pathrp   s    rJ   rK   zRedHatNova.setup   sy     
 	 ??:&+,  
 /0  
 	;!
 	rT   )	rb   rc   rd   r2   rr   rs   rM   rK   rt   ru   s   @rJ   rw   rw      s'    ID%H!#CDM rT   rw   )
r'   r6   sos.report.pluginsr   r   r   r   r   rk   rw   ri   rT   rJ   <module>r}      sA     
 	 O OW
F W
t"l "J   rT   