File: //lib/python3.6/site-packages/sos/report/plugins/__pycache__/openstack_neutron.cpython-36.pyc
3
-�_g, � @ sZ d dl Z d dlmZmZmZmZ G dd� de�ZG dd� deee�ZG dd� dee�ZdS ) � N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc @ s4 e Zd ZdZdZdZdZdd � Zd
d� Zdd
� Z dS )�OpenStackNeutronzOpenStack NetworkingZopenstack_neutron� openstack�openstack_controller�openstack_compute�openstack_edpmz-/var/lib/config-data/puppet-generated/neutronc C s, | j d�r| jdg� n| jdg� | jd| jd | jd | jd g� | jd� | jd� | jdd d
� | j| j�r~| j}nd}|� d�}g }d
dddddg}yft|ddd��N}xF|j� j� D ]6}|s�q�|j d�}|d j
� |kr�|j|d j
� � q�W W d Q R X W n: tk
�r@ } z| j
d|� d|� �� W Y d d }~X nX | j|� dd� d4D �} dd� d5D �}
t| ��oxt|
��s�| jjd"� n�d#d$d%d&d'd(d)d*g}xx|D ]p}| jd+|� d,��}
|
d- dk�r�|
d. }x@|j� d/d6� D ],}|j � d }d+|� d0|� �}| j|� �q�W �q�W | jd1d2d3�� d S )7NZall_logsz/var/log/neutron/z/var/log/neutron/*.logz
/etc/neutron/z/etc/default/neutron-serverz/etc/my.cnf.d/tripleo.cnfz/var/lib/neutron/z/var/lib/neutron/lockT)� recursive� z%/etc/neutron/plugins/ml2/ml2_conf.iniZovn_nb_private_keyZovn_nb_certificateZovn_nb_ca_certZovn_sb_private_keyZovn_sb_certificateZovn_sb_ca_cert�rzUTF-8)�encoding�=r � zCould not open conf file z: c S s g | ]}|t jk�qS � )�os�environ)�.0�pr r �'/usr/lib/python3.6/openstack_neutron.py�
<listcomp>O s z*OpenStackNeutron.setup.<locals>.<listcomp>�OS_USERNAME�OS_PASSWORDc S s g | ]}|t jk�qS r )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.ZsubnetZportZrouterz
network agentZnetwork� extensionzfloating ipzsecurity groupz
openstack z listZstatus�output� z show Zneutronml2_confZneutron_server_log)z'.*/etc/neutron/plugins/ml2/ml2_conf.iniz/var/log/neutron/server.log)r r )r r ���)Z
get_option�
add_copy_spec�var_puppet_genZadd_forbidden_pathZadd_dir_listingZpath_exists�open�read�
splitlines�split�strip�append�IOErrorZ
_log_error�all�anyZsoslogZwarningZcollect_cmd_outputZadd_cmd_outputZ
add_file_tags)�selfZml2_preZ
ml2_conf_fileZ ml2_certsZ
ml2_cert_keys�cfile�lineZwords�errorZvars_allZvars_anyZcmds�cmd�resZ
neutron_items�itemZshow_cmdr r r �setup sx
$(
zOpenStackNeutron.setupc C s&