3
ܓi @ s^ d dl Z d dlmZmZmZmZmZ G dd deZG dd deeeZG dd deeZ dS ) N)PluginRedHatPluginDebianPluginUbuntuPlugin PluginOptc @ sL e Zd ZdZdZdZeddddgZd Zd
Z dZ
dd
Zdd Zdd Z
d
S )OpenStackKeystonezOpenStack KeystoneZopenstack_keystone openstackopenstack_controllerZnopwTz!do not collect keystone passwords)defaultZdescz./var/lib/config-data/puppet-generated/keystoneN c
C s* | j dddd| jd | jd | jd | jd | jd | jd
| jd g | jdrn| j d
d| j dg n| j dd| j dg | jd}|d | _|d dks| j| j rd| _| j | j dd d$D }dd d%D }t|ot|s| j j
d n| jd | jd | jd!d"d# d S )&Nz'/etc/keystone/default_catalog.templatesz/etc/keystone/keystone.confz/etc/keystone/logging.confz/etc/keystone/policy.jsonz/etc/keystone/*.confz/etc/keystone/*.jsonz/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.confz/var/spool/cron/z/etc/my.cnf.d/tripleo.cnfZall_logsz/var/log/keystone/z /var/log/z*/keystone*z/var/log/keystone/*.logz*/keystone*.logzDcrudini --get /etc/keystone/keystone.conf identity domain_config_diroutputZstatusr z/etc/keystone/domainsc S s g | ]}|t jkqS )osenviron).0pr
r
(/usr/lib/python3.6/openstack_keystone.py
D s z+OpenStackKeystone.setup..OS_USERNAMEOS_PASSWORDc S s g | ]}|t jkqS r
)r r )r r r
r
r r G s OS_TENANT_NAMEOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.zopenstack endpoint listzopenstack catalog listZ
keystone_confZkeystone_log)z.*/etc/keystone/keystone.confz/var/log/keystone/keystone.log)r r )r r )
Z
add_copy_specvar_puppet_genZ
get_option apachepkgZcollect_cmd_outputdomain_config_dirZ
path_isdirallanyZsoslogZwarningZadd_cmd_outputZ
add_file_tags)selfZexec_outZvars_allZvars_anyr
r
r setup sJ
zOpenStackKeystone.setupc C s: | j d|| | j | jd || | j | jd || dS )z Apply regex substitution z/etc/keystone/*z/etc/httpd/conf.d/N)do_path_regex_subr )r ZregexpZsubstr
r
r apply_regex_subW s z!OpenStackKeystone.apply_regex_subc C sl ddddg}dg}dj |}| jddj | dd | jd| d
d | j| jddj | dd
d S )Nz(.*_)?passwordZadmin_tokenZ
transport_urlZOIDCClientSecretZ
connection|z(^\s*(z)\s*(=\s*)?)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6z
)\s*=\s*)(.*)z
\1********)joinr r r )r Zprotect_keysZconnection_keysZ
join_con_keysr
r
r postprocc s
zOpenStackKeystone.postproc)r r )__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr Zoption_listr r r r r r# r
r
r
r r s
8r c @ s e Zd ZdZdZdS )DebianKeystoneZapache2keystonepython-keystonepython3-keystoneN)r( r) r* )r$ r% r&