Sindbad~EG File Manager
3
�fT � @ sZ d dl Z d dlmZmZmZmZ G dd� de�ZG dd� deee�ZG dd� dee�ZdS ) � N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc @ s@ e Zd ZdZdZdZdZdZdZdZ d d
� Z
dd� Zd
d� ZdS )�OpenStackPlacementzOpenStack PlacementZopenstack_placement� openstack�openstack_controller�.*placement_apiz//var/lib/config-data/puppet-generated/placementzopenstack-placement-apiNc sd | j d�}| j| j�s|r�d}|r0d| j d }| jd| d dd� d d
� d)D �}d
d
� d*D �}t|�opt|�s�| jjd� nf| j d�}|d dkr�|d }xF|j
� dd+� D ]2}|j� d � dddg}| j� fdd
�|D �� q�W | jd��r| j
dddd| j� d �g� n| j
d!d"d#d| j� d$�g� | j
d| jd | jd% | jd& | jd' | jd( g� d S ),Nz.*placement_api� z
--config-dir z/etc/placement/zplacement-manage z db versionzplacement-manage_db_version)Zsuggest_filenamec S s g | ]}|t jk�qS � )�os�environ)�.0�pr r �)/usr/lib/python3.6/openstack_placement.py�
<listcomp>, s z,OpenStackPlacement.setup.<locals>.<listcomp>�OS_USERNAME�OS_PASSWORDc S s g | ]}|t jk�qS r )r r
)r r r r r r / 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.z openstack resource provider listZstatusr �output� � Z inventoryZtraitZ aggregatec s g | ]}d |� d� � ��qS )zopenstack resource provider z list r )r Zsub_cmd)�res_providerr r r F s Zall_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)r r )r r ���)Zcontainer_existsZis_service_running�service_name�var_puppet_genZadd_cmd_output�all�anyZsoslogZwarningZcollect_cmd_output�
splitlines�splitZ
get_optionZ
add_copy_spec� apachepkg) �selfZin_containerZplacement_configZvars_allZvars_any�resZresource_provider_listZproviderZsub_cmdsr )r r �setup sZ
zOpenStackPlacement.setupc C s&