
    ~ g	                     N    S SK r S SKJrJrJr   " S S\5      r " S S\\5      rg)    N)PluginRedHatPlugin	PluginOptc                   X    \ rS rSrSrSrSr\" SSSS9\" S	SS
S9/r/ SQr	S r
SS jrSrg)OpenStackDatabase   zOpenstack Database Informationopenstack_database)	openstackopenstack_controllerdumpFzDump select databases)defaultdescdumpallzDump ALL databases)cinderglanceheatironickeystonemistralz(.*)?neutronznova.*c                 <   SS/nS nU H  nU R                  U5      nU(       d  M    O   U(       a  SU 3OS nU R                  SUSUS9  U R                  S5      (       d  U R                  S5      (       a'  U R                  US	9nS
U 3nU R                  USSUS9  g g )Nzgalera-bundle-.*mysqlclustercheck_clustercheck   )	containertimeoutsuggest_filenamer   r   r   zmysqldump --opt zmysql_dump.sqlr   )r   	sizelimitr   )get_container_by_nameadd_cmd_output
get_optionget_mysql_db_string)self_db_containerscnamer   fnamedb_dumpdb_cmds          G/usr/lib/python3/dist-packages/sos/report/plugins/openstack_database.pysetupOpenStackDatabase.setup'   s     

 'I..y9Eu (
 ,1-w'dNeR-2 	 	4 ??6""dooi&@&@...?G'y1F9I*+u   >	 'A    Nc                 .  ^ U R                  S5      (       a  g/ nU R                  SUS9nUS   R                  5        H:  m[        U4S jU R                   5       5      (       d  M)  UR                  T5        M<     SSR                  S	 U 5       5      -   $ )
z"Get mysql DB command to be dumped r   z--all-databaseszmysql -e "show databases;"r   outputc              3   R   >#    U  H  n[         R                  " TU5      v   M     g 7fN)rematch).0regdatabases     r*   	<genexpr>8OpenStackDatabase.get_mysql_db_string.<locals>.<genexpr>H   s     Ens288Hc**ns   $'z-B  c              3   $   #    U  H  ov   M     g 7fr1    )r4   ds     r*   r7   r8   K   s     37a7s   )r"   exec_cmd
splitlinesany	databasesappendjoin)r$   r   collectdbsr6   s       @r*   r#   %OpenStackDatabase.get_mysql_db_string?   s    ??9%%$mm8ImNH002HEdnnEEEx( 3 sxx373333r-   r;   r1   )__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesr   option_listr@   r+   r#   __static_attributes__r;   r-   r*   r   r      sE    1J&K4H 	&%.EF)U1EFK
	I>04r-   r   c                       \ rS rSrSrSrg)RedHatOpenStackDatabaseN   )zopenstack-selinuxr;   N)rF   rG   rH   rI   packagesrN   r;   r-   r*   rP   rP   N   s    &Hr-   rP   )r2   sos.report.pluginsr   r   r   r   rP   r;   r-   r*   <module>rT      s.    
 ? >:4 :4z'/ 'r-   