a >h@sZddlZddlmZmZmZmZGdddeZGdddeeeZGdddeeZdS) N)Plugin RedHatPlugin DebianPlugin UbuntuPluginc@s@eZdZdZdZdZdZdZdZdZ dd Z d d Z d d Z dS)OpenStackPlacementzOpenStack PlacementZopenstack_placement)Z openstackZopenstack_controller).*placement_apiz//var/lib/config-data/puppet-generated/placementzopenstack-placement-apiNc s^|d}||js|rd}|r0d|jd}|jd|dddd d d D}d d d D}t|rrt|s|jdn`| d}|ddkr|d}| ddD]0}| dgd}|fdd |Dq| dr | dddd|jdgn| ddd d|jd!g| d|jd|jd"|jd#|jd$|jd%gdS)&Nrz --config-dir z/etc/placement/zplacement-manage z db versionzplacement-manage_db_version)Zsuggest_filenamecSsg|]}|tjvqSosenviron.0pr r J/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_placement.py ,z,OpenStackPlacement.setup..)Z OS_USERNAMEZ OS_PASSWORDcSsg|]}|tjvqSr r r r r rr/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.z openstack resource provider liststatusroutput)Z inventoryZtraitZ aggregatecsg|]}d|dqS)zopenstack resource provider z list r )rZsub_cmdZ res_providerr rrEsZall_logsz/var/log/placement/z/var/log/containers/placement/z(/var/log/containers/httpd/placement-api/z /var/log/z */placement*z/var/log/placement/*.logz#/var/log/containers/placement/*.logz,/var/log/containers/httpd/placement-api/*logz*/placement*.logz/etc/my.cnf.d/tripleo.cnfz/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.conf)Zcontainer_existsZis_service_running service_namevar_puppet_genZadd_cmd_outputallanyZsoslogZwarningZcollect_cmd_output splitlinessplitZ get_optionZ add_copy_spec apachepkg) selfZ in_containerZplacement_configZvars_allZvars_anyresZresource_provider_listZproviderZsub_cmdsr rrsetups^        zOpenStackPlacement.setupcCs&|d||||jd||dS)z Apply regex substitution z/etc/placement/*N)Zdo_path_regex_subr)r Zregexpsubstr r rapply_regex_subcs z"OpenStackPlacement.apply_regex_subcCsLgd}gd}d|}|dd|dd|d|dddS) N)passwordZmemcache_secret_keyZ NOVA_API_PASSZPLACEMENT_PASS)Zdatabase_connectionZslave_connectionZ connection|z(^\s*(z )\s*=\s*)(.*)z \1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z \1*********\6)joinr$)r Z protect_keysZconnection_keysZ join_con_keysr r rpostprocks  zOpenStackPlacement.postproc) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersrrrr"r$r(r r r rrsIrc@seZdZdZdZdS)DebianPlacementZapache2)zplacement-commonz placement-apizpython3-placementNr)r*r+rZpackagesr r r rr,sr,c@seZdZdZdZdS)RedHatPlacementZhttpd)zopenstack-selinuxNr-r r r rr.sr.) r Zsos.report.pluginsrrrrrr,r.r r r r su