U
    id%                     @   s^   d dl mZmZmZmZmZ d dlZG dd deZG dd deeZG dd deeeZ	dS )	    )PluginRedHatPluginDebianPluginUbuntuPlugin	PluginOptNc                       s`   e Zd ZdZdZdZdZdZedde	dded	d
e	de deddddgZ
 fddZ  ZS )MysqlzMySQL and MariaDB RDBMSmysql)servicesz/etc/my.cnfz' (password visible in process listings)dbuserz%username for database dump collection)defaultZval_typedescdbpass z!password for data dump collectiondbdumpFzCollect a database dump)r   r   c                    s   t t|   | | jdddg | dr>| dddg n| dd	d
dg | drd}d| }| d}| d}dtjkrtjd }|dks|dkr| j	| d S |r|dkr| j	| d S |tjd< d| }d}| j
d| |d | 
d d S )Nz/etc/mysqlrouter/z/var/lib/mysql/grastate.datz/var/lib/mysql/gvwstate.datZall_logsz/var/log/mysql*z/var/log/mariadb*z/var/log/mysqlrouter/*z/var/log/mysqld.logz/var/log/mysql/mysqld.logz$/var/log/mysqlrouter/mysqlrouter.logz/var/log/mariadb/mariadb.logr   z0database user name and password must be suppliedzmysql.dbdump: %sr
   r   Z	MYSQL_PWDTFz--user=%s --all-databaseszmysqldump_--all-databaseszmysqldump %s)Zsuggest_filenamezdu -s /var/lib/mysql/*)superr   setupadd_copy_spec	mysql_cnfZ
get_optionosenvironZsoslogZwarningadd_cmd_output)selfmsgZ
dbdump_errr
   r   Zoptsname	__class__ :/usr/lib/python3/dist-packages/sos/report/plugins/mysql.pyr       sJ    






zMysql.setup)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   Zpw_warn_textr   strZoption_listr   __classcell__r   r   r   r   r      s   r   c                       s    e Zd ZdZ fddZ  ZS )RedHatMysql)zmysql-serverr   zmariadb-serverZmariadbzopenstack-selinuxc                    s$   t t|   | ddddg d S )Nz/etc/ld.so.conf.d/mysql-*.confz /etc/ld.so.conf.d/mariadb-*.confz/etc/my.cnf.d/*z:/var/lib/config-data/puppet-generated/mysql/etc/my.cnf.d/*)r   r#   r   r   r   r   r   r   r   b   s    zRedHatMysql.setupr   r   r    Zpackagesr   r"   r   r   r   r   r#   X   s   r#   c                       s    e Zd ZdZ fddZ  ZS )DebianMysql)zmysql-server.*zmysql-commonzmariadb-server.*zmariadb-commonz percona-xtradb-cluster-server-.*c              	      s4   t t|   | dddddddg | d d S )	Nz/etc/mysql/z/var/log/mysql/error.logz/var/lib/mysql/*.errz%/var/lib/percona-xtradb-cluster/*.errz,/var/lib/percona-xtradb-cluster/grastate.datz,/var/lib/percona-xtradb-cluster/gvwstate.datz0/var/lib/percona-xtradb-cluster/innobackup.*.logz'du -s /var/lib/percona-xtradb-cluster/*)r   r&   r   r   r   r$   r   r   r   r   v   s    	zDebianMysql.setupr%   r   r   r   r   r&   l   s   r&   )
Zsos.report.pluginsr   r   r   r   r   r   r   r#   r&   r   r   r   r   <module>	   s   J