a >h#@sbddlZddlZddlmZmZmZmZGdddeZGdddeeeZGdddeeZ dS) N)Plugin RedHatPlugin DebianPlugin UbuntuPluginc@sFeZdZdZdZdZdZdZdZdZ dgZ d d Z d d Z d dZ dS) OpenStackNovazOpenStack NovaZopenstack_nova)Z openstackZopenstack_controllerZopenstack_computeZopenstack_edpm) .*nova_apiz*/var/lib/config-data/puppet-generated/novazopenstack-nova-api.serviceN /etc/nova/csJd}js|rbd}|r2djd}jd|dddjd|d d djd|d d djd |ddddddD}dddD}t|rt|sĈjdnddddddd d}|ddkrb|d }| d!d"D]&}| d#}d$|}|q: d%r d&d'jd(d)gnLd&} gd*} | D]} | | q d'jd+d'jd,ggd-} gd.dd/jd0jd1jd2jd3jd4gtttd5jfd6d| D} | dS)7Nrz --config-dir rz 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|]}|tjvqSosenviron.0pr r E/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_nova.py @z'OpenStackNova.setup..)Z OS_USERNAMEZ OS_PASSWORDcSsg|]}|tjvqSr r rr r rrCr)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-projectsstatusroutputzopenstack 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*.logr Z_libvirtZ _metadataZ _placement)rz/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]}j||q qSr )var_puppet_gen)rrsselfZsyspathsr rrs )Zcontainer_existsZis_service_running service_namerZadd_cmd_outputallanyZsoslogZwarningZcollect_cmd_output splitlinessplit get_option add_copy_spec apachepkgZ path_joinlistfilterrecompilematch)rZ in_containerZ nova_configZvars_allZvars_anyresZnova_instancesinstancecmdZnovadirZnovalogsZnovalogZnpathsZspecsr rrsetup"s                       zOpenStackNova.setupcCsL|jD]@}||d||dD]"}||j||d||q"qdS)z0 Apply regex substitution to all sensitive dirs z/*rN) postproc_dirsZdo_path_regex_subr)rZregexpsubstZ_dirZnpathr r rapply_regex_subs zOpenStackNova.apply_regex_subcCsLgd}gd}d|}|dd|dd|d|dddS) N)Zldap_dns_passwordZneutron_admin_passwordZrabbit_passwordZ qpid_passwordZpowervm_mgr_passwdZvirtual_power_host_passZxenapi_connection_passwordpasswordZ host_passwordZ vnc_passwordZadmin_passwordZconnection_passwordZmemcache_secret_keyZ s3_secret_keyZmetadata_proxy_shared_secretZ fixed_keyZrbd_secret_uuid)Z connectionZsql_connectionZ transport_url|z(^\s*(z )\s*=\s*)(.*)z \1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z \1*********\6)joinr2)rZ protect_keysZconnection_keysZ join_con_keysr r rpostprocs  zOpenStackNova.postproc)__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersrrr&r0r/r2r6r r r rrsn rcs,eZdZdZdZdZdZfddZZS) DebianNovaZapache2F)z nova-api-ec2znova-api-metadataznova-api-os-computeznova-api-os-volumez nova-commonz nova-computeznova-compute-kvmznova-compute-lxcznova-compute-qemuznova-compute-umlznova-compute-xcpznova-compute-xenznova-xcp-pluginsznova-consoleauthz nova-networkznova-schedulerz nova-volumeZnovncz python-novaz python-novncz python3-novaznova-api.servicecst|ddgdS)Nz/etc/sudoers.d/nova_sudoersz,/usr/share/polkit-1/rules.d/60-libvirt.rules)superr/r%r __class__r rr/s  zDebianNova.setup) r7r8r9r&novapackagesrr/ __classcell__r r r=rr:s r:cs0eZdZdZdZdZddgZfddZZS) RedHatNovaZhttpdF)zopenstack-selinuxr/var/lib/openstack/config/novacsPt|gd|dr2|ddgn|ddg|dgdS)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-novncproxyrCz(/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;r/r%r$Zadd_forbidden_pathr<r=r rr/s  zRedHatNova.setup) r7r8r9r&r?r@r0r/rAr r r=rrBs rB) r r)Zsos.report.pluginsrrrrrr:rBr r r rs %