3 ܓi@sZddlZddlmZmZmZmZGdddeZGdddeeeZGdddeeZdS) N)Plugin RedHatPlugin DebianPlugin UbuntuPluginc@s@eZdZdZdZdZdZdZdZdZ d d Z d d Z d dZ dS)OpenStackPlacementzOpenStack PlacementZopenstack_placement openstackopenstack_controller.*placement_apiz//var/lib/config-data/puppet-generated/placementzopenstack-placement-apiNc sd|jd}|j|js|rd}|r0d|jd}|jd|dddd d d)D}d d d*D}t|opt|s|jjdnf|j d}|ddkr|d}xF|j dd+D]2}|j ddddg}|jfdd |DqW|j dr|j dddd|jd gn|j d!d"d#d|jd$g|j d|jd|jd%|jd&|jd'|jd(gdS),Nz.*placement_apiz --config-dir z/etc/placement/zplacement-manage z db versionzplacement-manage_db_version)Zsuggest_filenamecSsg|]}|tjkqS)osenviron).0pr r )/usr/lib/python3.6/openstack_placement.py ,sz,OpenStackPlacement.setup.. OS_USERNAME OS_PASSWORDcSsg|]}|tjkqSr )r r )rrr r rr/sOS_TENANT_NAMEOS_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 listZstatusroutputZ inventoryZtraitZ aggregatecsg|]}d|dqS)zopenstack resource provider z list r )rZsub_cmd) res_providerr rrFsZall_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)rr)rr)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 )rrsetupsZ      zOpenStackPlacement.setupcCs&|jd|||j|jd||dS)z Apply regex substitution z/etc/placement/*N)Zdo_path_regex_subr)r"ZregexpZsubstr r rapply_regex_subcsz"OpenStackPlacement.apply_regex_subcCsRddddg}dddg}dj|}|jd dj|d d |jd |d d dS)NZpasswordZmemcache_secret_keyZ NOVA_API_PASSZPLACEMENT_PASSZdatabase_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)rr)r ) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersrrr!r$r%r(r r r rrsIrc@seZdZdZdZdS)DebianPlacementZapache2placement-common placement-apipython3-placementN)r-r.r/)r)r*r+r!packagesr r r rr,sr,c@seZdZdZdZdS)RedHatPlacementZhttpdopenstack-selinuxN)r2)r)r*r+r!r0r r r rr1sr1) r Zsos.report.pluginsrrrrrr,r1r r r r su