
    -_g,                     l    d dl Z d dlmZmZmZmZ  G d de      Z G d deee      Z G d dee      Zy)	    N)PluginRedHatPluginDebianPluginUbuntuPluginc                   .    e Zd ZdZdZdZdZd Zd Zd Z	y)	OpenStackNeutronzOpenStack Networkingopenstack_neutron)	openstackopenstack_controlleropenstack_computeopenstack_edpmz-/var/lib/config-data/puppet-generated/neutronc                 d   | j                  d      r| j                  dg       n| j                  dg       | j                  d| j                  dz   | j                  dz   | j                  dz   g       | j                  d       | j                  d       | j	                  dd	
       | j                  | j                        r| j                  }nd}| d}g }g d}	 t        |dd      5 }|j                         j                         D ]N  }|s|j                  d      }|d   j                         |v s-|j                  |d   j                                P 	 d d d        | j                  |       dD 	cg c]  }	|	t        j                  v  }
}	dD 	cg c]  }	|	t        j                  v  }}	t!        |
      rt#        |      s| j$                  j'                  d       nrg d}|D ]i  }| j)                  d| d      }|d   dk(  s!|d   }|j                         dd D ].  }|j                         d   }d| d | }| j+                  |       0 k | j-                  d!d"d#       y # 1 sw Y   xY w# t        $ r"}| j                  d| d|        Y d }~;d }~ww xY wc c}	w c c}	w )$Nall_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.ini)ovn_nb_private_keyovn_nb_certificateovn_nb_ca_certovn_sb_private_keyovn_sb_certificateovn_sb_ca_certrzUTF-8)encoding=r      zCould not open conf file z: )OS_USERNAMEOS_PASSWORD)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.)subnetportrouterznetwork agentnetwork	extensionzfloating ipzsecurity groupz
openstack z liststatusoutput   z show neutronml2_confneutron_server_log)z'.*/etc/neutron/plugins/ml2/ml2_conf.iniz/var/log/neutron/server.log)
get_optionadd_copy_specvar_puppet_genadd_forbidden_pathadd_dir_listingpath_existsopenread
splitlinessplitstripappendIOError
_log_errorosenvironallanysoslogwarningcollect_cmd_outputadd_cmd_outputadd_file_tags)selfml2_preml2_conf_file	ml2_certsml2_cert_keyscfilelinewordserrorpvars_allvars_anycmdscmdresneutron_itemsitemshow_cmds                     F/usr/lib/python3/dist-packages/sos/report/plugins/openstack_neutron.pysetupzOpenStackNeutron.setup   s   ??:&#   (   	/1"??"==	
 	 	./ 784ED//0))GG")#HI	

	)mS7; ;u!JJL335 ;D  JJsOEQx~~'=8!((q)9:;; 		*.2 3AO 3 3.9 :AO : : H#h-KK !K L	D  6--
3%u.EFx=A%$'MM - 8 8 :1R @ 6#zz|A%/uF4&#A++H566 	7H+?
 	[; ;  	)OO7 G  %w( ) )	)3:sC   I: ,AI-8$I-I: :J(J--I72I: :	J%J  J%c                 j    | j                  d||       | j                  | j                  dz   ||       y)z Apply regex substitution z/etc/neutron/*N)do_path_regex_subr-   )rB   regexpsubsts      rT   apply_regex_subz OpenStackNeutron.apply_regex_subt   s7    /?"22E	
    c                     g d}dg}dj                  |      }| j                  ddj                  |       dd       | j                  d| dd       y )	N)rabbit_passwordqpid_passwordnova_admin_passwordxenapi_connection_passwordpasswordserver_authadmin_passwordmetadata_proxy_shared_secreteapi_passwordcrd_passwordprimary_l3_host_password
serverauthucsm_passwordha_vrrp_auth_passwordssl_key_passwordnsx_passwordvcenter_passwordedge_appliance_passwordtenant_admin_passwordapic_passwordtransport_urlmemcache_secret_key
connection|z(^\s*(z)\s*=\s*)(.*)z\1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z\1*********\6)joinrZ   )rB   protect_keysconnection_keysjoin_con_keyss       rT   postproczOpenStackNeutron.postproc|   sg    	
 (.1chh|,-];	
 	m_$EF	
r[   N)
__name__
__module____qualname__
short_descplugin_nameprofilesr-   rU   rZ   ry    r[   rT   r   r      s,    'J%K7H ENYv

r[   r   c                   (     e Zd ZdZd Z fdZ xZS )DebianNeutron)neutron-commonzneutron-plugin-ciscoz neutron-plugin-linuxbridge-agentzneutron-plugin-nicirazneutron-plugin-openvswitchz neutron-plugin-openvswitch-agentzneutron-plugin-ryuzneutron-plugin-ryu-agentzneutron-serverzpython-neutronzpython3-neutronc                 $    | j                  d      S )Nr   )is_installed)rB   s    rT   check_enabledzDebianNeutron.check_enabled   s      !122r[   c                 D    t         |           | j                  d       y )Nz/etc/sudoers.d/neutron_sudoers)superrU   r,   rB   	__class__s    rT   rU   zDebianNeutron.setup   s    ;<r[   )rz   r{   r|   packagesr   rU   __classcell__r   s   @rT   r   r      s    H3= =r[   r   c                   &     e Zd ZdZdZ fdZ xZS )RedHatNeutron)zopenstack-selinuxz'/var/lib/config-data/ansible-generated/c                     t         |           | j                  d| j                  dz   | j                  dz   | j                  dz   g       y )Nz/etc/sudoers.d/neutron-rootwrapz/neutron-dhcp-agent/z/neutron-dhcp-ovn/z/neutron-sriov-agent/)r   rU   r,   var_ansible_genr   s    rT   rU   zRedHatNeutron.setup   sO    -  #99  #77  #::	
 	r[   )rz   r{   r|   r   r   rU   r   r   s   @rT   r   r      s    %H?O r[   r   )	r9   sos.report.pluginsr   r   r   r   r   r   r   r   r[   rT   <module>r      s?    
 O OB
v B
J=$lL =.$l r[   