Sindbad~EG File Manager
3
�f� � @ s^ d dl Z d dlmZmZmZmZmZ G dd� de�ZG dd� deee�ZG dd� dee�Z dS ) � N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin� PluginOptc @ sL e Zd ZdZdZdZedddd�gZd Zd
Z dZ
dd
� Zdd� Zdd� Z
d
S )�OpenStackKeystonezOpenStack KeystoneZopenstack_keystone� openstack�openstack_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� | jd�rn| j d
d| j� d�g� n| j dd| j� d�g� | jd�}|d | _|d dks�| j| j� r�d| _| j | j� dd� d$D �}dd� d%D �}t|�o�t|��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_dir�outputZstatusr z/etc/keystone/domainsc S s g | ]}|t jk�qS � )�os�environ)�.0�pr
r
�(/usr/lib/python3.6/openstack_keystone.py�
<listcomp>D s z+OpenStackKeystone.setup.<locals>.<listcomp>�OS_USERNAME�OS_PASSWORDc S s g | ]}|t jk�qS r
)r r )r r r
r
r r G s �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.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_spec�var_puppet_genZ
get_option� apachepkgZcollect_cmd_output�domain_config_dirZ
path_isdir�all�anyZsoslogZwarningZadd_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 ddddddddd d
ddg}d
g}| j ddj|� d� | j ddj|� d� | j| jddj|� d� d S )NZpasswordZ
qpid_passwordZrabbit_passwordZssl_key_passwordZldap_dns_passwordZneutron_admin_passwordZ
host_passwordZadmin_passwordZadmin_tokenZca_passwordZ
transport_urlZOIDCClientSecretZ
connectionz(^\s*(%s)\s*(=\s*)?)(.*)�|z\1*********z)(^\s*(%s)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z
\1*********\6z(^\s*(%s)\s*=\s*)(.*)z
\1********)r �joinr r )r Zprotect_keysZconnection_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 )�DebianKeystoneZapache2�keystone�python-keystone�python3-keystoneN)r( r) r* )r$ r% r&